/etc/sysctl.conf中的Linuxnetworking主机安全设置

在寻找更多保护Linux服务器的方法时,我发现了下面的/etc/sysctl.confconfiguration。 就这样,没有太多的解释。 在生产环境中使用它(使用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. 什么是smurf攻击?
  2. 为什么坏的icmp错误信息不好? 换句话说,有什么好的来禁用这个?
  3. 什么是syncookies或SYN洪水攻击?
  4. 为什么打开并logging欺骗,源路由和redirect数据包? 为什么redirect和源路由数据包不好?
  5. 什么是反向path过滤?
  6. 什么是execshild和randomize_va_space?
  7. 总的来说,你想添加更多的东西或从它删除一些设置为您的服务器? 为什么?

如果有人可以在这里给出一个解释(或解释他们的资源),这将是非常感谢。


更新:

我发现这个文件非常有助于理解IP相关的设置: http : //www.frozentux.net/ipsysctl-tutorial/ipsysctl-tutorial.html

  1. smurf攻击是有人发送数据包到一个广播地址,通常与欺骗性的来源,诱使你发送大量的答复。

  2. 堵塞您的日志与错误消息。 忽略它们可以保持日志整齐。 这不像你可以修复互联网。

  3. SYN Flood攻击是指攻击者利用大量的TCP连接请求攻击服务器。 这个想法是消耗服务器上的内存,迫使它跟踪所有的连接请求。 SYN Cookie允许服务器处理连接请求而不使用任何内存。

  4. 源路由数据包是不好的,因为它们可以被外部使用,导致您的内部networking策略被忽略或违反。 logging欺骗,源路由或redirect数据包是有道理的,因为与坏的ICMP错误消息不同,这通常表示某人正在故意做某事,而不是configuration错误或路由器损坏。

  5. 反向path过滤会导致您的路由器丢弃一个数据包,如果它在一个您不会用来发送数据包的接口上收到的话。 就个人而言,我总是禁用它。 以我的经验来看,它创造的问题比解决问题多得多,例如,打破IP多path。