お名前.com レンタルサーバーVPSを借りてみた
月額2980円でメモリ1GB/HDD 120GBとスペック的にも悪くない。
個人的には使い慣れたCentOS 5が使える点もポイントの一つでした。
カーネルが変更できないなど細かい点で気になる所もありあますが、価格を考えると非常に良い環境だと思います。
使い始めに行った作業をメモしておきます。
始めに
管理画面にログインして、まず始めにsshが使えるようにファイアーウォールの設定を変更します。
インストール
yum
デフォルトでyumが入っていないのでインストールします。
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/m2crypto-0.16-6.el5.3.x86_64.rpm wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/yum-3.2.19-18.el5.centos.noarch.rpm wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/yum-metadata-parser-1.1.2-2.el5.x86_64.rpm sudo rpm -ivh m2crypto-0.16-6.el5.3.x86_64.rpm sudo rpm -ivh python-elementtree-1.2.6-5.x86_64.rpm sudo rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm sudo rpm -ivh python-urlgrabber-3.1.0-5.el5.noarch.rpm sudo rpm -ivh python-iniparse-0.2.3-4.el5.noarch.rpm sudo rpm -ivh yum-metadata-parser-1.1.2-2.el5.x86_64.rpm sudo rpm --import http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/RPM-GPG-KEY-CentOS-5 sudo rpm -ivh yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm yum-3.2.19-18.el5.centos.noarch.rpm sudo yum -y remove php-sqlite2 sudo yum -y update sudo yum -y install php-sqlite2
sudo
sudo使うたびに『audit_log_user_command(): 接続を拒否されました』という警告が出るのでsudoを入れなおします。
sudo yum -y install pam-devel sudo yum -y remove sudo wget http://www.sudo.ws/sudo/dist/sudo-1.7.2p2.tar.gz tar xvf sudo-1.7.2p2.tar.gz cd sudo-1.7.2p2 ./configure make su make install cp sample.pam /etc/pam.d/sudo
mysql
mysqlはパフォーマンスの良い5.1をインストールしました。
yum -y remove mysql mysql-bench mysql-devel mysql-server wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-client-community-5.1.42-0.rhel5.x86_64.rpm wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-shared-community-5.1.42-0.rhel5.x86_64.rpm wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-devel-community-5.1.42-0.rhel5.x86_64.rpm wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-shared-compat-5.1.42-0.rhel5.x86_64.rpm wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-server-community-5.1.42-0.rhel5.x86_64.rpm sudo rpm -ivh MySQL-client-community-5.1.42-0.rhel5.x86_64.rpm \ MySQL-shared-community-5.1.42-0.rhel5.x86_64.rpm \ MySQL-devel-community-5.1.42-0.rhel5.x86_64.rpm \ MySQL-shared-compat-5.1.42-0.rhel5.x86_64.rpm \ MySQL-server-community-5.1.42-0.rhel5.x86_64.rpm sudo /usr/bin/mysql_secure_installation sudo /sbin/chkconfig --add mysql sudo /sbin/chkconfig mysql on
その他
locateも入っていないので入れておきます。
sarが使えるようにsysstatも。
後は気がついた時に書き足していきます。
sudo yum -y install mlocate sysstat sudo updatedb
セキュリティ設定
rootになれるユーザーをwheelグループに限定する
sed -i.bak -e "s/^#\(auth\s\+required\s\+pam_wheel\.so.*\)/\1/g" /etc/pam.d/su echo "SU_WHEEL_ONLY yes" >> /etc/login.defs
sudo使えるのもwheelだけにする
sed -i.bak -e "s/^#\s\+\(%wheel\s\+ALL\=(ALL)\s\+ALL\)/\1/g" /etc/sudoers
SSH - 公開鍵認証のみに制限する
パスワード認証を拒否して公開鍵認証のみに制限する。
先に公開鍵認証でログインできることを確認しておくこと。
sed -i.bak -e "s/^\(PasswordAuthentication\).*/\1 no/" /etc/ssh/sshd_config
SSH - IP制限
国外からのSSHブルートフォース攻撃がウザイので接続制限を行う。
recentモジュールが使えないので、/etc/hosts.allowにてIPで制限する。
/etc/hosts.allowは各自の環境に応じて適当に書き換える。.jpで終わらないISPもある。
http://wiki.livedoor.jp/aissle/d/%a1%d6%2ejp%a1%d7%a4%c7%bd%aa%a4%ef%a4%e9%a4%ca%a4%a4%b9%f1%c6%e2ISP
cat >> /etc/hosts.allow << EOM sshd : .jp : allow sshd : ALL : deny EOM
そんな感じで。