FlatKey.selinux
ansible-selinux-role
Permet de configurer SELinux.
Options de configuration :
- politique
- état
- booléens
- ports
- fcontexts
Exigences
Testé uniquement sur RHEL 7 et CentOS 7.
Ansible 2.0 ou version supérieure
Variables de rôle
Il n'est pas nécessaire d'utiliser tous ces blocs de variables, vous pouvez utiliser uniquement les options de configuration dont vous avez vraiment besoin.
Les variables suivantes sont utilisées pour configurer la politique et l'état de SELinux :
selinux_config : (optionnel, défaut : /etc/selinux/config)
selinux_policy : (optionnel, défaut : targeted)
selinux_state : (optionnel, uniquement les valeurs : enforcing|permissive|disabled, défaut : enforcing)
Les variables suivantes sont utilisées pour activer/désactiver les booléens de SELinux :
selinux_boolean :
nom_du_booléen_selinux :
état : (optionnel, uniquement les valeurs : yes|no, défaut : yes)
persistant : (optionnel, uniquement les valeurs : yes|no, défaut : yes)
Les variables suivantes sont utilisées pour configurer les ports SELinux :
selinux_ports :
nom_du_type_selinux :
ports : (requis, port ou plage de ports)
protocole : (optionnel, uniquement les valeurs : tcp|udp, défaut : tcp)
état : (optionnel, uniquement les valeurs : present|absent, défaut : present)
Les variables suivantes sont utilisées pour configurer les fcontexts SELinux :
selinux_fcontext :
nom_du_fcontext_selinux : (votre choix pour une meilleure documentation dans votre playbook)
file_spec : (requis, expression régulière pour décrire les fichiers concernés)
setype : (requis, type selinux existant pour étiquetter les fichiers de votre file_spec avec celui-ci)
ftype : (optionnel, uniquement les valeurs : a|b|c|d|f|l|p|s - voir la page de manuel semanage-fcontext pour le type de fichier, défaut : a - tous les fichiers)
état : (optionnel, uniquement les valeurs : present|absent, défaut : present)
Exemple de Playbook
- hosts: serveur
become: oui
become_user: root
become_method: su
roles:
- { role: ansible-selinux-role }
vars:
selinux_policy: "targeted"
selinux_state: "enforcing"
selinux_boolean:
antivirus_can_scan_system:
state: yes
persistent: yes
httpd_can_sendmail:
state: yes
persistent: yes
selinux_ports:
ssh_port_t:
ports: 2222
protocol: tcp
state: present
http_port_t:
ports: 9000-9004
protocol: tcp
state: present
selinux_fcontext:
vcloud_documentroot:
file_spec: "/srv/www(.*)"
setype: httpd_sys_rw_content_t
ftype: a
state: present
Licence
MIT