
私は、firewalld に相当するものを探していますufw default deny
。新しいサーバーに SSH 経由でログインした後、システムを更新して保護する時間を確保するために、すべての新しい着信接続をブロックしたいというのが私の考えです。私は、firewalld 付きの CentOS7 を使用しています。
答え1
このことからserverfault 投稿この高いレベルでのトラフィック制限は「豊富な」ルールが必要。
すべての IPv4 トラフィックをドロップするデフォルト ゾーンで実行されるリッチ ルールを実装するには、次の手順を実行します。
firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
--add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 drop'
これはufw default deny
動作をエミュレートします。代わりに ICMP 拒否メッセージを送信するには、drop
を に変更しますreject
。上記のルールは IPv4 に固有のものです。IPv6 の場合は、以下を使用します。
firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
--add-rich-rule='rule family=ipv6 source address=::/0 drop'
調査してみると、iptablesにエントリが追加され、後「RELATED および ESTABLISHED」接続を受け入れるように設定することで、既存の ssh セッションが中断されることはありません。私のテストでは、結果として得られる iptables の「チェーン」は次のようになります (デフォルト ゾーンが「public」の場合)。
INPUT -> INPUT_ZONES -> IN_public -> IN_public_deny
更新の一環として再起動することが予想される場合は、--permanent
フラグを追加します。
更新の一環として再起動する予定がない場合は、 フラグを使用できます。このフラグは、それぞれ「5 秒」、「10 分」、「15 時間」を表す 、 、--timeout
などの値を受け入れます。このようなルールは、タイムアウト期間が経過すると削除されます。5s
10m
15h
追加したルールを削除する場合は、firewall-cmd
前と同じように実行しますが、IPv4 の例では ;--add-rich-rule
に置き換えます。--remove-rich-rule
firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
--remove-rich-rule='rule family=ipv4 source address=0.0.0.0/0 accept'
参照:http://www.firewalld.org/documentation/man-pages/firewalld.richlanguage.html