基本はさくらのVPSでsinatraを動かすまでのメモと同じだけど、
違うところだけメモしておく。
契約したのは下記のプラン。
プラン:ServersMan@VPS Entryプラン
OS:CentOS 5.5
初期設定
ちなみに、
- yum-updatesdはインストールされてなかった
- yum-fastestmirrorは始めから入ってた
- SELinuxは始めから無効になってる
SSHとAirDisplay@VPS
SSHのポート変更は「さくらのVPSでsinatraを動かすまでのメモ」を参照。
AirDisplay@VPSってのはServersManのブラウザからコンソール操作をする機能。
SSHのポート番号を変更するときは、AirDisplayのポート番号も合わせて変えないとAirDisplayが動作しません。
下記を参考にAirDisplayのポート番号を変更。
ServersManマニュアル | マニュアル | ServersMan@VPS仮想専用サーバーサービス :ユビキタスプロバイダ DTI
# vi /usr/local/share/ajaxterm/ajaxterm.py
# 403行目付近のポート番号を好きな番号に変更
#cmd+=['-p4834']
cmd+=['-p****']
そして、ajaxtermを再起動。
# /etc/rc.d/init.d/ajaxterm restart
AirDisplayはhttpでもhttpsでもアクセスできるけど、
httpsのほうがセキュアで良いよね。
- https://IPアドレス/airdisplay/
- http://IPアドレス/airdisplay/
ちなみに、対応ブラウザがIE6以上らしい。
自分が確認したところでは、
Firefox 3.6では動作せず、
Safari 5では動作しました。
(FirefoxはFirebugが邪魔してたのかも。確証はないけど。)
AirDisplayはAjaxTermってのを使ってみるみたい。
ファイアウォール構築
これも基本的には「さくらのVPSでsinatraを動かすまでのメモ」の通り。
一部モジュールがServersMan@VPS(OpenVZ)では使えないらしいので、
一部をコメントアウト&修正。
#LAN=eth0 → コメントアウト
# 内部ネットワークのネットマスク取得 → コメントアウト
#LOCALNET_MASK=`ifconfig $LAN|sed -e 's/^.*Mask:\([^ ]*\)$/\1/p' -e d`
# 内部ネットワークアドレス取得 → コメントアウト
#LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' '`
#LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK
# 上記の代わりに、内部ネットワーク情報を追加
LOCALNET_ADDR=127.0.0.1
LOCALNET_MASK=255.255.255.255
LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK
# SYN Cookiesを有効にする → コメントアウト
# ※TCP SYN Flood攻撃対策
#sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null
#sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf
#echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf
# ブロードキャストアドレス宛pingには応答しない → コメントアウト
# ※Smurf攻撃対策
#sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null
#sed -i '/net.ipv4.icmp_echo_ignore_broadcasts/d' /etc/sysctl.conf
#echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf
# ACCEPT_COUNTRY_MAKE関数定義 → コメントアウト
# 指定された国のIPアドレスからのアクセスを許可するユーザ定義チェイン作成
#ACCEPT_COUNTRY_MAKE(){
# for addr in `cat /tmp/cidr.txt|grep ^$1|awk '{print $2}'`
# do
# iptables -A ACCEPT_COUNTRY -s $addr -j ACCEPT
# done
#}
# DROP_COUNTRY_MAKE関数定義 → コメントアウト
# 指定された国のIPアドレスからのアクセスを破棄するユーザ定義チェイン作成
#DROP_COUNTRY_MAKE(){
# for addr in `cat /tmp/cidr.txt|grep ^$1|awk '{print $2}'`
# do
# iptables -A DROP_COUNTRY -s $addr -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_COUNTRY] : '
# iptables -A DROP_COUNTRY -s $addr -j DROP
# done
#}
# IPアドレスリスト取得 → コメントアウト
#. /root/iptables_functions
#IPLISTGET
# 日本からのアクセスを許可するユーザ定義チェインACCEPT_COUNTRY作成 → コメントアウト
#iptables -N ACCEPT_COUNTRY
#ACCEPT_COUNTRY_MAKE JP
# 中国・韓国・台湾※からのアクセスをログを記録して破棄 → コメントアウト
# ※全国警察施設への攻撃元上位3カ国(日本・アメリカを除く)
# http://www.cyberpolice.go.jp/detect/observation.htmlより
#iptables -N DROP_COUNTRY
#DROP_COUNTRY_MAKE CN
#DROP_COUNTRY_MAKE KR
#DROP_COUNTRY_MAKE TW
#iptables -A INPUT -j DROP_COUNTRY
NTPサーバー構築
ServersManのサポートに問い合わせたら、
時刻同期は自動で行われるとのことなので、
NTPは必要なし。
chrootユーザー作成スクリプト
ServersMan@VPSはx64環境じゃないっぽいので、
参考のスクリプトのままでOK。
SSHサーバー構築(OpenSSH) – CentOSで自宅サーバー構築
不要なデーモンとコンソールの停止
# chkconfig gpm off
# chkconfig lvm2-monitor off
# chkconfig mcstrans off
# /etc/rc.d/init.d/mcstrans stop
# chkconfig messagebus off
# chkconfig netfs off
# /etc/rc.d/init.d/netfs stop
# chkconfig portmap off
# chkconfig rawdevices off
# /etc/rc.d/init.d/rawdevices stop
以上。