さくらの VPS に登録してみた(2)

パスワードすぐに来たので続きです。

まずはグループとユーザまわり

root のパスワードを変更しておきます。

# passwd

sudo を許可するグループと,それに属する私のユーザアカウントを追加。

# groupadd -g 3000 sudoers
# useradd -u 1000 mayu
# usermod -G sudoers mayu
# passwd mayu

visudo には以下の記述を追加。sudoers group に属するユーザに sudo 権限を与えておきます。

# visudo
%sudoers ALL=(ALL) NOPASSWD:ALL

続いて ssh 周り

ここからは mayu でログインして作業します。

$ sudo vi /etc/ssh/sshd_config

root ログインの禁止と,パスワードログインの禁止かな。あと sshd の待ち受けポートも変更。10022 って定番すぎるかな? AllowGroups や AllowUsers は……公開鍵認証にしたし,今回は設定しないことにしました。

--- /etc/ssh/sshd_config.orig   2010-09-13 16:26:31.000000000 +0900
+++ /etc/ssh/sshd_config        2010-09-13 16:27:44.000000000 +0900
@@ -10,7 +10,7 @@
 # possible, but leave them commented.  Uncommented options change a
 # default value.

-#Port 22
+Port 10022
 #Protocol 2,1
 Protocol 2
 #AddressFamily any
@@ -36,7 +36,7 @@
 # Authentication:

 #LoginGraceTime 2m
-#PermitRootLogin yes
+PermitRootLogin no
 #StrictModes yes
 #MaxAuthTries 6

@@ -57,7 +57,7 @@
 # To disable tunneled clear text passwords, change to no here!
 #PasswordAuthentication yes
 #PermitEmptyPasswords no
-PasswordAuthentication yes
+PasswordAuthentication no

 # Change to no to disable s/key passwords
 #ChallengeResponseAuthentication yes

で,自分のアカウントに ssh の公開鍵を登録。

$ mkdir -p ~/.ssh
$ cat >> ~/.ssh/authorized_keys
ssh-rsa AAAA(むにゃむにゃ
^D
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh

sshd を restert しておきます。

$ sudo /etc/init.d/sshd restart

iptables の編集

この辺からだんだんよく分からなくなってきました……。

たぶん外向きは全許可,内向きは 80 と 10022 だけ空けてる状態……になってると思うんだけど自信ないです。

$ vi ~/iptables.rules
*filter
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 10022 -j ACCEPT
-A OUTPUT -j ACCEPT
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
$ sudo /sbin/iptables-restore < /home/mayu/iptables.rules

設定内容の確認

$ sudo /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:10022
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

合ってるのかなぁ……。何が正しいのかが分からないと見ても分からないですね(>_<)

再起動しても大丈夫なように保存しておきます。

$ sudo /sbin/service iptables save

不要なサービスの停止

少しでも快適にしたいならやっとけって誰かが言ってたので。

$ sudo /sbin/chkconfig --list | grep :on
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
readahead_early 0:off   1:off   2:on    3:on    4:on    5:on    6:off
readahead_later 0:off   1:off   2:off   3:off   4:off   5:on    6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off

この辺止めておきましょうか。たぶん要らない……と思う。

$ sudo /sbin/chkconfig acpid off
$ sudo /sbin/chkconfig lvm2-monitor off
$ sudo /sbin/chkconfig readahead_later off
$ sudo /sbin/chkconfig sendmail off

で,再起動。ちゃんとログインできるかなー(笑)

$ sudo /sbin/shutdown -r now