我ながら飽きっぽいというか、何というかだけども、SaaSesでコントロールパネルからOSの再インストールができるようになったので真っ新にしてみた。
ついでにCentOSからUbuntuにOSを変えて、改めてサーバーを構築してみる。
とりあえず注意事項。
前回の記事ではWebminを多用していたけど、だんだん面倒になってきたので基本的にWebminを利用せずコンソールで行うことにする。
今回のサーバーは前回と同じく、FTPサーバ、メールサーバは構築せず、あくまでウェブサーバーのみとする。
メールはGoogle Appsを使った方が安心だし、FTPサーバはSSHサーバーでSCPを利用した方が安全なので。
また、普通Ubuntuならrootを利用せずsudoを利用するのが定石だけれど(非推奨とされてる)、いちいちsudoするのが面倒なので今回はroot権限に昇格した上で作業をした。
万が一にもこの記事を参考にする人がいたらその辺りは気をつけていただければ。
新規に契約した場合はメールに添付、初期化した場合はコントロールパネルから入手できるPDFファイルに載っている通常ユーザーでログインする。
rootに昇格するには
su -
と打ち込み、ルートのパスワードを入力すればいい。とはいっても最初はrootにパスワードが指定されていないので、
sudo su -
passwd
でrootパスワードを指定する必要がある、かも。
rootに昇格したらまずは新しいユーザーの作成を行う。
SaaSesのVPSの場合最初からあるユーザーは契約者の名字を利用しているので何となく嫌だ・・・。
今回はhogeuserという名前のユーザーを作る。このユーザーのみroot権限昇格可能とする。
useradd -g adm hogeuser //ユーザーの作成(+admグループに追加)
passwd hogeuser //パスワード設定
group設定
次にroot昇格可能なグループを設定する。
vi /etc/pam.d/su
# auth required pam_wheel.so
↓
auth required pam_wheel.so group=adm
これでadmグループに所属するユーザーのみがrootに昇格できるようになる。
SSH設定
次にSSH関連の設定を行う。
まずは一定量の攻撃があった場合防御してくれるdenyhostをインストール。
aptitude update
aptitude install -y denyhosts
denyhostの設定
vi /etc/denyhosts.conf
PURGE_DENY =
↓(引っかかった場合の制限時間)
PURGE_DENY =3h //3時間で解除
DENY_THRESHOLD_INVALID = 5
↓(存在しないユーザーへのログインを拒否するまでの回数)
DENY_THRESHOLD_INVALID = 2
DENY_THRESHOLD_VALID = 10
↓(存在するユーザーへのログインを拒否するまでの回数)
DENY_THRESHOLD_VALID = 5
次に自分がdenyhostに引っかからないよう設定
vi /etc/hosts.allow
ALL:自分のIPアドレス
また、狙われやすいSSHサーバのデフォルトポートを変更しておくとより安全になる。
vi /etc/ssh/sshd_config
Port 22
↓(SSHサーバのポート変更)
Port 2222
iptables変更
やり方がよくわからなかったので直接編集した。危険なのであまりおすすめしないかも。
vi /etc/iptables.up.rules
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
↓
-A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT
以下を実行
iptables-restore < /etc/iptables.up.rules //iptablesの設定ファイルに書かれた内容を反映
/etc/init.d/ssh restart //SSHサーバの再起動
次の記事へ続く。