ファイアーウォール

素のcentosならセキュリティホールだらけですのでさくらのVPSサーバへアクセス制限をかけていくことでリスクを軽減していきます。

※以降は全てputtyなどでssh接続をしたコマンドプロンプト(CUI)での作業になります。

viエディタコマンドについては簡易コマンド一覧を作成しましたのでご参照ください。

注意)本作業が終了するまでrootになっているターミナル(CUI)を閉じないでください。
あるいは保険の意味でもう一画面ターミナル(CUI)を起動させてrootになっておいてください。

以下の作業は全てrootユーザにて行ってください。

ssh接続制限

現状ではrootユーザ、作業ユーザ問わずputtyなどのターミナル(CUI)でsshログインができてしまいます。このままだとrootパスワードの奪取もしやすく危険な為、sshに対する各種制限をかけていきます。

コマンド vi /etc/ssh/sshd_config

viエディタがひらきますので
下記行の先頭#を削除しポート番号も変更します。
ssh接続のデフォルトポートは22番となっていますので変更してしまうことでサーバへのアタックが予防につながります。
※ポート番号は1024までは使用せず、10000番代から最大で65535でで指定してください。

変更前 #Port 22
変更後 Port 1xxxxxx ←お好きな数字で

次に行の先頭#を削除しyesをnoに変更します
これでrootでのsshログインが禁止になります。

変更前 #PermitRootLogin yes
変更後 PermitRootLogin no

上記作業が終わったら上書き保存を行い下記コマンドで設定を反映させます。

コマンド /etc/rc.d/init.d/sshd reload

以後はrootでのsshログインは不可能になっていますので追加した作業用ユーザにてログインすることになります。
その後は適宜suコマンドにてrootになります。
同様に従来のssh接続ポートが指定したポートへ変更されていますのでputtyなどの設定も変更しましょう。

※この時点で、万が一設定を待ちがえていたらログインができなくなりますので、あらたにCUIを立ち上げてログインができることを確認しておきます。

ipV6の停止

セキュリティの基本は利用しないものは全てブロックしてしまうことです。ipv6を使う予定がない場合(通常はないと思います)はサービスそのものを停止しておきます。

IPv6ファイアーウォールを停止
コマンド /etc/rc.d/init.d/ip6tables stop

IPv6ファイアーウォール自動起動を停止
コマンド chkconfig ip6tables off

IPv6を無効
コマンド echo “install ipv6 /bin/true” >> /etc/modprobe.d/disable-ipv6.conf

iptables設定

サーバセキュリティの肝でもあるファイアーウォール(iptables)を設定していきます。
といっても本気で設定しだすとかなり大変なことになりますので設定ファイルを用意してありますのでリンク先からコピーして適宜編集してください。

rootの作業ディレクトリに移動
コマンド cd ~
コマンド vi autoiptables.sh

エディタが開くのでリンクのテキストをコピーして貼り付け後
以下の行を検索して現在のポート番号に変更してください。
※間違えると接続できなくなります。
# TCP22番ポート(SSH)ポート指定(要編集)

autoiptables.shリンク

編集が終了したら上書き保存
次に各関数定義であるファイルを作成します。
コマンド vi autoiptables_functions

エディタが開くのでリンクのテキストをコピーして貼り付けて保存
autoiptables_functionsリンク

次にIPアドレスリストチェックファイルを作成します。
コマンド vi /etc/cron.daily/iplist_check.sh

エディタが開くのでリンクのテキストをコピーして貼り付けて保存
iplist_checkリンク

編集が終了したら実行権限を付与してあげます。

コマンド chmod +x /etc/cron.daily/iplist_check.sh

これでIPアドレスのチェックがcronで毎日実行されるようになります。

ここまで完了したら
autoiptables.shにも実行権限を付与したのち実行することでiptablesが設定されます。

コマンド chmod 755 autoiptables.sh
コマンド ./autoiptables.sh

確認の為、別CUIを立ち上げてログインできるか確認してください。
万が一できない場合は、以下コマンドでiptablesを停止後再編集してください。
※尚、ftpの設定をしていない場合にはこの時点にてscpでしかファイルコピーができなくなります。scpのポートと接続ユーザはsshと同じになります。

コマンド service iptables stop

確認終了後、サーバの再起動時にも自動で設定されるように設定します。

コマンド chkconfig iptables on







« | »