web-dev-qa-db-ja.com

/etc/sysctl.confのLinuxウェブホストセキュリティ設定

Linuxサーバーを保護するためのその他の方法を探しているときに、次の/etc/sysctl.conf構成を見つけました。あまり説明もなく、そのまま来ました。実稼働環境(Ubuntu 12.04 LTSを使用)で使用する前に、Webサーバーでの影響を知りたいと思います。

# Avoid a smurf attack
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Turn on protection for bad icmp error messages
net.ipv4.icmp_ignore_bogus_error_responses = 1

# Turn on syncookies for SYN flood attack protection
net.ipv4.tcp_syncookies = 1

# Turn on and log spoofed, source routed, and redirect packets
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1

# No source routed packets here
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# Turn on reverse path filtering
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Make sure no one can alter the routing tables
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

# Don't act as a router
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0


# Turn on execshild
kernel.exec-shield = 1
kernel.randomize_va_space = 1

# Tune IPv6
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1
  1. スマーフ攻撃とは何ですか?
  2. なぜ悪いicmpエラーメッセージが悪いのですか?言い換えれば、これを無効にするのにどのようなメリットがありますか?
  3. SyncookieまたはSYNフラッド攻撃とは何ですか?
  4. スプーフィング、ソースルーティング、およびリダイレクトパケットをオンにしてログに記録するのはなぜですか?リダイレクトおよびソースルーティングされたパケットが悪いのはなぜですか?
  5. リバースパスフィルタリングとは何ですか?
  6. Execshildとrandomize_va_spaceとは何ですか?
  7. 全体として、サーバーの設定をさらに追加したり、削除したりしますか?どうして?

誰かがここで各設定について説明(またはそれらを説明するリソース)を与えることができれば最もありがたいです。


更新:

このドキュメントは、IP関連の設定を理解するのに非常に役立ちます: http://www.frozentux.net/ipsysctl-tutorial/ipsysctl-tutorial.html

2
Mehdi
  1. スマーフ攻撃とは、誰かがパケットをブロードキャストアドレスに送信し、通常はスプーフィングされた送信元を使用して、あなたをだまして多数の応答を送信させる攻撃です。

  2. エラーメッセージでログを詰まらせます。それらを無視すると、ログが整理されたままになります。とにかくインターネットを修正できるわけではありません。

  3. SYNフラッド攻撃は、攻撃者が多数のTCP接続要求でサーバーを攻撃する攻撃です。サーバー上のメモリを消費し、すべての接続要求を追跡するように強制するという考え方です。 .SYN Cookieを使用すると、サーバーはメモリを使用せずに接続要求を処理できます。

  4. ソースルーティングされたパケットは、外部から使用されて内部ネットワークポリシーが無視されたり、違反されたりする可能性があるため、不適切です。スプーフィングされたパケット、ソースルーティングされたパケット、またはリダイレクトパケットをログに記録することは理にかなっています。これは、悪いICMPエラーメッセージとは異なり、これらは通常、構成エラーやルーターの破損ではなく、誰かが意図的に何かをしていることを示しているためです。

  5. リバースパスフィルタリングにより、パケットをその送信元に送信するために使用しないインターフェイスで受信された場合、ルーターはパケットをドロップします。個人的には、常に無効にしています。私の経験では、IPマルチパスの破損など、解決するよりもはるかに多くの問題が発生します。

8
David Schwartz