VPSを借りてやること(CentOS6.3)

VPSを借りたので初期セットアップでしたことをまとめました。

1.root のパスワードを変更する

メールで初期パスワードを送られてくるのでログインし変更する

2.一般ユーザーを作る(管理者グループに所属させる)

# useradd hogehoge
# passwd hogehoge
# usermod -G wheel hogehoge

3.root になれるユーザを管理者グループのみとする

# vi /etc/pam.d/su
// コメント外す
auth required pam_wheel.so use_uid

4.root で ssh ログインできないようにする

# vi /etc/ssh/sshd_config
PermitRootLogin no

5.ssh のポートを 22 から変更する

安易なポートスキャンの対象にならないようにデフォルトから変更する

# vi /etc/ssh/sshd_config
Port 13333

6.公開鍵認証で ssh 接続できるようにする

クライアントで作成した公開鍵を VPS サーバ上に配置する

$ vi ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

7.パスワード認証をやめ公開鍵認証でのログインに限定する

# vi /etc/ssh/sshd_config
PasswordAuthentication no
UsePAM no

# /etc/init.d/sshd restart

8.iptables を設定する

# vi /etc/sysconfig/iptables
*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 -m state --state ESTABLISHED,RELATED -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 13333 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

iptables を再起動し、設定を確認する
# /etc/init.d/iptables restart
# iptables -L

9.sudo の設定をする

作業用ユーザ( wheel に所属)が sudo できるようにする

# visudo
// コメント外す
%wheel ALL=(ALL) ALL

10.sudo のログを出力するようにする

# visudo
// 追記
## syslog facility
Defaults syslog=local6

# vi /etc/rsyslog.conf
// 追記
# sudo log
local6.* /var/log/sudo.log

# /etc/init.d/rsyslog restart

11.sudo.log をローテーションするように追加する

# vi /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/sudo.log
{
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

12.pkgを最新にアップデートする

# yum update