热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheforUNIXBSDLinux的防攻击

ApacheforUNIXBSDLinux的防攻击--Linux企业应用-Linux服务器应用信息,下面是详情阅读。
看看这个对你有没有帮助

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攻击

各种网络应用软件一般必须开放一个或者几个端口供外界使用,所以其必定可以会被恶意攻击者向这几个口发起拒绝服务攻击,其中一个很流行的攻击就是SYNFLOOD,在攻击发生时,客户端的来源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_broadcast 0
防止地址掩玛查询.

/usr/sbin/ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
关闭对时间戳广播询问的响应.

C. Tru64 UNIX
没有推荐的调整.

D. HP-UX
ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0
防止泄露主机配置的网络掩码.

ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
关闭对时间戳广播询问的响应.

E. Linux kernel 2.2
没有推荐的调整.

F. FreeBSD
sysctl -w net.inet.icmp.maskrepl=0

G. IRIX
使用ipfilterd 来阻塞不需要的ICMP类型.

9,调整参数以支持RFC1948

下面几个调整会利用RFC1948
TCP/IP序列号产生技术来保证给一个TCP 套接口的序列号码非常难猜测:

B. Solaris
Set TCP_STRONG_ISS=2 in /etc/default/inetinit.
这需要重新启动才能使能.

G. IRIX
/usr/sbin/systune tcpiss_md5 to 1
推荐阅读
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了解决全栈跨域问题的方法及步骤,包括添加权限、设置Access-Control-Allow-Origin、白名单等。通过这些操作,可以实现在不同服务器上的数据访问,并解决后台报错问题。同时,还提供了解决second页面访问数据的方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
author-avatar
北京超凡传媒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有