web-dev-qa-db-ja.com

サーバーをどのように保護する必要がありますか?

Ubuntu 10.04、サーバー版に向けて、サーバーを保護するためにどのツール/プラクティスをお勧めしますか?

22
Grant Palin

これは少し特定的ではありませんが、一般的には

  • iptablesまたはfwなどのファイアウォールを実行して、開いているポートへの接続を管理します。

  • 必要なソフトウェアのみをインストールしてください。

  • サーバーの実行に不可欠なサービスのみを実行します。

  • すべてのセキュリティパッチを使用して、そのソフトウェアを最新の状態に保ちます。

  • 新しいユーザーを、職務の遂行に必要な最小限の特権で設定します。

  • denyhostsまたはfail2banを実行して、ブルートフォース攻撃をチェックします。

  • logwatchを実行して、ログファイルの異常をメールで送信します。

  • 疑わしいアクティビティがないか頻繁にログを確認してください。

  • Sudoを常に使用し、強力なパスワードを使用します。

  • Apache、exim、proftpd、dovecotなどのSSLで弱いおよび中程度の強度の暗号を無効にします。

  • Localhostのみをリッスンするようにサービスを設定します(適切な場合)。

  • chkrootkitを毎日実行します。

  • clamscanを実行して、Windowsウイルスのチェックに必要な頻度で実行します(適切な場合)。

  • 警戒し、サーバーを知り、何をすべきか、何をすべきでないかを知ってください。

常にチェックして保護することで、物事を安全に保ちます。何が何をするのか、どのように、なぜ、または疑わしいと思われる場合は、他の人にアドバイスを求めてください。

25

リチャード・ホロウェイによる素晴らしい答え。特定のステップバイステップガイドをお探しの場合は、Slicehostライブラリの次の2部ガイドをご覧ください。

  1. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-1
  2. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-2

Ubuntu Serverインスタンスをセットアップする必要がある場合は、ほぼどこでも使用します。私はあなたがそれを好きになると確信しています。

他の優れたソースは、 http://library.linode.com/ にあるLinode Libraryです。

両方の場所で記事をチェックしてください。そこには多くの情報があり、サーバーを適切に処理するのに十分な知識を備えています。

PS:ライブラリは、優れたシステム管理者の直感、洞察、意思決定機能の代わりになることはありません。

9
Mir Nazim

言及されていないものは「64ビットを使用する」です。これにより、とりわけNXメモリ保護が確実に得られます。

2
Kees Cook

私が推奨する傾向がある3つのことは次のとおりです。

  • すべてのグローバルに書き込み可能な領域(/ tmp、/ var/tmp)を 'noexec'としてマウントします。これは、システムをアップグレードすることを選択しない限り、(執筆時点で)例外を除き、ほとんどの部分で安全です。詳細については、Launchpadのバグ#572723を参照してください。

  • どうしても必要な場合を除き、コンパイラーやアセンブラーをインストールしないでください。これは自明だと思います。

  • AppArmorを使い始めましょう:AppArmorはSELinuxの代替として見ることができ、アプリケーションを実行するサンドボックスに対するUbuntuの優れた機能であり、必要以上にアクセスできないようにします。興味がある場合は、フォーラムでガイドを確認することをお勧めします。 http://ubuntuforums.org/showthread.php?t=1008906

1
ibuclaw
  • 環境に適したルールセットを使用してiptablesをインストールおよび構成します。着信トラフィックと発信トラフィックの両方をフィルタリングします。
  • psadは、システムに対するポートスキャンを検出して警告します。
  • fail2banを使用して、SSHに対するブルートフォースログイン試行を防ぎます。
  • ルートアカウントを使用したリモートアクセスを許可しません。これは、とりわけ、攻撃者がサーバーへのブルートフォースアクセスを試みる場合、ユーザー名とパスワードの両方を調査する必要があることを意味します。
  • すべてのユーザーアカウントに強力なパスワードを使用します。
  • SSHアクセスは、可能であれば特定のIPアドレスからのみ利用できるように制限します。
  • 別のホストベースの侵入検知システムのTripwireを使用します。
  • Nagiosなどのネットワーク監視プログラムでサーバーを監視します。
1
Mark Davidson

ファイアウォールの場合、@ Firestarter または fwgufw に見えることがあります。

0
ssanj