VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

VPS(レンタル)サーバー上のssh初期設定確認

自室の端末からVPS(レンタルサーバー)に接続する際は、通常はsshを使用します。
“お名前.com”のVPSサーバー(確認時点ではCentOS6.2)でのsshは以下のような初期設定となっていました。

SSHのRPMパッケージ名を確認する


 
例)
# rpm -qa | grep ssh
openssh-server-5.3p1-70.el6_2.2.x86_64
openssh-5.3p1-70.el6_2.2.x86_64
libssh2-1.2.2-7.el6_1.1.x86_64

sshのサーバーのパッケージ名は”openssh-server”です。
 

設定ファイルの保存場所の確認


 
例)
# rpm -qc openssh-server
/etc/pam.d/ssh-keycat
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

ファイル名からすると、”/etc/sysconfig/sshd”がopenssh-serverのサーバーサービスの設定ファイルと推測できます。
 

設定ファイルの変更


 
管理人の環境では、rootユーザーによるログインが許可されている状態でした。
暗号化されているとはいえ、インターネット回線を介してログインする際にrootユーザーでログインするのはセキュリティ的に望ましくないかと思いますので許可しない設定に変更しました。
 
PermitRootLogin no
 

起動スクリプトの配置場所の確認


 
例)
# rpm -ql openssh-server | grep init
/etc/rc.d/init.d/sshd

 

sshの再起動


 
例)
# /etc/rc.d/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

 

iptablesの設定確認


 
管理人の環境では、ネットワークのパケットフィルタリングは、”iptables”で行っていました。
iptablesがsshのパケットをどのように設定しているか確認します。
 
※iptablesコマンドで確認する事もできます。管理人は、直接設定ファイルを取り扱う方法に慣れているため、こちらの方法を紹介します。
 
例)
# more /etc/sysconfig/iptables
 
(SSHの部分のみ抜粋)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

SSHはポート番号22番を使用していますので、宛先ポートが22番ポートの新規接続の入力パケットはすべて許可する設定になっています。
 

自端末が使用しているグローバルIPアドレスの確認


 
管理人のVPSサーバーは、ssh接続するのは管理人自身のみですので、管理人の自室端末のネットワークの送信元アドレスのみ許可する設定に変更しました。
 
自端末のIPアドレスはプライベートアドレスのため(グローバルアドレスは、ネットワーク回線業者からレンタルしているルーターでアドレス変換されています。)サーバー上で、下記コマンドで確認しました。
 
例)
# netstat -an | grep 22

tcp        0     52 (サーバーのIP):22  (自端末のIP):1072    ESTABLISHED

 

iptablesの設定変更


 
上記のsshの設定に自端末のIPアドレスが属するネットワークを追加しました。(常に同じグローバルIPアドレスが割り当てられるか分からなかったため、IPアドレスではなくネットワーク単位に設定しました。)
 
※iptablesコマンドで確認する事もできます。管理人は、直接設定ファイルを取り扱う方法に慣れているため、こちらの方法を紹介します。
 
例)許可するIPアドレスが、192.168.1.1の場合
# vi /etc/sysconfig/iptables
 
(変更箇所)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

設定変更後、iptablesを再起動します。
 
例)

# /etc/rc.d/init.d/iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
モバイルバージョンを終了