{"id":39749782,"url":"https://github.com/rolehippie/ferm","last_synced_at":"2026-01-18T11:24:43.812Z","repository":{"id":43188011,"uuid":"307623233","full_name":"rolehippie/ferm","owner":"rolehippie","description":"Ansible role to install and configure ferm firewall","archived":false,"fork":false,"pushed_at":"2026-01-12T09:38:36.000Z","size":259,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-12T18:01:36.304Z","etag":null,"topics":["ansible","ansible-role","hacktoberfest","role"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rolehippie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-27T07:45:54.000Z","updated_at":"2026-01-12T09:38:41.000Z","dependencies_parsed_at":"2023-02-12T02:46:27.231Z","dependency_job_id":"f1d1b4c8-2702-4f61-99a2-fafd419ffa55","html_url":"https://github.com/rolehippie/ferm","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/rolehippie/ferm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolehippie%2Fferm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolehippie%2Fferm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolehippie%2Fferm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolehippie%2Fferm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rolehippie","download_url":"https://codeload.github.com/rolehippie/ferm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolehippie%2Fferm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28535163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-role","hacktoberfest","role"],"created_at":"2026-01-18T11:24:43.748Z","updated_at":"2026-01-18T11:24:43.803Z","avatar_url":"https://github.com/rolehippie.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ferm\n\n[![Source Code](https://img.shields.io/badge/github-source%20code-blue?logo=github\u0026logoColor=white)](https://github.com/rolehippie/ferm)\n[![General Workflow](https://github.com/rolehippie/ferm/actions/workflows/general.yml/badge.svg)](https://github.com/rolehippie/ferm/actions/workflows/general.yml)\n[![Readme Workflow](https://github.com/rolehippie/ferm/actions/workflows/docs.yml/badge.svg)](https://github.com/rolehippie/ferm/actions/workflows/docs.yml)\n[![Galaxy Workflow](https://github.com/rolehippie/ferm/actions/workflows/galaxy.yml/badge.svg)](https://github.com/rolehippie/ferm/actions/workflows/galaxy.yml)\n[![License: Apache-2.0](https://img.shields.io/github/license/rolehippie/ferm)](https://github.com/rolehippie/ferm/blob/master/LICENSE)\n[![Ansible Role](https://img.shields.io/badge/role-rolehippie.ferm-blue)](https://galaxy.ansible.com/rolehippie/ferm)\n\nAnsible role to install and configure ferm firewall.\n\n## Sponsor\n\nBuilding and improving this Ansible role have been sponsored by my current and previous employers like **[Cloudpunks GmbH](https://cloudpunks.de)** and **[Proact Deutschland GmbH](https://www.proact.eu)**.\n\n## Table of contents\n\n- [Requirements](#requirements)\n- [Default Variables](#default-variables)\n  - [ferm_default_forward_policy](#ferm_default_forward_policy)\n  - [ferm_default_input_policy](#ferm_default_input_policy)\n  - [ferm_default_output_policy](#ferm_default_output_policy)\n  - [ferm_default_weight](#ferm_default_weight)\n  - [ferm_enabled](#ferm_enabled)\n  - [ferm_extra_hooks](#ferm_extra_hooks)\n  - [ferm_general_dirs](#ferm_general_dirs)\n  - [ferm_general_hooks](#ferm_general_hooks)\n  - [ferm_general_rules](#ferm_general_rules)\n  - [ferm_group_dirs](#ferm_group_dirs)\n  - [ferm_group_rules](#ferm_group_rules)\n  - [ferm_host_dirs](#ferm_host_dirs)\n  - [ferm_host_rules](#ferm_host_rules)\n  - [ferm_raw_rules](#ferm_raw_rules)\n- [Discovered Tags](#discovered-tags)\n- [Dependencies](#dependencies)\n- [License](#license)\n- [Author](#author)\n\n---\n\n## Requirements\n\n- Minimum Ansible version: `2.10`\n\n## Default Variables\n\n### ferm_default_forward_policy\n\nDefault policy for forward chain\n\n#### Default value\n\n```YAML\nferm_default_forward_policy: DROP\n```\n\n### ferm_default_input_policy\n\nDefault policy for input chain\n\n#### Default value\n\n```YAML\nferm_default_input_policy: DROP\n```\n\n### ferm_default_output_policy\n\nDefault policy for output chain\n\n#### Default value\n\n```YAML\nferm_default_output_policy: ACCEPT\n```\n\n### ferm_default_weight\n\nDefault weight for rule files\n\n#### Default value\n\n```YAML\nferm_default_weight: 50\n```\n\n### ferm_enabled\n\nGenerally enable or disable ferm\n\n#### Default value\n\n```YAML\nferm_enabled: true\n```\n\n### ferm_extra_hooks\n\nList of extra hook scripts\n\n#### Default value\n\n```YAML\nferm_extra_hooks: []\n```\n\n### ferm_general_dirs\n\nList of general directories for chains\n\n#### Default value\n\n```YAML\nferm_general_dirs:\n  - /etc/ferm/before.d\n  - /etc/ferm/ferm.d\n  - /etc/ferm/input.d\n  - /etc/ferm/output.d\n  - /etc/ferm/forward.d\n  - /etc/ferm/pre.d\n  - /etc/ferm/post.d\n  - /etc/ferm/flush.d\n```\n\n### ferm_general_hooks\n\nList of general hook scripts\n\n#### Default value\n\n```YAML\nferm_general_hooks: []\n```\n\n### ferm_general_rules\n\nList of general rule definitions\n\n#### Default value\n\n```YAML\nferm_general_rules:\n  - name: ssh\n    weight: 20\n    type: input\n    content: |\n      proto tcp dport ssh ACCEPT;\n```\n\n### ferm_group_dirs\n\nList of group directories for chains\n\n#### Default value\n\n```YAML\nferm_group_dirs: []\n```\n\n### ferm_group_rules\n\nList of group rule definitions\n\n#### Default value\n\n```YAML\nferm_group_rules: []\n```\n\n### ferm_host_dirs\n\nList of host directories for chains\n\n#### Default value\n\n```YAML\nferm_host_dirs: []\n```\n\n### ferm_host_rules\n\nList of host rule definitions\n\n#### Default value\n\n```YAML\nferm_host_rules: []\n```\n\n### ferm_raw_rules\n\nRaw rules applied with ferm\n\n#### Default value\n\n```YAML\nferm_raw_rules: |\n  @include before.d/;\n\n  domain (ip ip6) {\n    table filter {\n      chain INPUT {\n        policy {{ ferm_default_input_policy }};\n\n        mod state state INVALID DROP;\n        mod state state (ESTABLISHED RELATED) ACCEPT;\n\n        interface lo ACCEPT;\n        proto icmp ACCEPT;\n\n        @include input.d/;\n      }\n\n      chain FORWARD {\n        policy {{ ferm_default_forward_policy }};\n\n        mod state state INVALID DROP;\n        mod state state (ESTABLISHED RELATED) ACCEPT;\n\n        @include forward.d/;\n      }\n\n      chain OUTPUT {\n        policy {{ ferm_default_output_policy }};\n        @include output.d/;\n      }\n    }\n  }\n\n  @include ferm.d/;\n```\n\n## Discovered Tags\n\n**_ferm_**\n\n## Dependencies\n\n- None\n\n## License\n\nApache-2.0\n\n## Author\n\n[Thomas Boerger](https://github.com/tboerger)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolehippie%2Fferm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frolehippie%2Fferm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolehippie%2Fferm/lists"}