如何建立一个网站收会员费,女人动漫做受网站,正规网页设计培训怎么样,制作网页常用的软件有哪些何为syn flood攻击#xff1a; SYN Flood是一种广为人知的DoS#xff08;拒绝服务攻击#xff09;是DDoS#xff08;分布式拒绝服务攻击#xff09;的方式之一#xff0c;这是一种利用TCP协议缺陷#xff0c;发送大量伪造的TCP连接请求#xff0c;从而使得被攻击方资源…何为syn flood攻击 SYN Flood是一种广为人知的DoS拒绝服务攻击是DDoS分布式拒绝服务攻击的方式之一这是一种利用TCP协议缺陷发送大量伪造的TCP连接请求从而使得被攻击方资源耗尽CPU满负荷或内存不足的攻击方式TCP协议的缺陷所以没办法根除除非重做TCP协议目前不可能。 正常原理是1、TCP三次握手客户端向服务器端发起连接的时候发送一个包含SYN标志的TCP报文SYN即同步Synchronize同步报文会指明客户端使用的端口以及TCP连接的初始序号 2、服务器在收到客户端的SYN报文后将返回一个SYNACK的报文表示客户端的请求被接受同时TCP序号被加一ACK即确认Acknowledgment夹带也发送一个SYN包给客户端并且服务器分配资源给该连接。 3、客户端也返回一个确认报文ACK给服务器端同样TCP序列号被加一到此一个TCP连接完成。 syn flood攻击利用TCP三次握手的缺陷在TCP连接的第三次握手中当服务器收到客户端的SYN包后并且返回客户端ACKSYN包由于客户端是假冒IP对方永远收不到包且不会回应第三个握手包。导致被攻击服务器保持大量SYN_RECV状态的“半连接”并且会有重试默认5次回应第二个握手 包塞满TCP等待连接队列资源耗尽CPU满负荷或内存不足让正常的业务请求连接不进来。通常SYN Flood会和ARP欺骗一起使用这样就造成了SYN攻击。
何为CC攻击 CC攻击Challenge Collapsar是DDOS分布式拒绝服务的一种也是一种常见的网站攻击方法攻击者通过代理服务器或者肉鸡被黑客黑的电脑向受害主机不停地发大量数据包造成对方服务器资源耗尽一直到宕机崩溃。CC主要是用来攻击页面的每个人都有这样的体验当一个网页访问的人数特别多的时候打开网页就慢了CC就是模拟多个用户多少线程就是多少用户不停地进行访问那些需要大量数据操作就是需要大量CPU时间的页面造成服务器资源的浪费CPU长时间处于100%永远都有处理不完的连接直至就网络拥塞正常的访问被中止。 攻击检测 当你发现发服务器很卡web访问很慢 甚至连SSH操作都开始有点卡的时候你就要非常注意了。 检测可以这样做 top 查看CPU使用率和CPU负载情况 负载一般小于CPU核数*0.7算正常负载内等于或者稍大于核数。说明CPU负载开始严重了如果超过说明有问题。 看看哪些程序CPU使用率较高是否为正常占用可以使用 pidof 进程名 查看该进程名的所有进程号然后ll /proc/进程号/exe、fd查看是否为正常信息。 netstat查看端口状态 netstat -n | grep ^tcp | awk {print $6} | sort | uniq -c | sort -n 1 SYN_RECV 13 FIN_WAIT1 64 TIME_WAIT 149 ESTABLISHED 可以查看当前连接状态的数量从而进行判断。 还有vmstat、sar、等检测命令网上有使用方法
Syn Flood 一般的防御 第一种缩短SYN Timeout时间由于SYN Flood攻击的效果取决于服务器上保持的SYN半连接数这个值SYN攻击的频度 x SYN Timeout所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间。 第二种设置SYN Cookie就是给每一个请求连接的IP地址分配一个Cookie如果短时间内连续受到某个IP的重复SYN报文就认定是受到了攻击以后从这个IP地址来的包会被丢弃。 缺陷缩短SYN Timeout时间仅在对方攻击频度不高的情况下生效SYN Cookie更依赖于对方使用真实的IP地址如果攻击者以数万/秒的速度发送SYN报文同时利用ARP欺骗随机改写IP报文中的源地址以上的方法将毫无用武之地。 vim /etc/sysctl.conf 增加或者修改如下修改保存后记得sysctl -p 使之生效 net.ipv4.tcp_syncookies 1 net.ipv4.tcp_fin_timeout 1 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_max_tw_buckets 6000 net.ipv4.tcp_tw_recycle 1 net.ipv4.tcp_syn_retries 1 net.ipv4.tcp_synack_retries 1 net.ipv4.tcp_max_syn_backlog 262144 net.core.netdev_max_backlog 262144 net.ipv4.tcp_max_orphans 262144 net.ipv4.tcp_keepalive_time 30 iptables性质防御 限制syn的请求速度这个方式需要调节一个合理的速度值不然会影响正常用户的请求 iptables -N syn-flood 新建一条链 iptables -A INPUT -p tcp --syn -j syn-flood iptables -A syn-flood -p tcp -m limit --limit 2/s --limit-burst 50 -j RETURN iptables -A syn-flood -j DROP Tips攻击这东西只能防御不能完全根除只能缓解降低到最低的风险。有钱可以上第三方公司的产品服务嘿嘿。 CC攻击一般防御 1、一般而言CC攻击都是真实的IP所以一般的做法通俗点就是封IP 2、更改web端口默认CC攻击都是攻击服务器的80端口 3、域名欺骗我们可以使用cdn等加速工具代理我们的服务器从而实现防御网上有人说把域名解析到127.0.0.1 让攻击者自己攻击自己不知道有没有用没试过。而且正式业务你怎么可能去做这样的解析那业务怎么办 使用抓包命令抓取访问服务器80的IP数 tcpdump -tnn dst port 80 -c 100 | awk -F. {print $1.$2.$3.$4} | sort | uniq -c | sort -n -r |head -20 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 100 packets captured 101 packets received by filter 0 packets dropped by kernel 78 IP 221.239.28.142 17 IP 124.65.101.82 13 IP 14.123.162.69 7 IP 183.238.49.188 7 IP 120.234.19.186
可以看到221.239.28.142的包最多所以我们进行封IP处理。 iptables -I INPUT -s 221.239.28.142 -j REJECT
iptabes 其他限制规则
#防御太多DOS攻击连接,可以允许外网每个IP最多15个初始连接,超过的丢弃第二条是在第一条的基础上允许已经建立的连接和子连接允许
iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 --connlimit-mask 32 -j DROP --connlimit-mask 32为主机掩码32即为一个主机ip也可以是网段 iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#抵御DDOS 允许外网最多24个初始连接,然后服务器每秒新增12个访问太多超过的丢弃第二条是允许服务器内部每秒1个初始连接进行转发 iptables -A INPUT -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
#允许单个IP访问服务器的80端口的最大连接数为 20
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT #对访问本机的22端口进行限制每个ip每小时只能连接5次超过的拒接1小时候重新计算次数
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name SSHPOOL --rcheck --seconds 3600 --hitcount 5 -j DROP
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name SSHPOOL --set -j ACCEPT 上面recent规则只适用于默认规则为DROP中如果要适用默认ACCEPT的规则需要--set放前面 并且无-j ACCEPT