当ブログはでは、さくらのVPS + CentOS7 + PHP7 + MySQL5.6の環境でWordPressを運用しています。その以前は「さくらのレンタルサーバー」のデフォルト機能を使ってましたが表示速度があまり遅いので、環境を一新しました。いわゆる「サーバーのお引越し」です。
その「サーバーのお引越し」のためにその4の記事では、セキュリティを高めるためSSHの設定について説明しました。今回の記事ではサーバーのセキュリティを高めるために、SSHの設定について説明します。
ファイアウォールの設定
前回の記事でも説明しましたが、SSHの設定でポート番号を変更したため、ファイアウォールの機能を停止させました。SSH設定の作業が終了したあと、すぐに下記のファイアウォールの設定を行なってください。またファイアウォールの設定作業は、新しくターミナルウィンドウを立ち上げて作業を行なってください。
リモートサーバ側の操作
# systemctl start firewalld # systemctl enable firewalld Created symlink from /etc/systemd/system/multi-user.target.wants /firewalld.service to /usr/lib/systemd/system/firewalld.service.
ファイアウォールの再開とサービスの自動起動の設定をオンにします。するとCreated symlink from…という表示がされます。
# firewall-cmd --permanent --add-service=http success # firewall-cmd --permanent --add-service=https success # firewall-cmd --permanent --add-service=mysql success # firewall-cmd --permanent --add-port=YOURPORTNUMBER/tcp success
各通信形式、サービスで接続ができるポート番号を開放します。httpが80番ポート、httpsが443番ポート、MySQLが3306番ポートを使用します。また61109/tcpはSSH接続で使用するポート番号のことを指します。
# firewall-cmd --list-services --zone=public --permanent dhcpv6-client ssh http https mysql # systemctl restart firewalld
それぞれのポート番号の開放作業ができれば、設定の変更をします。すると変更された箇所が表示されます。その後ファイアウォールの再起動を行います。
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-client ssh http https mysql ports: YOURPORTNUMBER/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
現在のファイアウォール設定状況を確認すると、public (active)…以下の表示がされます。
クライアントPC側の操作
$ ssh -p YOURPORTNUMBER -i ~/.ssh/id_rsa_hoge yourusername@IP.ADD.RE.SS
ファイアウォールの設定変更をしたターミナルとは、別のターミナルを立ち上げて、上記のSSH接続を行います。作業用ユーザでリモートサーバーに接続が可能であれば、ファイアウォール設定作業が完了したことになります。
もし接続ができなければ、ファイアウォールの設定変更をしたターミナルで内容をもう一度確認してください。
すぐにファイアウォールの設定を!
しつこいようですが、SSHの設定変更が完了したらすぐにファイアウォールの設定を行なってください。ファイアウォールはネットワークからの不正なアクセスを阻止する仕組みです。ファイアウォールを停止状態のままにしておくことは、大変危険です。その4の記事と合わせてご確認いただければ幸いです。
次回の記事では簡略的なSSH接続についてご紹介いたします。