{"id":2548,"date":"2020-08-03T07:00:00","date_gmt":"2020-08-03T05:00:00","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=2548"},"modified":"2021-02-20T13:33:11","modified_gmt":"2021-02-20T12:33:11","slug":"konfiguration-der-host-firewall-mit-ansible","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/konfiguration-der-host-firewall-mit-ansible\/","title":{"rendered":"Konfiguration der Host-Firewall mit Ansible"},"content":{"rendered":"\n<p>In diesem kurzen Beitrag m\u00f6chte ich euch zeigen, wie man mit Hilfe von Ansible die Host-Firewall (<a rel=\"noreferrer noopener\" href=\"https:\/\/firewalld.org\/\" target=\"_blank\">firewalld<\/a>) konfigurieren kann. Dies ist z.B. dann n\u00fctzlich, wenn man die identische Konfiguration auf mehreren Hosts ausbringen m\u00f6chte.<\/p>\n\n\n\n<p>Bevor es an die Freigabe spezifischer Ports und Services in der Host-Firewall geht, wird zuerst sichergestellt, dass der Dienst <em>firewalld<\/em> installiert, aktiviert und gestartet ist. Dazu dienen die Ansible-Module <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/yum_module.html\" target=\"_blank\">yum<\/a> und <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/service_module.html\" target=\"_blank\">service<\/a>. Folgendes Playbook zeigt beispielhaft, wie diese genutzt werden k\u00f6nnen, um vorstehende Anforderungen zu erf\u00fcllen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n# Install, activate and start firewalld\n\n- hosts: foo.example.com\n  tasks:\n  - name: Make sure firewalld is installed\n    yum:\n      name: firewalld\n      state: latest\n\n  - name: Activate and start firewalld service\n    service:\n      name: firewalld\n      enabled: yes\n      status: started<\/code><\/pre>\n\n\n\n<p>Bei Verwendung einer auf Debian basierenden Distribution ist statt yum das Modul <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/apt_module.html\" target=\"_blank\">apt<\/a> zu verwenden.<\/p>\n\n\n\n<p>Um jetzt z.B. die Services HTTP und HTTPS in der lokalen Host-Firewall freizugeben, kann obiges Playbook um die folgenden Abschnitte, unter Verwendung des Ansible-Moduls <a href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/firewalld_module.html\" target=\"_blank\" rel=\"noreferrer noopener\">firewalld<\/a>, erg\u00e4nzt werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;...]\n  - name: Enable immediate and permanent access to HTTP\n    firewalld:\n      service: http\n      permanent: yes\n      immediate: yes\n      state: enabled\n\n  - name: Enable immediate and permanent access to HTTPS\n    firewalld:\n      service: https\n      permanent: yes\n      immediate: yes\n      state: enabled<\/code><\/pre>\n\n\n\n<p>Aktuell ist es leider noch nicht m\u00f6glich dem Parameter &#8217;service&#8216; eine Liste zu \u00fcbergeben. Auf GitHub existiert jedoch bereits ein <a href=\"https:\/\/github.com\/ansible\/ansible\/issues\/66449\">RFE<\/a> f\u00fcr diese Funktion.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem kurzen Beitrag m\u00f6chte ich euch zeigen, wie man mit Hilfe von Ansible die Host-Firewall (firewalld) konfigurieren kann. Dies ist z.B. dann n\u00fctzlich, wenn man die identische Konfiguration auf mehreren Hosts ausbringen m\u00f6chte. Bevor es an die Freigabe spezifischer Ports und Services in der Host-Firewall geht, wird zuerst sichergestellt, dass der Dienst firewalld installiert,<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/konfiguration-der-host-firewall-mit-ansible\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[532],"tags":[410,588,430,305,589],"class_list":["post-2548","post","type-post","status-publish","format-standard","hentry","category-ansible","tag-ansible","tag-firewalld","tag-osbn","tag-planet","tag-service"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=2548"}],"version-history":[{"count":7,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2548\/revisions"}],"predecessor-version":[{"id":2782,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2548\/revisions\/2782"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=2548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=2548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=2548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}