CentOS5.5のセットアップ備忘録

インストール
  • VMWare ESXi上にインストール
  • 一応 DVD イメージをダウンロードしたけど、ネットインストールでも問題ないかも
  • CentOS 4/5(64bit)、メモリ512MB、HDD 8GB でインスタンス作成
  • インストール時に標準では ext3 になるファイルシステムext2 に変更
    • ext3 だとジャーナル書き込みのために5秒間隔でHDDアクセスが発生するのを嫌ったため
    • うちの環境では、VMWare のストレージプールは raidz でつくった ZFS 上にあるため、あんまり HDD の障害は気にしていない
      • いきなりシャットダウンとかしたらダメかも・・・?
  • インストール時に「サーバ」や「デスクトップ」など、すべてのチェックをはずす
  • すぐにカスタマイズするよう選択
    • テキストエディタ + ベース(最小構成用のパッケージのみらしい、その割にいらない物たくさん)
インストール後の設定
  • 初回起動時にネットワークやセキュリティ、デーモン起動有無の設定画面が表示される
  • ネットワーク
  • セキュリティ
    • ファイアウォール無効
    • SELinux 無効
      • 上手くいかないことが多かったので
    • ssh での root ログインを禁止する
      • /etc/ssh/sshd_config を修正
      • PermitRootLogin no を記述する
    • root ユーザになれる人を制限する
      • 管理者ユーザを wheel グループに追加
      • /etc/pam.d/su を修正して、wheel グループのユーザだけが su できるようにする
      • http://centossrv.com/centos5-init.shtml の辺りを参考に作業
  • キーボード
    • インストール時に日本語にしてしまったので、英字配列にもどす
    • /etc/sysconfig/keyboard を修正
      • KEYTABLE="jp106" を KEYTABLE="us" に変更する
  • 不要なサービスを停止する
    • chkconfig xxxx off しまくる
    • http://www.obenri.com/_minset_cent5/daemon_cent5.html この辺りを参考にしながら
    • chkconfig --list | grep "3:on" の結果(postfix とかインストールしたあと)
      • anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • atd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • kudzu 0:off 1:off 2:off 3:on 4:on 5:on 6:off
      • network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
      • vmware-tools 0:off 1:off 2:on 3:on 4:off 5:on 6:off
      • yum-cron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  • yum
  • postfix
  • tripwire
    • ファイルの改竄を検出できる
    • EPEL から yum install tripwire でインストール
    • 設定はなんだか大変なので、以下を参考にしながら
    • /etc/tripwire/twcfg.txt
      • MAILNOVIOLATIONS = false #問題ない場合にメール送らない
    • /etc/tripwire/twpol.txt.new
      • メール送信されるように、80行目あたりからのセクションをまるごと囲むセクションを作成
      • mailto = root #メール送信先は root
        • root へのメールは普段つかうメールアドレスに転送設定しておく
    • /etc/cron.daily/tripwire-check
      • LANG=C
        • 念のため。LANG=ja_JP.UTF-8 だとリポートに日本語(日時周り)が含まれてしまい、データベースの更新に失敗するので。
      • tripwire --check -M
        • メール送信の -M を追加
    • screen コマンドの作るファイルとかも検出されてしまう、ちょっと邪魔くさい
      • ポリシーの修正が必要、しばらく運用して検出しなくて良いものを選別する
    • レポート内容でDB更新
      • tripwire --update
  • checkrootkit
  • Clam AntiVirus