ITメモ
CentOS / セントオーエス




【CentOS】「SSH」のファイアーウォール設定

【CentOS】
「SSH」のファイアーウォール設定




「PC」や「サーバー」などの端末を不正なアクセスなどから守ってくれている「ファイアーウォール」。
「ファイヤーウォール」の知識や設定は、重要です。








「ファイヤーウォール」とは


「ファイアウォール(Firewall)」は、
不正なアクセスから守るための「防火壁」を意味していますが、
基本的には、プログラムのことで、ネットワーク上で、
・Web経由での内部ネットワークへの侵入を阻止
・内部データの「盗聴」「改ざん」「攻撃」
などのような攻撃から、 情報などを守るためのセキュリティシステムとして使われています。
外部からの侵入を監視し、不正アクセスから守ってくれいています。



「ファイアウォール(Firewall)」は、 送信されてくる「パケット(データの塊)=情報」について、 接続を許可するかどうかの判断をしている。

不正アクセスなどを検知すると、 管理者に通報されるなど、 高いセキュリティを維持できるように、 色々な付加機能がある。


情報を通過させるかどうかの仕組みを「フィルタリング」といい、
・パケットフィルタリング
・アプリケーションレベルゲートウェイ
・サーキットゲートウェイ型
という仕組みが「フィルタリング」にある。



「パケットフィルタリング」は、
パケットの先頭にあるヘッダを解析して、通過させるかの判断をするフィルタリング。


「アプリケーションレベルゲートウェイ」は、
アプリケーション単位で制御が可能なフィルタリングで、 「プロキシサーバー」と呼ばれるサーバーが「アプリケーションレベルゲートウェイ」にあたる。
「プロキシ」は、「代理」という意味があり、
外部ネットワークにアクセスする際に、「プロキシサーバー」が中継し、 ネットワークとの交信をします。
「パケットフィルタリング」より、詳細かつ強力にアクセス制御ができ、 不正アクセスをブロックすることが可能。


「サーキットゲートウェイ型」は、 「トランスポート層」レベルの通信を「監視」「制御」するフィルタリング。
「コネクション」単位の制御も可能で、「パケットフィルタリング」よりも「設定」「管理」が簡単。
「コネクション」単位で、通信の可否を判断するので、送信者(送信元IPアドレス)の偽装する「IPスプーリング」などから防御してくれる。
パケットフィルタリングでは、送信元でのフィルタリングができないため、互いを保管しあっている。
コネクション単位での監視なので、どのアプリケーションプロトコルでも、汎用的に使用できるのも良いところ。


Back





「firewalld」でのファイヤーウォール設定


「firewalld」では、デフォルトで、「SSH」サービスが、「Public」ゾーンで利用できるようになっているので、特に変更する必要はない。
現在のゾーンや、利用可能なサービスの確認方法は、下記を参照。


「firewalld」の有効化systemctl enable firewalld
「firewalld」の起動systemctl start firewalld
firewalldコマンドでゾーン情報を確認firewall-cmd --list-all
デフォルトゾーンの確認 firewall-cmd --get-default-zone
デフォルトゾーンの変更 firewall-cmd --set-default-zone=external
定義されているサービス一覧 firewall-cmd --get-services
publicのサービス確認 firewall-cmd --list-service --zone=public
サービスを追加する firewall-cmd --add-service=http --zone=public
恒久的にサービスを追加する firewall-cmd --add-service=http --zone=public --permanent
サービスを削除する firewall-cmd --remove-service=dhcpv6-client --zone=public
firewalldコマンドのデフォルトゾーン情報を確認するfirewall-cmd --list-all
「firewalld」を再起動 firewall-cmd --reload


Back





「iptables」でのファイヤーウォール設定


「iptables」の詳細は、下記の詳細ベージを参照。


「iptables」設定ファイル
vi /etc/sysconfig/iptables


SSHのポート22を解放するための「iptables」の追加項目
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT


設定ファイルの更新
service iptables restart


Back