securCom.nftables
nftables 管理
この役割は nftables を管理します。
一般的な nftables テンプレートを書くのは非常に難しいため、この役割は ユーザー定義 の nftables 設定スニペットをサーバーに移動し、それを実行するだけです。nftables の構文を理解する必要があります。
要件
- ansible: 2.4
役割の変数
OS ベースの変数
いくつかの変数は OS に基づいています。これらの変数は vars/os-<OS>.yml
ファイルにあります。
一般変数
nftables_dir
: nftables 設定ディレクトリ、デフォルトは /etc/nftablesnftables_service_state
: ferm を起動するかどうかnftables_service_enabled
: ferm を起動時シーケンスで有効にするかどうか
ファイアウォールルール
nftables_rules_directory
: ファイアウォールルールファイルを探す場所、デフォルトはプレイブックテンプレートディレクトリnftables_families
: ルールを生成する IP バージョン、デフォルトは IPv4 と IPv6nftables_rules
: 適用するルールのリスト。デフォルトは SSH と ICMP のみを許可、templates/rules ディレクトリにサンプルルールあり
この役割は、ルールを生成するためにテンプレーティングエンジンを使用しています。ルールを書く作業はまだあなたにかかっていますが、あなたには完全に コントロール があります。
例
ホスト/グループ変数
nftables_rules_directory: {{ playbook_dir }}/files/nftables
nftables_rules:
- default_rules
- connection_tracking
- input_icmp
- management
この場合、次のファイルを作成する必要があります。
{{ playbook_dir }}/files/nftables/rules/default_rules.conf.j2
{{ playbook_dir }}/files/nftables/rules/connection_tracking.conf.j2
...
各グループやサーバーに応じて、group_var または host_vars で nftables_rules
を書き換える必要があります。
プレイブック
- hosts: ferm
roles:
- securcom.nftables
依存関係
なし
ライセンス
BSD
著者情報
ピーター・フデック (@hudecof)