Security(Linux_FW)

インターネット上でLinuxサーバを構築した際に、セキュリティを高めるために、FWの設定について記載してみました。

FWのインストール

# yum -y install firewalld

FWのサービスを起動

# systemctl start firewalld

サーバを再起動しても、自動起動する設定

# systemctl enable firewalld

ここまで設定したら、再起動した方が無難です。

#reload

現在のゾーンの確認(デフォルトのゾーンの確認)

# firewall-cmd –get-default-zone
⇒publicになっていると思います。

ゾーンとは、ある程度分類されたFWの設定のテンプレートになります。各分類は下記のとおりです。
私としては、「block」で外部からアクセスされるのを防いで、許可するポート番号やサービスを編集するのが楽かなと思います。
  • drop  全てのパケットを破棄する。内部から外部へのパケットは許可されるが、返信されてきたパケットも破棄してしまうので実質的に通信不可となる。
  • block  外部からのパケットは基本的に破棄される。内部からの通信パケットの返信は許可されるようになっている。
  • public デフォルトでは「ssh」と「dhcpv6-client」のみ許可されている。
  • external デフォルトでは「ssh」のみ許可される。ipマスカレードが有効になる。
  • dmz デフォルトでは「ssh」のみ許可されている。
  • work デフォルトでは「dhcpv6-client」と「ipp-client」、「 ssh」が許可される。
  • home デフォルトでは「dhcpv6-client」と「ipp-client」と「mdns」と「samba-client」、「ssh」が許可される。
  • internal デフォルトでは「dhcpv6-client」と「ipp-client」と「mdns」と「samba-client」、「ssh」が許可される。
  • trusted 全てのパケットが許可される。


現状の設定の確認(各NICの設定されていた状態が分かります。)

# firewall-cmd –-list-all

デフォルトゾーンの設定をblockにする

# firewall-cmd –set-default-zone=block

デフォルト設定にした「block」に対して許可するサービスやPortを設定

# firewall-cmd –add-service=http –permanent (httpを許可)
# firewall-cmd –add-port=8000/tcp –permanent (port番号8000を許可)

設定後はFWの再起動

# firewall-cmd –reload

コメント

タイトルとURLをコピーしました