1. 关闭如下参数可以防止黑客对服务器IP地址的攻击
sysctl -w net.ipv4.conf.all.accept_source_route=0
sysctl -w net.ipv4.conf.default.accept_source_route=0
sysctl -w net.ipv4.conf.eth0.accept_source_route=0
sysctl -w net.ipv4.conf.lo.accept_source_route=0
2. 保护服务器避免受syn-flood攻击参数设置如下
sysctl -w net.ipv4.tcp_syncookies=1
(说明:通过修改TCP协议的序列号生成方法来加强抵御syn-flood攻击,RHEL5默认打开,值为1)
sysctl -w net.ipv4.tcp_synack_retries=1
(说明:SYN-ACK重传次数linux系统默认为5次,可减少重传次数将此值设为1)
sysctl -w net.ipv4,tcp_max_syn_backlog=8192
(说明:此参数为半连接队列的最大容纳数目,RHEL5默认为1024,可将此数扩大8倍设为8192)
sysctl -w net.core.wmem_max=8388608
sysctl -w net.core.rmem_max=8388608
(说明:对于所有协议的队列,设置最大系统发送套接字缓冲区大小wmem和接收套接字缓冲区大小
rmem到8M)
sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608"
sysctl -w net.ipv4.tcp_wmem="4096 87380 8388608"
sysctl -w net.ipv4.tcp_mem="8388608 8388608 8388608"
(说明:以上参数设定了发送和接受缓存的三个值:最小值、缺省值、最大值;其中第三个值必须
小于等于wmem_max和rmem_max)
3. 配置服务器拒绝接受广播风暴
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
4. 对于同时支持很多连接的服务器,打开此参数使新的连接可以重新使用TIME-WAIT套接字,对于Web服务器很有效
sysctl -w net.ipv4.tcp_tw_reuse=1
打开以上这个参数后还要启动TIME-WAIT套接字状态的快速循环功能:
sysctl -w net.ipv4.tcp_tw_recycle=1
5. 在服务器上可能出现同一时刻的大量TCP连接里有很多的连接被打开但却未使用,TCP的keepalive功能检测到这些连接,缺省情况下7200s(2小时)后丢掉,可改成1800s(30分钟)来提高内存使用率提高性能
sysctl -w net.ipv4.tcp_keepalive_time=1800