Hardening Linux: a 10 step approach to a secure server
- 多く使われているdistributionをつかいましょう
- マウントポイントの決定
- /一個だけの構成はよろしくない
- /tmp、/var、/homeではnoexec、nosuid、nodevを記述しておこう
- /一個だけの構成はよろしくない
- 必要のないパッケージをインストールするな
- コンパイラや、開発ツールもだめ
- デフォルトパスワードの変更
- システムが作成するユーザの一部にはデフォルトパスワードが設定されている場合があるのでそれを見付けだし、ユーザを削除するか適切なパスワードを設定すること
- 管理用にユーザを作成すること
- 普段からルートで作業すんな:)、sudo使え
- 使っていないサービスは停止しよう
- psで確認してKillしろとあるが…、いまどきならchkconfigで確認してpsの結果と突き合わせですかな
- netstatもしとけー
- リモートからのルートユーザでのログインを禁止する
- sshd_config内でPermitRootLogin noしましょう
- ほとんどのdistributionはデフォルトでyesになっています
- sshd_config内でPermitRootLogin noしましょう
- IPTablesを使いましょう
- 各種パラメータの設定
- HIDSの導入
- 最新のパッチを当てましょう
- 昨日インストールしたものでも今日には最新のパッチがでているかもしれません
- 以降運用時に意識しておくべきこと
- 過信しないこと、そのサーバは常に破られる可能性をもっています
- 日頃からログを確認しましょう、エラーや警告の意味を理解しましょう
- 新しいアプリケーションを導入する前には評価を行いましょう、ほとんどの場合穴はOS自身ではなく、アプリケーションに存在します
- 素性の良いアプリケーションを使いましょう、可能ならchroot環境にインストールし、非ルートユザで起動しましょう
- バックアップをとりましょう、最後の砦です:)