AdobeStock_290791443.jpg
2020.01.02

ConoHa VPSのfirewallを設定する

前回SSH接続の22番ポートを閉じて新しいポートを割り当てたので、次はfirewall周りの設定をしていきます。

まずはfirewallの設定を確認する。

まずは現在のfirewallの設定をみてみます。

初期状態だとfirewallはオフになっているのですが、firewallを有効にすると一時的にSSH接続ができなくなります。

なのでここからの作業はConoHaのサーバー管理画面のコンソールを使って作業を進めます。

コンソールを起動させてrootでログインします。

ログインが完了したら下記のコマンドでfirewallの設定を確認します。

# firewall-cmd --list-all

初期状態だと「FirewallD is not running」というメッセージが出てくると思います。

firewallを有効にする

firewallを有効にします。

# systemctl start firewalld.service

firewallを有効にしたらサーバー起動時に自動でfirewallが立ち上がるようにします。

# systemctl enable firewalld.service

firewallの設定をしていく

次にfirewallの設定をしていきます。

今回メールサーバーはConoHa以外のサーバーを利用するのでConoHaサーバーの方で使うのはSSHとHTTP、HTTPSのみなのでこれらを有効にしてあとの通信は閉じてしまいます。

ConoHaのマニュアルに主な通信とポート番号がありますので一応書いておきます。

ファイアウォールの設定をしてセキュリティを強化しよう

https://support.conoha.jp/v/hellovps-ex-01/?btn_id=v-hellovps-w-01-sidebar_v-hellovps-ex-01

ConoHa VPSサポート
  • SSH 22番ポート
  • HTTP 80番ポート
  • HTTPS 443番ポート
  • POP3 110番ポート
  • IMAP 143番ポート
  • SMTP 25番ポート

追記:ConoHaのVPSではKUSANAGI環境を簡単に管理できるKUSANAGI managerというサービスがあり、それを使う場合は60000番ポートの通信も有効化する必要があります。

SSHの通信を有効化

SSHの通信を有効化

# firewall-cmd --remove-service=ssh

SSHの通信をVPSを再起動時に自動で行われるようにします。

# firewall-cmd --permanent --zone=public --remove-service=ssh

前回SSHでの接続のポート番号を変えたので指定したポートを開ける。
例ではポート番号を45678にしました。

# firewall-cmd --add-port=45678/tcp

こちらも再起動時に自動化

# firewall-cmd --permanent --add-port=45678/tcp

追記

KUSANAGI managerを使う場合は60000番ポートも開けます。

# firewall-cmd --add-port=60000/tcp

自動化します。

# firewall-cmd --permanent --add-port=60000/tcp

HTTPとHTTPSの通信を有効化

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https

firewallを再起動して設定を反映させる。

firewallを再起動します。

# firewall-cmd --reload

firewallの設定がちゃんと反映されているか確認します。

# firewall-cmd --list-all

serviceとportの行を確認して、SSH、HTTP、HTTPSが許可されていることと、45678のポートが開いていることを確認してください。

問題なければlogoutしてコンソールを閉じます。

まとめ

ここまででSSHのポート番号の変更とfirewallの設定まで完了しました。

次はSSH、SFTPのパスワードログインを禁止し、鍵をもっていないとサーバーに接続できないようにしていきます。