📄 1301.html
字号:
<TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff
border=0>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
<TR>
<TD vAlign=top align=middle width="60%">
<TABLE cellSpacing=0 cellPadding=0 width="100%"
background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
<TBODY>
<TR>
<TD vAlign=top width="80%">
<DIV align=center>
<FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
</FORM>
<TABLE cellSpacing=0 cellPadding=0 width="95%"
border=0><TBODY>
<TR>
<TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif"
height=30></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>apache的防攻击</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>看看这个对你有没有帮助<br>
<br>
A. IBM AIX 4.3.X<br>
B. Sun Solaris 7<br>
C. Compaq Tru64 UNIX 5.X<br>
D. HP HP-UX 11.0 (research ongoing)<br>
E. Linux kernel 2.2 (tested both SuSE Linux 7.0 和 RedHat 7.0)<br>
F. FreeBSD<br>
G. IRIX 6.5.10<br>
<br>
下面叙述的一些调整参数和句法在重新启动后将不会自动激活,所以如果你需要<br>
在每次启动的时候长期保持这些参数,你就需要增加这些实时命令到如下的启动<br>
文件中:<br>
<br>
AIX - /etc/rc.net<br>
Solaris - /etc/init.d/inetinit<br>
Tru64 UNIX - 使用sysconfigdb 或者 dxkerneltuner 命令<br>
HP-UX - /etc/rc.config.d/nddconf<br>
Linux kernel 2.2 - /etc/sysctl.conf<br>
FreeBSD - /etc/rc.conf<br>
IRIX - 使用systune命令<br>
<br>
====================================================================<br>
<br>
以下是一些IP堆栈调整建议:<br>
<br>
1,调节TCP发送和接受空间(TCP send and receive spaces)<br>
<br>
TCP发送和接受的空间直接影响TCP 窗口大小参数(TCP window size parameter),<br>
一定程度上的窗口大小增加有助于更有效的传输,尤其是一些需要大数量传输的<br>
服务如FTP和HTTP,默认的一些设置不是每个系统都是最优化的,一般我们需要<br>
增加这个窗口大小为32768字节。除非你设置的时候很清楚的理解RFC1323(<br>
http://www.ietf.org/rfc/rfc1323.txt?number=1323)和RFC2018(http://www.<br>
ietf.org/rfc/rfc2018.txt?number=2018),否则你不要把这个值增加到高于64K字节。<br>
<br>
A. AIX<br>
/usr/sbin/no -o tcp_sendspace=32768<br>
/usr/sbin/no -o tcp_recvspace=32768<br>
<br>
B. Solaris<br>
/usr/sbin/ndd -set /dev/tcp tcp_xmit_hiwat 32768<br>
/usr/sbin/ndd -set /dev/tcp tcp_recv_hiwat 32768<br>
<br>
C. Tru64 UNIX<br>
没有推荐的调整.<br>
<br>
D. HP-UX<br>
默认情况下TCP发送和接受空间已经设置为32768.<br>
<br>
E. Linux kernel 2.2<br>
Linux自动分配TCP发送和接受空间并默认共同支持RFC1323 (large window support,<br>
net.ipv4.tcp_window_scaling) 和 RFC2018 (SACK support, net.ipv4.tcp_sack).<br>
<br>
F. FreeBSD<br>
sysctl -w net.inet.tcp.sendspace=32768<br>
sysctl -w net.inet.tcp.recvspace=32768<br>
<br>
G. IRIX<br>
默认情况下TCP发送和接受空间设置为64K字节.<br>
<br>
2,调整套接口序列防止SYN攻击<br>
<br>
各种网络应用软件一般必须开放一个或者几个端口供外界使用,所以其必定可以<br>
会被恶意攻击者向这几个口发起拒绝服务攻击,其中一个很流行的攻击就是SYN<br>
FLOOD,在攻击发生时,客户端的来源IP地址是经过伪造的(spoofed),现行的IP<br>
路由机制仅检查目的IP地址并进行转发,该IP包到达目的主机后返回路径无法通<br>
过路由达到的,于是目的主机无法通过TCP三次握手建立连接。在此期间因为TCP<br>
套接口缓存队列被迅速填满,而拒绝新的连接请求。为了防止这些攻击,部分UNIX<br>
变种采用分离入站的套接口连接请求队列,一队列针对半打开套接口(SYN 接收,<br>
SYN|ACK 发送), 另一队列针对全打开套借口等待一个accept()调用,增加这两队<br>
列可以很好的缓和这些SYN FLOOD攻击并使对服务器的影响减到最小程度:<br>
<br>
A. AIX<br>
/usr/sbin/no -o clean_partial_conns=1<br>
这个设置会指示内核随机的从q0队列中去掉半打开套接口来为新的套接口增加<br>
所需空间。<br>
<br>
B. Solaris<br>
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q 1024<br>
使q 队列拥有接口等待来自应用程序的accept()调用.<br>
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q0 2048<br>
使q0 队列能维护半打开套接口.<br>
<br>
C. Tru64 UNIX<br>
/sbin/sysconfig -r socket sominconn=65535<br>
这个sominconn的值决定了系统能同时处理多少个相同的进入的SYN信息包.<br>
/sbin/sysconfig -r socket somaxconn=65535<br>
这个somaxconn值设置了系统能保留多少个待处理TCP连接.<br>
<br>
D. HP-UX<br>
/usr/sbin/ndd -set tcp_syn_rcvd_max 1024<br>
/usr/sbin/ndd -set tcp_conn_request_max 200<br>
<br>
E. Linux kernel 2.2<br>
/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=1280<br>
有效的增加q0的套接口队列大小.<br>
/sbin/sysctl -w net.ipv4.tcp_syn_cookies=1<br>
启用TCP SYN cookies支持,能有效的减轻SYN FLOOD的攻击,但是这个参数会对一些<br>
大的窗口引起一些性能问题(参看RFC1323 and RFC2018.<br>
<br>
F. FreeBSD<br>
sysctl -w kern.ipc.somaxconn=1024<br>
<br>
G. IRIX<br>
listen()队列被硬性设置为32.但是系统实际采用待处理连接数为((3 * backlog) / 2) + 1,<br>
其中的backlog数值最大值为49.<br>
<br>
3,调整Redirects参数<br>
<br>
恶意用户可以使用IP重定向来修改远程主机中的路由表,在设计良好的网络中,<br>
末端的重定向设置是不需要的,发送和接受重定向信息包都要关闭。<br>
<br>
A. AIX<br>
/usr/sbin/no -o ipignoreredirects=1<br>
/usr/sbin/no -o ipsendredirects=0<br>
<br>
B. Solaris<br>
/usr/sbin/ndd -set /dev/ip ip_ignore_redirect 1<br>
/usr/sbin/ndd -set /dev/ip ip_send_redirects 0<br>
<br>
C. Tru64 UNIX<br>
没有推荐的调整设置.<br>
<br>
D. HP-UX<br>
/usr/sbin/ndd -set /dev/ip ip_send_redirects 0<br>
<br>
E. Linux kernel 2.2<br>
/sbin/sysctl -w net.ipv4.conf.all.send_redirects=0<br>
/sbin/sysctl -w net.ipv4.conf.all.accept_redirects=0<br>
<br>
F. FreeBSD<br>
sysctl -w net.inet.icmp.drop_redirect=1<br>
sysctl -w net.inet.icmp.log_redirect=1<br>
sysctl -w net.inet.ip.redirect=0<br>
sysctl -w net.inet6.ip6.redirect=0<br>
<br>
G. IRIX<br>
/usr/sbin/systune icmp_dropredirects to 1<br>
<br>
4,调整ARP清理设置<br>
<br>
通过向IP路由缓冲填充伪造的ARP条目可以让恶意用户产生资源耗竭和性能减低<br>
攻击。在Solaris中,有2个参数可以管理间隔的清理IP路由缓冲,针对未请求的<br>
ARP响应可以通过arp_cleanup_interval调整,AIX可以通过artp_killc来设置。<br>
<br>
<br>
<br>
A. AIX<br>
/usr/sbin/no -o arpt_killc=20<br>
B. Solaris<br>
/usr/sbin/ndd -set /dev/arp arp_cleanup_interval 60000<br>
C. Tru64 UNIX<br>
没有参考的调整设置.<br>
D. HP-UX<br>
默认设置为5分钟.<br>
E. Linux kernel 2.2<br>
没有参考的调整设置.<br>
F. FreeBSD<br>
sysctl -w net.link.ether.inet.max_age=1200<br>
G. IRIX<br>
没有参考的调整设置.<br>
<br>
5,调整源路由的设置<br>
<br>
通过源路由,攻击者可以尝试到达内部IP地址 --包括RFC1918中的地址,所以<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -