CentOS7が主流となっている昨今ですが、CentOS6と比較してセキュリティ部分に大きな変化がありました。デフォルトでfirewalldが採用されています。

注意)CentOS6で使われていたiptablesを引き続き使用したい場合は、firewalldを無効化してiptables-serviceをインストールして有効にする必要があります。

現状の確認

何はともあれ、現状の確認をしていきます。

デモ用に用意した、CentOS7の[firewalld]をチェックしていきましょう。

現状と、現在設定されているサービスをチェックしていきます。

現在設定されているサービスは、ここで確認できます。

publicゾーンにhttpとhttpsを許可する

Webサーバとhttpsサーバのサービスを常に許可する設定をしてみましょう。

常に許可する場合は、–permanentオプションを追加すればOKです。

httpサーバのサービスを常に許可する設定

httpsサーバのサービスを常に許可する設定

設定したサービスをリロードします。

ポートを開放する

利用するサービスに応じて任意のポートを解放していきます。

http・https

httpサーバ(80)とhttpsサーバ(443)のポートを解放しました。

有効な設定を確認します。

FTP

パシッブポートは、 1024/TCP以上の大きなレンジで任意の設定でOKです。

特定のIPからの接続を許可(ポート)

SSH用のゾーンを用意します。DBなどでリモート接続を許可する場合は、特定のネットワークだけに解放する必要があります。

これは、絶対に覚えておいて下さい。

リロードします。

リロードが終わったら、設定を以下のように行いましょう。

再度リロードします。

設定状況を確認します。

設定の反映をします。

参考:ルールの削除/ゾーンの削除/特定のIPからのアクセスの拒否

設定を削除する場合や、特定のIPアドレスからの接続を拒否したい場合は次の様に設定します。

ルールの削除

ルールの削除はadd(追加)をremoveに変更するだけです。

ゾーンの削除

作成したゾーンsshを削除してみます。

特定のIPからのアクセスを拒否する

こんな感じで、firewalldの設定ができます。

他にも色々ありますが、随時追加したり整理したりしていきます。