基本はさくらの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ってのを使ってみるみたい。

Index of /software/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

以上。