さくらのVPSを標準のOSの設定したときの情報(今はDebianで運用中)

#contents

#navi(Sakura/VPS)


**利用目的 [#u359da86]
+CentOSの扱いを学習
+iPadに仮想デスクトップを提供

**構築手順 [#a780bdb0]
 (シリアル・コンソールから)
 # useradd otsuka -m
 # passwd otsuka
 (いつものパスワード)
 
 # visudo
 otsuka  ALL=(ALL)       ALL
 
 $ mkdir .ssh
 $ chmod 700 .ssh
 $ cd .ssh
 $ cat >authorized_keys
 
 $ chmod 600 authorized_keys
 $ cd ..
 
 $ sudo -i
 # yum groupinstall "GNOME Desktop Environment"
 # yum groupinstall "X Window System"
 
 # vi /etc/sysconfig/vncservers
 VNCSERVERS="1:otsuka"
 VNCSERVERARGS[1]="-geometry 1280x1024 -nolisten tcp -nohttpd -localhost \
  -fp /usr/share/X11/fonts/misc/,/usr/share/X11/fonts/100dpi/,/usr/share/X11/fonts/75dpi/"
 
 $ vncpasswd
 
 $ sudo /sbin/service vncserver start
 $ sleep 60
 $ sudo /sbin/service vncserver stop
 $ vi ~/.vnc/xstartup
 unset SESSION_MANAGER
 exec /etc/X11/xinit/xinitrc
 
 $ sudo /sbin/service vncserver start

**日本語入力 [#rbfbdc2b]
日本語入力できるようにする [[参考:http://bluebonnet.way-nifty.com/cyberham/2009/06/centos-5-3e9c.html]]

 sudo yum install anthy scim scim-anthy
 
 vi ~/.vnc/xstartup
 export XMODIFIERS="@im=scim"
 export GTK_IM_MODULE="scim"
 export QT_IM_MODULE="scim"
 export XIM_PROGRAM=/usr/bin/scm
 
 unset SESSION_MANAGER
 exec /etc/X11/xinit/xinitrc

デフォルトは Ctrl-Space だが、emacs と重なるので、
System: Preferences: More Preferences: SCIM Method Setup: で
Shift-Space に割り当てる。vncviewerで漢字キーを使えるように
設定すれば Kanji 等を割り当てても良いかもしれない。

ローマ字で「ちゃ・ちゅ・ちょ」が「cya cyu cyo」で出ない。
CIM Method Setup で、Key bindings theme を Microsoft IME に、
Romaji typing: Romaji table: も Microsoft IME にすればよい。

**emacs 21 [#pee53ee4]
emacs22だとUTF-8を扱うのは難しくないのだが、CentOS 5は emacs21 なので
少し設定が必要なようだ。

 $ sudo yum install emacs anthy-el
 
 $ cat >.Xresources
 emacs.geometry: 110x40
 Emacs.Font: fontset-standard
 ^D
 
 $ vi ~/.emacs
 
 (require 'un-define)
 (coding-system-put 'utf-8 'category 'utf-8)
 (set-language-info
 "Japanese"
 'coding-priority (cons 'utf-8
 (get-language-info "Japanese" 'coding-priority)))
 (set-language-environment "Japanese")
 (set-terminal-coding-system 'utf-8)
 (set-keyboard-coding-system 'utf-8)
 (set-buffer-file-coding-system 'utf-8)
 (setq default-buffer-file-coding-system 'utf-8)

**デスクトップの設定 [#s76ffe15]
+スクリーンセーバーを無効にする
+クリップボードの接続
 System:Preferences:More Preferences:Sessions
 Startup Programs(TAB)
 Add
 vncconfig -iconic=1
+ssh-addをStartupセッションに加える

**Firefox [#p65d8864]
 $ sudo yum install firefox

コンテンツ言語に日本語を追加し最優先にする
+Edit:Preferences:Content:Languages:Choose...
+Select a language to add..:Japanese [ja]
+Add:Move Up:Move Up

**IPAフォント [#v5e2cc85]
標準のフォント Sazanami が汚いので、IPAフォントに変えてみる。[[ここ:http://tmcosmos.org/linux/centos/co5.html#japanesefonts]]に載っている手順でよいが、
タイプミスがあるためはまった。

 cd src/
 mkdir meguri-font
 cd meguri-font
 wget http://www.geocities.jp/ep3797/snapshot/modified_fonts/meguri-fonts-20100114.tar.bz2
 tar xjvf meguri-fonts-20100114.tar.bz2
 sudo cp meguri-fonts-20100114/meguri*.ttf /usr/share/fonts/japanese/TrueType/
 
 wget "http://luke.skr.jp/hsj/?plugin=attach&refer=Sakura%2FVPS&openfile=local.conf.txt" -O local.conf
 sudo cp local.conf /etc/fonts/
 
 cd ~/src
 mkdir ipa-font
 cd ipa-font/
 wget http://ossipedia.ipa.go.jp/ipafont/IPAexfont00102.php
 unzip IPAexfont00102.zip 
 sudo cp IPAexfont00102/*.ttf /usr/share/fonts/japanese/TrueType/
 sudo fc-cache -fv

-[[IPAフォントのダウンロード || OSS iPedia:http://ossipedia.ipa.go.jp/ipafont/index.html]]
-&ref(Sakura/VPS/local.conf.txt);

**iptables [#j2b9eb35]
物理レンタル・サーバーで iptables の設定をミスするとオペレータのお世話になるので気をつかったものだが、VPSだと仮想シリアルから入ってファイアーウォールの修正できるので気軽になった。

system-config-securitylevel-tui で Security Level を Enabled にして Customize ボタンで ssh だけアクセスできるようにする。VPSのシリアル・コンソールから実行しないと操作途中で切れることがあるので注意。シリアル・コンソールだと表示が乱れる。

ここで SELinux を Enforce にして再起動すると、誰もログインできなくなって再インストールが必要になるのでやらないこと。

[2010/8/5 17:50] 何気なく /var/log/secure を見ていたら、ssh ブルートフォースアタックを受けていることが判明した。
ユーザー名やパスワードを辞書を使って総あたりで破ろうとしているようだ。
rootやotsukaのパスワードは乱数なので破られることは無いと思われるが、
念のためパスワードによるssh接続を無効にした。

 sudo vi /etc/ssh/sshd_config
 :s/PasswordAuthentication yes/PasswordAuthentication no/
 :w
 :q
 sudo /sbin/services sshd restart

ログを確認 ( tail -F /var/log/secure ) していたら、パスワードでの接続を無効にしているにもかかわらず執拗に
アタックが続くようなので IPアドレスでフィルタするようにした。

 sudo /sbin/iptables -I INPUT 1 -p tcp -s (攻撃元IP) --dport 22 -j REJECT

攻撃元IPを APNIC の WHOIS で調べてみたところ韓国からのようだ。
一時的なフィルタとして設定するつもりなので、再起動するか sudo /sbin/iptables -D INPUT 1 とすれば解除できる。

手動でフィルタするのが追いつかなくなったので、/etc/sysconfig/iptables で ssh を通すフィルタの手前に8回/分以上の新規接続を
検出すれば、応答しないように修正。sudo /etc/init.d/iptables restart して様子を見る。

   -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 + -A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
 + -A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
   -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

cat /proc/net/ipt_recent/SSH すれば、アタックしてきたIPが出てくる(正規のアクセスも含まれる)

日本以外からのssh接続を拒否するフィルタを設定するのも手かもしれない。

[2010/12/15] ポート番号を22から適当な番号に変更した。クライアント側の設定変更が面倒だが、セキュリティ上は好ましい。
新規接続の頻度でフィルタする iptables のエントリも削除した。

-[[sshへの総当り攻撃をiptablesの2行で防ぐ方法 (blog@browncat.org):http://blog.browncat.org/2007/07/sshiptables2.html]]
-[[ファイアウォール構築(iptables) - CentOSで自宅サーバー構築:http://centossrv.com/iptables.shtml]]
-[[世界の国別 IPv4 アドレス割り当てリスト:http://nami.jp/ipv4bycc/]]

**root宛てのメール [#yb43e0d5]
少なくとも1日1通 Logwatch からのメールが届くので、
root宛てのメールを Thunderbird で読めるようにする。

 $ sudo yum install dovecot thunderbird
 
 $ sudo vi /etc/dovecot.conf
 protocols = imap
 mail_location = mbox:~/mail:INBOX=/var/mail/%u
 $ sudo service dovecot start
 $ sudo chkconfig dovecot on
 
 $ sudo vi /etc/aliases
 root: otsuka
 $ sudo newaliases

これまで溜まっていた root 宛てのメールを inbox へ移動

 $ cd /var/mail
 $ sudo cp root otsuka
 $ sudo chown otsuka.mail otsuka
 $ sudo chmod 660 otsuka

Thunderbird で以下ようなアカウントを作成 (外にメールを出すことがあるのなら、
実在するメールアドレスで設定する)。

 Your Name: Koichi Otsuka
 Email Address: otsuka@sakura-vps.local
 Server Type: IMAP Mail Server
 Server Name: localhost
 User Name: otsuka
 
 Outgoing Server
 Server Name: localhost

**httpサーバー [#k6fb2828]
localhostで[[p2 (PHPでつくった2ch Viewer)>Sakura/rep2]]を入れるために
httpサーバーを立ち上げる。
p2はSakuraのレンタルサーバーでも動作するが、最近過負荷が酷くなってきたのでVPSに移すことにした。
ポート80(http)への外からのアクセスは、デスクトップの Firefox からのみアクセスするのであれば、
不要だがiPhone等からもアクセスしたいときは、乗っ取られないように慎重に開ける。

 $ sudo yum install httpd php php-mbstring
 
 $ sudo vi /etc/sysconfig/iptables
   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
 + -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
 $ sudo service iptables restart
 $ sudo service httpd start
 $ sudo chkconfig httpd on
 $ sudo vi /etc/php.ini
 mbstring.* のコメントを全て外した

安全性に問題ないのか検証していないが、一般ユーザーでもhttpdのアクセスログを見れるようにした。

 $ sudo chmod go+rx /var/log/httpd
 $ tail -F /var/log/httpd/access_log

httpサーバーを開放する場合は、インストールするモジュールなどを慎重に設定する。
php-admin等、デフォルトのフォルダ構成や簡単なパスワード等で公開しない、等の注意が必要。

**その他チューニング [#s5495657]
-[[CentOSをサーバーとして活用するための基本的な設定 (さくらインターネット創業日記):http://tanaka.sakura.ad.jp/archives/001065.html]] にあるように不要なデーモンを一気にoff、
inittab の不要なコンソールも停止。

----
#include(免責事項)


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS