さくらのVPS(初期設定)

[参考URL]
http://blog.uklab.jp/web/setting-sakura-vps-01/

  1. サーバーの起動
  2. rootパスワードの変更

    passwd

  3. 一般ユーザーの追加とパスワード設定

    useradd sakura
    passwd sakura

  4. sudoの設定

    usermod -G wheel sakura
    vi /etc/pam.d/su

    1行目の

    #auth   required   pam_wheel.so   use_uid

    をコメント解除し、上書き保存

  5. 鍵認証の設定

    一般ユーザーで接続し
    mkdir ~/.ssh
    chmod 700 ~/.ssh

    ログアウトし、ターミナルで
    cd ~/.ssh
    ssh-keygen -t rsa

    ファイル名を以下に指定

    sakura_rsa

    公開鍵をサーバーにアップロード
    chmod 600 ~/.ssh/sakura_rsa
    scp ~/.ssh/sakura_rsa.pub sakura@サーバーIPアドレス:~/.ssh/authorizedkeys

    SSH接続情報ファイルを作成
    vi ~/.ssh/config

    以下の内容を記述し、保存。

    Host sakuravps
    
    HostName サーバーIPアドレス
    
    Port 22
    
    User sakura
    
    IdentityFile ~/.ssh/sakura_rsa

    SSH接続を実行
    ssh sakuravps

  6. ログイン方式の変更

    su -
    vi /etc/ssh/sshd_config

    #Port 22

    をコメント解除し、22を任意の数字(1025〜65535の間)に変更

    #PermitRootLogin yes

    をコメント解除し、yesをnoに変更

    PasswordAuthentication yes

    を no に変更

    #PermitEmptyPasswords no

    をコメント解除し、上書き保存

    /etc/rc.d/init.d/sshd reload

    で設定を反映。

    ここでログアウト後、ログインを試行し下記を確認
     ・ポート22での接続ができなくなっているか
     ・rootでログインできなくなっているか
     ・パスワードでログインできなくなっているか

  7. 言語環境を日本語にする

    ssh sakuravps
    su -
    vi /etc/sysconfig/i18n

    LANG="C"

    LANG="ja_JP.UTF-8"

    に変更し、上書き保存。

  8. パッケージを更新と自動更新の設定

    パッケージの更新
    yum -y update

    自動更新をインストール
    yum -y install yum-cron

    自動更新を起動
    /etc/rc.d/init.d/yum-cron start

    自動起動に設定
    chkconfig yum-cron on

    自動起動を確認(2〜5がonになっているか)
    chkconfig --list yum-cron

  9. root宛のメールを転送

    旧設定の削除
    sed -i '/^root:d' /etc/aliases

    設定の追加
    echo "root: メールアドレス" >> /etc/aliases

    設定を反映
    newaliases

    メール転送のテスト
    echo test|mail root

  10. kernel panic時の自動再起動

    vi /etc/sysctl.conf

    最終行に以下を追加し、上書き保存。

     # When kernel panics, reboot after 10 seconds
    
     kernel.panic = 10

    設定を反映
    sysctl -p

    設定の確認(10と表示されればOK)
    cat /proc/sys/kernel/panic

  11. IPv6の無効化

    IPv6ファイアーウォールを停止
    /etc/rc.d/init.d/ip6tables stop

    自動起動を解除
    chkconfig ip6tables off

    IPv6を無効化
    echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6.conf

  12. ログの保存期間変更とlogwatchのインストール

    vi /etc/logrotate.conf

    下記の4を12に変更し、上書き保存。

    rotete 4

    logwatchをインストール
    yum -y install logwatch

  13. iptablesの設定

    cd
    vi iptables.sh
    以下のリンクからテキストを貼り付けて、上書き保存。
    iptables.sh

    vi iptables_functions
    以下のリンクからテキストを貼り付けて、上書き保存。
    iptables_functions

    vi /etc/cron.daily/iplist_check.sh
    以下のリンクからテキストを貼り付けて、上書き保存。
    iplist_check.sh

    スクリプトを実行可能に設定
    chmod +x /etc/cron.daily/iplist_check.sh

    スクリプトを実行
    sh iptables.sh

    iptablesの自動起動を設定
    chkconfig iptables on

    iptablesの自動起動を確認(2〜5がonになっていること)
    chkconfig --list iptables

  14. denyhostsのインストール

    denyhostsをインストール
    yum -y install denyhosts

    denyhostsを起動
    /etc/init.d/denyhosts start

    denyhostsの自動起動を設定
    chkconfig denyhosts on

    denyhostsの自動起動を確認
    chkconfig --list denyhosts

  15. 再起動

    reboot