下記記事はF-RevoCrm6.5バージョンでの環境構築手順になります。最新情報はF-Revo7.3ソースコードインストール時のファイル内にございます「README.md」を参考にしてください。
こんにちは! シンキングリード株式会社のエンジニア見習い、小久保です。
前回の記事に引き続き、さくらVPSの構築作業を進めていきます。今回は、セキュリティの強化と、ファイアウォールの設定を行ないます。
作成した作業用ユーザーにroot権限を持たせることができました。セキュリティのためrootユーザーでのログインを無効化します。
長大なファイルの中から、目で追って文字列を探すのが大変なときは、Vimの検索機能 を使いましょう。半角スラッシュ に続けて 探したい文字列 を入れると、該当箇所を探し出してくれます。
$ vim /etc/ssh/sshd_config
# ファイル内から PermitRootLogin を検索
/PermitRootLogin
# 該当箇所が見つかったら書き換えて保存
PermitRootLogin no
設定を有効化するため sshdを再起動します。
$ service sshd restart
PuTTYをいったん閉じて、再度ログインしてみましょう。root ユーザーでログインを試みるとエラーが出るはずです。かわりに frevouser でログインします。
ここからの作業では、コマンドの最初に sudo という文字を追加してください。これは権限の弱いユーザーでも一時的にroot権限で編集可能になるコマンドです。
SSHのポート番号は 22 がデフォルトですが、よく使われるため攻撃を受けやすい番号です。今回は 52222 に変更して、セキュリティを向上させましょう。コマンドの最初に必ず sudo を付けてください。パスワードを訊かれますので frevouser のパスワードを入力します。
$ sudo vim /etc/ssh/sshd_config
#Port 22
Port 52222
コメントを外して、ポート番号を変更すれば完了です。
SSHのセキュリティを向上させる方策としては、パスワード認証のかわりに公開鍵認証の利用がよく行われています。今回は割愛しますが、なるべく設定しておくと良いでしょう。
ファイアウォールの設定をします。SSHやHTTPなど、必要最低限の通信だけを許可しておきましょう。
$ sudo vim /etc/sysconfig/iptables
以下の設定をすべてコピー&ペーストしてください。PuTTYをお使いの場合は、画面上で右クリックすると、コピーした文字列をペーストできます。
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 52222 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
保存できたら、以下のコマンドを入力して iptables を再起動します。
$ sudo service iptables restart
通常使う IPv4 のiptablesについては設定完了しました。さくらVPSではデフォルトで IPv6 も有効になっていますが、こちらは設定せずに、すべて無効化しておきます。
まずは IPv6 の無効化です。以下の内容を追記してください。
$ sudo vim /etc/modprobe.d/disable-ipv6.conf
options ipv6 disable=1
続けて ip6tables も無効化しましょう。
$ sudo service ip6tables stop
$ sudo chkconfig ip6tables off
Postfix のIPv6も無効化しておきます。
$ sudo vim /etc/postfix/main.cf
# inet_protocols = all
inet_protocols = ipv4
$ sudo service postfix restart
以上で、LAMP環境(Linux, Apache, PHP, MySQL)のうち、Linuxの設定は完了しました。次回はApacheをインストールしてWebサーバーを立ち上げてみましょう。