素人がWordPress環境を構築してみる。その005

素人がブログをはじめてみようとふと思い立ち、Wordpressを導入してみた顛末記。

※ここからの作業は前回までに作成した作業用ユーザIDにて行います。
・SSHの接続設定を変更する

SSH(セキュア・シェル)はデフォルトだと、すべてのユーザが接続可能でセキュリティ上よろしくないです。
したがって、SSHの設定を変更して、接続制限を行います。


編集するファイルは “/etc/ssh/sshd_config” です。
(システムファイルなので、sudoコマンドでエディタを起動します。)

sudo vi /etc/ssh/sshd_config

(1)接続ポートを変更する(13行目)
デフォルトで記述してあるポート22番は、初期値であることから攻撃対象になりやすいので0~65535の範囲から任意の番号に変更します。
ただ、他のプロトコルで使用するポート(80:http, 443:https, 20:FTP, 21:FTP, 3306:Mysql)等は避けたほうが後々のトラブルを回避できると思います。

[変更前] #Port 22 : コメント(#)を削除
[変更後] Port YYYY : 任意のポート番号に変更

(2)rootユーザでのログインを無効にする(42行目)
次に、rootユーザでのリモートログインができないよう設定を変更します。

[変更前] #PermitRootLogin yes : コメント(#)を削除して yes -> no に変更
[変更後] PermitRootLogin no : rootログインを無効化

上記設定が終わったら、SSHを再起動します。

sudo service sshd restart

・ファイアウォールの設定
次にlinuxのファイアウォール機能であるiptablesを設定します。
ファイアウォールの設定は結構高度なので、素人の私は「さくらのVPS」を参考にしました。

#サーバへの攻撃対策
sudo iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp ! –syn -m state –state NEW -j DROP
sudo iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP

#通信内容の制限
#localhostからの通信とpingの許可
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p icmp -j ACCEPT

#確立済みの通信を許可
sudo iptables -I INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

#パケットの設定
#許可した通信以外のサーバに受信するパケットを拒否し、
#サーバから送信するパケットを許可
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT

#サーバ用途に合わせたポート許可設定

#httpのポートを指定(80)

sudo iptables -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT

#httpsのポートを指定(443)

sudo iptables -A INPUT -p tcp -m tcp –dport 443 -j ACCEPT

#sshのポートを指定(YYYY)

sudo iptables -A INPUT -p tcp -m tcp –dport YYYY -j ACCEPT

ここまで実行したら、設定を保存してiptbalesを再起動します。

#設定を保存

sudo service iptables save
#再起動
sudo service iptables restart
Iptables の設定ファイルを確認すると以下のようになっているはずです。
sudo vi /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [34:3560] -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! –tcp-flags FIN,SYN,RST,ACK SYN -m state –state NEW -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 22 -j ACCEPT
COMMIT
以上で、ひとまずiptbalesの設定は完了です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください