自宅で HTTP Apache サーバーをホストするのはどれくらい安全ですか?

自宅で HTTP Apache サーバーをホストするのはどれくらい安全ですか?

Ubuntu サーバーと Apache2 がインストールされた古いサーバーがあります。これを使用して、小さな 1 ページ サイトを運営しています。パブリック IP に接続している無料ドメイン「musicmash.tk」に「freenoms」を使用しています。ルーターは、サーバーのポートを HTTP に転送する単純な ISP ルーターです (80 だと思います)。誰かがサーバーを消去しても、ネットワークの残りの部分 (Samba 共有など) にアクセスできれば心配ありません。セキュリティについて心配する必要がありますか? セキュリティを強化するために簡単にできることはありますか?

答え1

ポート 80 のみを転送している場合は、あまり心配する必要はありませんが、Web サーバーによって異なります。たとえば、mysql で Web サイトを使用している場合は、常に強力なパスワードを使用し、mod_security をインストールする必要があります。SQL インジェクション メソッドが多数存在し、これらが成功すると、攻撃者が Ubuntu サーバーにアクセスできるようになるためです (ローカル ネットワーク上にあると想定されるため、潜在的なリスクがあります)。また、ブルートフォース攻撃を防ぎ、サーバー上のアクティビティ (アクセス、システム ファイルの変更など) を監視するために、ファイアウォールをインストールします。現在、csf/lfd に満足していますが、これは CentOS 上のものであり、Ubuntu でどのように機能するかはわかりません。

答え2

私見では、少なくとも以下の点には十分注意する必要があります。

  • ソフトウェアのセキュリティ更新には十分注意し、脆弱性が発見されたらすぐにパッチを適用してください。特に、Apache や、実行可能なパブリック Web アプリ (ブログ、Wiki など) については注意が必要です。
  • ボットの攻撃を受けにくくするために、非標準のTCPポートを使用することをお勧めします。
  • モデムのping応答を無効にする
  • サーバー上で実行されるスマートスクリプト(php、cgi、アップロードフォームなど)には十分注意してください。少ないほど良く、制限が厳しいほど良いです。

また、ホワイト リスト ルール セットを使用してファイアウォールを設定することもできます。たとえば、http リスニング ポートでの着信 TCP 要求によって開始されるパブリック出力トラフィックを制限し、着信パブリック トラフィックを http 宛先ポートに制限し、新しい発信 TCP 接続を拒否します。Armor または selinux を使用するのも良いアイデアです。

関連情報