お名前.com VPSでCentOS6.3設定

お名前.comのVPSを借りてみた。
選んだ理由:さくらVPSよりちょっとだけ安かった。最低プランが1年一括払いで9999円というガンバッタナー感があったので。

契約完了後

契約完了までは省略。途中で電話認証(自動音声)あり。
初期はCentOS6.2が自動でインストールされている
「OS再インストール」のタブでCentOS6.3を選んでインストール

インストール時、リポジトリの「CR」のチェックを必ず外すこと。
このチェックが入っているとCentOS6.3で正しく動作しないバージョンのglibc-commonが入り、どうにもならなくなる模様。
https://bugzilla.redhat.com/show_bug.cgi?id=911675 と同じ状態になった)

OSインストール後の設定

インストールが終わったらOSを起動する前にコントロールパネル上部の「取り出す」をクリックすること。
(インストール画面が何度も立ち上がるという初心者のようなハマり方をしました…)

「コンソール画面」タブを開いて、rootでログインする(パスワードは上記インストール時に設定している)。

デフォルトのOSじゃないのでコントロールパネルが吐き出す鍵ファイルは有効じゃないよなーと思いつつ、/etc/ssh/sshd_config を確認。
「PasswordAuthentication yes」
…そりゃそうか。

手元のターミナルから接続。

$ ssh root@(VPSのIP)

パスワード入力してログイン。

とりあえずupdate

# yum -y update

別ユーザ作成して公開鍵の登録まで。

# useradd (user)
# su - (user)
$ mkdir .ssh
$ touch .ssh/authorized_keys
$ chmod 700 .ssh
$ chmod 644 .ssh/authorized_keys
$ vi .ssh/authorized_keys

公開鍵を貼り付ける。

$ exit
# usermod -G wheel (user)
# visudo

# %wheel  ALL=(ALL)       NOPASSWD: ALL
の行をアンコメント。
%wheel  ALL=(ALL)       NOPASSWD: ALL

手元のターミナルから別接続。

$ ssh (user)@(VPSのIP) -i (秘密鍵のパス)

rootになれるか確認

$ sudo -i
# vi /etc/ssh/sshd_config

rootになれることを確認したら、パスワードログインを禁止。

PasswordAuthentication yes
の行を書き換え。
PasswordAuthentication no

IPv6の停止

ipv6モジュールを無効化する設定ファイルを新規作成

# vi /etc/modprobe.d/disable-ipv6.conf

alias ipv6 off
alias net-pf-10 off
options ipv6 disable=1

現時点でipv6モジュールが有効になっていることを確認

# lsmod | grep ipv6
nf_conntrack_ipv6 8748 2
nf_defrag_ipv6 11182 1 nf_conntrack_ipv6
nf_conntrack 79357 3 nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
ipv6 321422 15 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6

OS再起動

# shutdown -r now

再接続して確認

$ sudo -i
# lsmod | grep ipv6

何も返って来ないことを確認

ip6tables停止

# service ip6tables stop
# chkconfig ip6tables off

iptablesの設定

iptables.shを作成。

# touch ~/iptables.sh
# chmod 755 ~/iptables.sh
# vi ~/iptables.sh

#!/bin/sh

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

/etc/init.d/iptables save

実行して、正しく設定されたかを確認。

# ~/iptables.sh
# iptables -L

とりあえずはこんなところかな。
さて、ベンチマークとってみよう。