serverman@VPSを借りてみたので、やった初期設定等の覚え書き
なぜか、個人ドメインだけ取ってそのまま放置だったので、serverman@VPSのentryプランを借りてみました
とりあえず、とってからやったことを覚え書きの意味でつらつらと並べておきます
ssh関係の初期設定
まず、何はともあれrootも使えて、外からも見れるサーバ1台が無造作な状態で放置されている状態なので、
ssh周りの設定は最優先で行いました
rootでのsshログイン禁止
rootでssh経由でログイン出来ない様に以下のファイルの設定を書き換えました
このファイルの以下の部分を
PermitRootLogin yes
以下のように書き換え
PermitRootLogin no
管理用のroot以外のユーザ・グループ作成+設定
rootでログインを禁止した場合、それ以外のアカウントがないと永久にログインできなくなるので、
管理用のグループとユーザを追加で作成します
管理用グループを"wheel"、管理ユーザ名を"username"とすると
シェルにて以下のようにして、設定
# useradd username (ユーザ追加)
# passwd username (追加ユーザのパスワード設定)# usermod -G wheel username (管理者グループに新規ユーザを追加)
さらにこれだけだと、root権限を使えないので、wheelグループはsu、およびsudoを使えるように設定
- su設定
- /etc/pam.d/su
以下の一文を追加(もしくはコメントアウト(#)を消す)
auth required pam_wheel.so use_uid
- sudo設定
- /etc/sudoers
wheelグループのsudo許可とsudoログ作成の設定文を追加
%wheel ALL=(ALL) ALL
Defaults logfile=/var/log/sudolog
鍵認証方式利用の設定
WindowsからのSSHクライアントはputtyを使うことが多いので、ひとまず
puttyを使った鍵作成と設定の仕方
- puttyでの鍵の作成用の鍵作成
puttyに含まれるputtygen.exeを利用
[作成]を選択して作成後、テキスト部分をコピーして
"ログインするユーザのホームディレクトリ/.ssh/authorized_keys"にコピー
なお、authorized_keysの所有者はログインするユーザ、パーミッションは600に設定
鍵認証以外でのログインの禁止
鍵なしではログイン出来ない様にパスワード認証の禁止の設定
このファイルの以下の部分を
#PasswordAuthentication yes
以下のように書き換え
PasswordAuthentication no
すべての設定が終われば、シェルに以下のコマンドを打って、sshdを再起動
# /etc/rc.d/init.d/sshd restart
このあたりの設定は失敗すると、ログインができなくなるのでつながっているセッションを1つ残したままで、別端末から設定が適応されているかを確認するようにした方が良いと思います。
(私自身、このあたりを失敗して、借りてから数十分足らずで1回初期化してます)
iptablesの設定
iptablesを設定して不必要なポートを塞ぐ設定
…ですが、最初に現在の設定を確認しようとすると…
iptablesがない?
調べたところ、なぜかインストールされているにもかかわらず、
パスが通ってなかったので、PATHに"/sbin/;/usr/sbin/"を追加
その後、/etc/sysconfig/iptablesに以下の記述を追加して、
ssh,http,mysqlのポート以外は塞ぐ設定に
(sshのポートの9999は変更したポートに合わせて変更)
# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT
-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 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
emacsのインストール
vi,vimは個人的にあまり使えないのでemacsのインストール
ただ、CentOSのyumのリポジトリだとemacs21とかなり古いので、
CentOSにemacs23.2をインストールを参考に
手動でインストールしました。
# wget http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3b.tar.gz
# tar zxvf emacs-23.3b.tar.gz
# cd ./emacs-23.3
# ./configure --without-x
# make
# make install
不要サービス停止
VPSは資源があまり多くないことも多いので使わない不要サービスは停止させます。
CentOSをサーバーとして活用するための基本的な設定 - さくらインターネット創業日記
↑のさくらインターネット社長プログで書かれている設定+個人的にftp等は使うつもりがなかった(ssh or sftp)ので、
そのあたりを考えて以下のサービスを以下のコマンドで停止
chkconfig [サービス名] off
acpid
auditd
autofs
avahi-daemon
bluetooth
cups
firstboot
gpm
haldaemon
hidd
irda
isdn
kudzu
lvm2-monitor
mcstrans
mdmonitor
messagebus
netfs
pcscd
portmap
rawdevices
restorecond
rpcgssd
rpcidmapd
smartd
xfs
ypbind
ただし、設定が微妙に違うので、ないものがあったり…
Apacheの設定
最低限、必要そうな設定のみ変更
#HTTPレスポンスの返却値の情報を最低限に
ServerTokens OS
↓
ServerTokens ProductOnly#index.html等がないときに、ディレクトリ内一覧を表示させない
Options Indexes FollowSymLinks
↓
Options -Indexes FollowSymLinks#エラーメッセージのフッターラインの隠蔽
ServerSignature On
↓ ↓ ↓
ServerSignature Off
ここまで設定して燃え尽きたので、
ブログにリダイレクションする設定だけして以下のアドレスでwebのみ公開
http://ik-fib.com
しかし、夜に設定してその後の設定を行う気力がなかったため、リダイレクションの方法がひどい事になってます。
近いうちに少なくともそれは直したい…
参考にさせてもらったサイトさん
さくらのVPS(CentOS)で文字コードを日本語にする方法(もしくはlessで文字化けさせない方法) | IDEA*IDEA
CentOSにemacs23.2をインストール
Webサービス用にさくらのVPSサーバーを借りた後で役に立つ記事色々:phpspot開発日誌
GM's Log. » Blog Archive » 【さくらのVPS】初期設定をしてみた
CentOSをサーバーとして活用するための基本的な設定 - さくらインターネット創業日記
http://www.v-5300.net/index.php?PukiWiki%2F02.HTTP%EF%BC%88Apache%EF%BC%89%E3%81%A7%E3%81%AE%E4%BA%8B%E5%89%8D%E6%BA%96%E5%82%99