分享
 
 
 

UNIX IP Stack 调整指南

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

本文的目的是为了调整UNIX IP堆栈以更有效的防止现今多种类型的攻击,详细

描述了一些UNIX服务系统中网络服务如HTTP或者routing的推荐设置,其中系统

包括了如下不同的UNIX:

A. IBM AIX 4.3.X

B. Sun Solaris 7

C. Compaq Tru64 UNIX 5.X

D. HP HP-UX 11.0 (research ongoing)

E. Linux kernel 2.2 (tested both SuSE Linux 7.0 和 RedHat 7.0)

F. FreeBSD

G. IRIX 6.5.10

下面叙述的一些调整参数和句法在重新启动后将不会自动激活,所以如果你需要

在每次启动的时候长期保持这些参数,你就需要增加这些实时命令到如下的启动

文件中:

AIX - /etc/rc.net

Solaris - /etc/init.d/inetinit

Tru64 UNIX - 使用sysconfigdb 或者 dxkerneltuner 命令

HP-UX - /etc/rc.config.d/nddconf

Linux kernel 2.2 - /etc/sysctl.conf

FreeBSD - /etc/rc.conf

IRIX - 使用systune命令

====================================================================

以下是一些IP堆栈调整建议:

1,调节TCP发送和接受空间(TCP send and receive spaces)

TCP发送和接受的空间直接影响TCP 窗口大小参数(TCP window size parameter),

一定程度上的窗口大小增加有助于更有效的传输,尤其是一些需要大数量传输的

服务如FTP和HTTP,默认的一些设置不是每个系统都是最优化的,一般我们需要

增加这个窗口大小为32768字节。除非你设置的时候很清楚的理解RFC1323(

http://www.ietf.org/rfc/rfc1323.txt?number=1323)和RFC2018(http://www.

ietf.org/rfc/rfc2018.txt?number=2018),否则你不要把这个值增加到高于64K字节。

A. AIX

/usr/sbin/no -o tcp_sendspace=32768

/usr/sbin/no -o tcp_recvspace=32768

B. Solaris

/usr/sbin/ndd -set /dev/tcp tcp_xmit_hiwat 32768

/usr/sbin/ndd -set /dev/tcp tcp_recv_hiwat 32768

C. Tru64 UNIX

没有推荐的调整.

D. HP-UX

默认情况下TCP发送和接受空间已经设置为32768.

E. Linux kernel 2.2

Linux自动分配TCP发送和接受空间并默认共同支持RFC1323 (large window support,

net.ipv4.tcp_window_scaling) 和 RFC2018 (SACK support, net.ipv4.tcp_sack).

F. FreeBSD

sysctl -w net.inet.tcp.sendspace=32768

sysctl -w net.inet.tcp.recvspace=32768

G. IRIX

默认情况下TCP发送和接受空间设置为64K字节.

2,调整套接口序列防止SYN攻击

各种网络应用软件一般必须开放一个或者几个端口供外界使用,所以其必定可以

会被恶意攻击者向这几个口发起拒绝服务攻击,其中一个很流行的攻击就是SYN

FLOOD,在攻击发生时,客户端的来源IP地址是经过伪造的(spoofed),现行的IP

路由机制仅检查目的IP地址并进行转发,该IP包到达目的主机后返回路径无法通

过路由达到的,于是目的主机无法通过TCP三次握手建立连接。在此期间因为TCP

套接口缓存队列被迅速填满,而拒绝新的连接请求。为了防止这些攻击,部分UNIX

变种采用分离入站的套接口连接请求队列,一队列针对半打开套接口(SYN 接收,

SYN|ACK 发送), 另一队列针对全打开套借口等待一个accept()调用,增加这两队

列可以很好的缓和这些SYN FLOOD攻击并使对服务器的影响减到最小程度:

A. AIX

/usr/sbin/no -o clean_partial_conns=1

这个设置会指示内核随机的从q0队列中去掉半打开套接口来为新的套接口增加

所需空间。

B. Solaris

/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q 1024

使q 队列拥有接口等待来自应用程序的accept()调用.

/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q0 2048

使q0 队列能维护半打开套接口.

C. Tru64 UNIX

/sbin/sysconfig -r socket sominconn=65535

这个sominconn的值决定了系统能同时处理多少个相同的进入的SYN信息包.

/sbin/sysconfig -r socket somaxconn=65535

这个somaxconn值设置了系统能保留多少个待处理TCP连接.

D. HP-UX

/usr/sbin/ndd -set tcp_syn_rcvd_max 1024

/usr/sbin/ndd -set tcp_conn_request_max 200

E. Linux kernel 2.2

/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=1280

有效的增加q0的套接口队列大小.

/sbin/sysctl -w net.ipv4.tcp_syn_cookies=1

启用TCP SYN cookies支持,能有效的减轻SYN FLOOD的攻击,但是这个参数会对一些

大的窗口引起一些性能问题(参看RFC1323 and RFC2018.

F. FreeBSD

sysctl -w kern.ipc.somaxconn=1024

G. IRIX

listen()队列被硬性设置为32.但是系统实际采用待处理连接数为((3 * backlog) / 2) + 1,

其中的backlog数值最大值为49.

3,调整Redirects参数

恶意用户可以使用IP重定向来修改远程主机中的路由表,在设计良好的网络中,

末端的重定向设置是不需要的,发送和接受重定向信息包都要关闭。

A. AIX

/usr/sbin/no -o ipignoreredirects=1

/usr/sbin/no -o ipsendredirects=0

B. Solaris

/usr/sbin/ndd -set /dev/ip ip_ignore_redirect 1

/usr/sbin/ndd -set /dev/ip ip_send_redirects 0

C. Tru64 UNIX

没有推荐的调整设置.

D. HP-UX

/usr/sbin/ndd -set /dev/ip ip_send_redirects 0

E. Linux kernel 2.2

/sbin/sysctl -w net.ipv4.conf.all.send_redirects=0

/sbin/sysctl -w net.ipv4.conf.all.accept_redirects=0

F. FreeBSD

sysctl -w net.inet.icmp.drop_redirect=1

sysctl -w net.inet.icmp.log_redirect=1

sysctl -w net.inet.ip.redirect=0

sysctl -w net.inet6.ip6.redirect=0

G. IRIX

/usr/sbin/systune icmp_dropredirects to 1

4,调整ARP清理设置

通过向IP路由缓冲填充伪造的ARP条目可以让恶意用户产生资源耗竭和性能减低

攻击。在Solaris中,有2个参数可以管理间隔的清理IP路由缓冲,针对未请求的

ARP响应可以通过arp_cleanup_interval调整,AIX可以通过artp_killc来设置。

A. AIX

/usr/sbin/no -o arpt_killc=20

B. Solaris

/usr/sbin/ndd -set /dev/arp arp_cleanup_interval 60000

C. Tru64 UNIX

没有参考的调整设置.

D. HP-UX

默认设置为5分钟.

E. Linux kernel 2.2

没有参考的调整设置.

F. FreeBSD

sysctl -w net.link.ether.inet.max_age=1200

G. IRIX

没有参考的调整设置.

5,调整源路由的设置

通过源路由,攻击者可以尝试到达内部IP地址 --包括RFC1918中的地址,所以

不接受源路由信息包可以防止你的内部网络被探测。

A. AIX

/usr/sbin/no -o ipsrcroutesend=0

关闭源路由信息包发送.

/usr/sbin/no -o ipsrcrouteforward=0

如果你这个系统要做路由工作如防火墙,这个参数就很重要,关闭这个特征就

可以很好的防止转发源路由信息包.

B. Solaris

/usr/sbin/ndd -set /dev/ip ip_src_route_forward 0

如果你这个系统要做路由工作如防火墙,这个参数就很重要,关闭这个特征就

可以很好的防止转发源路由信息包.

C. Tru64 UNIX

没有推荐的调整.

D. HP-UX

ndd -set /dev/ip ip_forward_src_routed 0

关闭这个特征就可以很好的防止转发源路由信息包.

E. Linux kernel 2.2

/sbin/sysctl -w net.ipv4.conf.all.accept_source_route=0

丢弃所有源地址信息包.

/sbin/sysctl -w net.ipv4.conf.all.forwarding=0

/sbin/sysctl -w net.ipv4.conf.all.mc_forwarding=0

不转发源路由帧.

F. FreeBSD

sysctl -w net.inet.ip.sourceroute=0

sysctl -w net.inet.ip.accept_sourceroute=0

G. IRIX

/usr/sbin/systune ipforward to 2

6. 调整TIME_WAIT setting 设置

在一些比较繁忙的WEB服务器上,许多套接口可能就处于TIME_WAIT状态,这是

由于一些不正规编码的客户端应用程序没有很正确的处理套接口所引起的,这

就可能引起如DDOS的攻击。

A. AIX

没有推荐设置.

B. Solaris

/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 60000

这个参数影响了TCP套接口保持TIME_WAIT状态的时间数,默认情况下对于一个

繁忙的WEB服务器太高了,所以需要设置到低于每60秒,这个参数名字适用与

Solaris7或者更高的版本,在Solaris 7之前的版本,其名字不正确

的表识为tcp_close_wait_interval.

C. Tru64 UNIX

没有推荐的调整设置.

D. HP-UX

ndd -set /dev/tcp tcp_time_wait_interval 60000

套接口将保持TIME_WAIT状态不超过60秒.

E. Linux kernel 2.2

/sbin/sysctl -w net.ipv4.vs.timeout_timewait=60

套接口将保持TIME_WAIT状态不超过60秒.

F. FreeBSD

没有推荐的调整设置.

G. IRIX

/usr/sbin/systune tcp_2msl to 60

7,调整广播ECHO响应

Smurf攻击就是一个伪造的地址通过发送ICMP 8 0 (ECHO REQUEST) 信息到一个广

播地址,一些IP堆栈默认情况下会响应这些信息,所以必须关闭这个特征。如果

这个主机作为防火墙使用(router),关闭这个特征就不能处理处理广播。

A. AIX

/usr/sbin/no -o directed_broadcast=0

不响应直接广播.

B. Solaris

/usr/sbin/ndd -set /dev/ip ip_respond_to_echo_broadcast 0

不响应直接广播.

/usr/sbin/ndd -set /dev/ip ip_forward_directed_broadcasts 0

不转发直接广播.

C. Tru64 UNIX

没有推荐调整设置.

D. HP-UX

ndd -set /dev/ip ip_respond_to_echo_broadcast 0

不响应直接广播.

ndd -set /dev/ip ip_forward_directed_broadcasts 0

不转发直接广播.

E. Linux kernel 2.2

/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1

不响应直接广播.

F. FreeBSD

sysctl -w net.inet.icmp.bmcastecho=0

G. IRIX

/usr/sbin/systune allow_brdaddr_srcaddr to 0

8,针对其他广播探测的调整

其他还有2个广播探测可以让恶意用户利用,一个就是地址掩码查询可以用来探测

网络段大小和范围。时间戳广播可以映射和鉴定主机类型。

A. AIX

/usr/sbin/no -o icmpaddressmask=0

防止地址掩玛查询.

B. Solaris

/usr/sbin/ndd -set /dev/ip ip_respond_to_address_mask_bro

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有