Consultant o Helps USG and commercial customers respond to difficult IT security challenges JUSTIN NEMMERS // ANSIBLE GOVERNMENT [email protected] o IT architect and (recovering) sysadmin o 15 years of USG experience o Wrote first STIG Kickstarts w/ DISA for RHEL 3 and 4
consistently meet stringent security requirements o Well-versed in Ansible ANSIBLE o Simplest way to automate IT o Fastest growing IT automation platform o Simple, agentless, powerful
OpenSSH /No extra code to manage /Ready for cloud-scale /Uses YAML for playbooks /No special coding skills needed /Fast learning curve /App deployment /Orchestration /Configuration management /Role-Based Access Control /Delegation of credentials/keys /Audit trail for automation /Centralized job runs /Job scheduling /Automation dashboard /Push-button job execution /Portal mode for delegation /REST API for integration Ansible Open Source Ansibl e Tower
multi-tier deployments, including: o Configuration management o App deployment o Provisioning o Servers & network devices o Cloud management & VMs o Zero-downtime rolling upgrades o Ad-hoc patches & updates
first “infrastructure-as-code” that can be read and written across IT… from sys-admins to developers to managers o Ansible is the only automation engine that can automate the entire application lifecycle & continuous delivery pipeline DEV/TES T Q/A OPERATIONS MANAGEMENT INFRASTRUCTURE Ansible Playbook From development… to production.
error prone o Inconsistent, relies on staff’s capability o No ongoing remediation or validation SEMI-AUTOMATION o Shell scripts, other tooling o Brittle. Changes really, really hurt o No ongoing remediation or compliance validation
Findings - name: V-38653 High The snmpd service must not use a default password replace: backup=yes dest=/etc/snmp/snmpd.conf regexp=(^com2sec. *default\s+)public replace=\1{{ rhel6stig_snmp_community }} ignore_errors: yes when: snmpconf_test.stat.exists notify: restart snmpd tags: [ 'cat1' , 'V-38653' , 'snmp' ] - name: V-38491 High There must be no hosts.equiv file on the system file: state=absent dest=/etc/hosts.equiv tags: [ 'cat1' , 'V-38491' , 'hosts_equiv' ] - name: V-38491 High There must be no .rhosts files on the system file: state=absent dest=~{{ item }}/.rhosts with_items: users.stdout_lines tags: [ 'cat1' , 'V-38491' , 'rhosts' ]
THAT NEEDS FIXING? o Let us know, and help fix it! NEED HELP? o Paying customer? [email protected] o MindPoint Group Services o groups.google.com/forum/#!forum/ansible- project