IMPOV::In My Point Of View

仕事、SEO、ウェブマーケティング、時事問題、健康、生き方などなど、書きたいことを勝手に書き倒しているブログです。とどのつまり「便所の落書き」

Firewalld を念の為に設定 - ConoHa で KUSANAGI その5

f:id:impov:20160529193552p:plain:w200:right

前回の記事でインフラ側の Firewall を設定したので、最低限のセキュリティは確保でき一安心といったところですが、人間いろいろと間違いはあるもの。

ついつい手が滑って?サーバー側の Firewalld を起動させてしまうと、SSH ログインができなくなってしまいます。

というわけで、Firewalld は起動させないものの設定だけはしておくことにします。

Firewalld の登録状況の確認

CentOS は 7 になってからシステム管理が systemd になったので、デーモンの起動状況等を確認するには、systemctl コマンドを使用します。

まずは、起動時設定の確認をしておきます。

systemctl list-unit-files |grep firewalld

    firewalld.service                           disabled

このように disabled と表示されていれば、サーバー起動時に自動実行されません。

もし、enabled となっていたら、以下のコマンドを打って自動実行をしないように変更します。

systemctl disable firewalld.service

Firewalld の設定

以前のバージョンまでと違って、CentOS 7 では Firewall の設定がかなり直感的にできるようになりました。

簡単な設定なら予め登録されているサービスを選択するだけで設定を行うことができます。さよなら iptables です。

とりあえずデーモンを起動して、変更したSSHポートを開いておきましょう。

systemctl start firewalld.service #デーモンの起動
firewall-cmd --add-port=55555/tcp #ポートの開放
firewall-cmd --permanent --add-port=55555/tcp #再起動時にもポートを開放する

サービスとポートの確認と追加

以下のコマンドで現在適用されているサービスと開放されているポートの確認ができます。

firewall-cmd --list-services #適用されているサービスの確認
     dhcpv6-client ssh

firewall-cmd --list-ports #個別に開放されているポートの確認
     55555/tcp

デフォルトでは http と https が適用されていませんので、これを追加します。

また ssh は削除しておきます。

#サービスの追加
firewall-cmd --add-service=http
firewall-cmd --add-service=https

#サービスの削除
firewall-cmd --remove-service=ssh

#再起動時にも設定が適用されるように登録
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --remove-service=ssh

再起動して確認

一応、デーモンを再起動して状態を確認してみましょう。

systemctl restart firewalld.service #再起動

firewall-cmd --list-services #適用されているサービスの確認
     dhcpv6-client http https

firewall-cmd --list-ports #個別に開放されているポートの確認
     55555/tcp

最後に、FirewallD をストップしておきます。

systemctl stop firewalld.service

Firewalld を動かしておいてもいいんですけど、インフラ側で設定してるので冗長になりますし止めておいて問題ないでしょう。

次回は、ユーティリティのインストールと設定です。