DTIのVPSサーバを新規に契約してみた。
決め手はお手軽に月額ワンコイン(¥500)で任意にデータ引き継ぎ付きでプラン変更ができるところ。初期設定の備忘録残します。
構成
構成は、契約時にオススメとしてでてきた
データセンター東京+CentOS 6.5 (64bit)にしました。
Entryプラン最小構成のスペック(HDD:50GB,Mem:1GB)
初期設定
ブラウザで契約が済むと10分くらいで準備が整ってSSH接続できるようになりました。
Webブラウザから専用のアプリらしきものでコンソール操作もできうようでしたが、
対応がIEのみとの注釈があったので使っていません(2014/07/13時点)
最初のアクセス
$ ssh root@(VPS-IPアドレス) -p 3843
(参考)
http://dream.jp/support/announce/important/101207.html
推奨設定として下記記載あり。当然のことですね。
DTIではご利用開始にともない、以下のようなセキュリティ設定を行うことを推奨いたします。
・SSH用のポート番号を変更する
第三者からの22番ポートに対するポートスキャン等、無差別なアクセスを拒否することができます。
(一般的に22番が対象となります)・root権限でのアクセスを禁止する
第三者がお客様のサーバー設定を変更する事を防ぎます。・接続元を制限する
お客様が許可した場所以外からサーバーへのアクセスを禁止。http://dream.jp/vps/esp/manual/mnl_security_02.html
初期設定
とりあえず私は、ポリシーを下記としました。
* sshのportは標準の22番ポート
* sshのrootユーザーログインは禁止
* ログイン時のパスワード認証可
* SSH接続元ホストの制限
* SSH以外は外部からのリクエストに応答しない
rootパスワード変更
# passwd
SSHログイン用非rootユーザ作成
$ useradd -G wheel 新しいユーザー名
$ passwd 新しいユーザー名
SSHサービスの設定
vi /etc/ssh/sshd_config
(注意)変更後にはsshデーモンの再起動しないと反映されません
/etc/init.d/sshd restart
- rootユーザのSSHログイン禁止
1 2 |
#PermitRootLogin yes |
↓
1 2 |
PermitRootLogin no |
新しいユーザでログインしrootへスイッチして操作することになります。
- portは不便なので標準の22に戻しておく
1 2 |
Port 3843 |
↓
1 2 |
Port 22 |
必要なアプリを入れる
初期状態は最小構成のCentOSらしく、nslookupやdigが使えなかった。インストールしておく。
# yum install bind-utils
不要なアプリを消す
sambaは明らかに使わないのでけしておきました。
# yum -y remove samba*
Firewallの設定
初期状態でどうなってるのかFirewallをチェック
iptables -L
初期状態はINPUT,OUTPUT,FORWARD全解放でした。
以降の手順で不必要なものは全て閉じます。
バックアップをとっておく
# cp /etc/sysconfig/iptables /etc/sysconfig/iptables.default
とりあえず何に使うのか未定なので下記定義としておきました。
SSH接続は許可IPからのみ利用可能とする
1 2 |
# -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s (接続許可IP) --dport 22 -j ACCEPT |
▶︎POLICY ACCEPTにしておいて最後に全てREJECTしている
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
*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, HTTPS -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s (接続許可IP) --dport 22 -j ACCEPT # HTTP #-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 443 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT |
service iptables restart
ホスト名を変更する
hostname (任意のホスト名)
とりあえず用途問わずに手順としてはこんなところでしょうか。
また気づきがあれば追記予定
VPNって、VPSのTypoでしょう~~ 毎回VPN構築を検索する時、この文章が当たる
:)
ご迷惑おかけしていたようですみません。
タイトルなおしました。