kopug memo

名古屋で働くとあるWebエンジニアの覚書。

1. さくらVPS CentOS6.2で基本設定をする

久々の更新です。
最近サーバ構築するのもスクリプトを流して終了…というのが多かったですが、久々に手動で構築したので備忘録として残します。

1. CentOS 6.2を再インストール

最近のさくらVPSCentOS 6.2が標準なんですね。
これはコントロールパネル(Web)でやったので省略…

2. etckeeper を入れて /etc配下をgitで管理

epel リポジトリが初めから入っていたのですんなり入った。

# yum -y install etckeeper
# etckeeper init

3. 作業用ユーザの作成

rootで毎回作業するのは怖いので、作業用のユーザを作成して sudo権限を付けておく

# adduser kopug
# passwd kopug
# usermod -G wheel kopug
# visudo
# 以下のコメントを外す
## Allows people in group wheel to run all commands
%wheel        ALL=(ALL)       ALL

作業用ユーザのSSH公開鍵を置いておく

※ ここからは作業用ユーザで繋ぎ直してから作業を行う

4. SSHの設定

4-1) デフォルトのポート番号を変更

$ sudo sed -i 's/^#Port 22/Port 10022/' /etc/ssh/sshd_config

4-2) rootでの接続をNG

$ sudo sh -c 'echo "PermitRootLogin no" >> /etc/ssh/sshd_config'

4-3) パスワードなしでのログインNG

$ sudo sh -c 'echo "PermitEmptyPasswords no" >> /etc/ssh/sshd_config'

4-4) 鍵認証必須

$ sudo sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

4-5) 設定反映

$ sudo /sbin/service sshd restart

※ ~/.ssh/authorized_keys に公開鍵を設定しておくこと

5. iptablesの設定

管理用のポートと, sshとweb以外は閉じておく

# /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 -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10022  -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80        -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

あとはiptablesを再起動させ、デフォルト起動するようにしておく。

$ sudo /sbin/service iptables restart
$ sudo /sbin/chkconfig iptables on

6. root宛のメールを受け取るようにする

メールアドレスの部分は置き換えてください(^_^;

$ sudo sudo sed -i '/^root:/d' /etc/aliases
$ sudo sh -c "echo 'root: user@example.com' >> /etc/aliases"
$ sudo newaliases

6. パッケージを最新版にする

$ sudo yum upgrade -y

7. etckeeper でcommitをしてサーバを再起動

$ sudo etckeeper commit
$ sudo reboot