本文目录一览:
- 1、iptables智能限速
- 2、LINUX 的VPS如果iptables配置错怎么办?
- 3、黑客如何跳过防火墙
- 4、防御DDoS攻击的几种好用的方式
- 5、如何攻击 Linux2.6 内核中发现了四处安全漏洞
- 6、如何取消iptable限制 win server
iptables智能限速
*** 现状:允许所有的数据通信。 *** 可管理,需手动进行。租用的线路 *** 是2M,上传512K。
目的:达到 *** 检测的自动化,智能管理,保证 *** 畅通无阻塞。
*** :根据IP地址进行数据包分析,通过脚本实现
要求:充分利用带宽,对合理数据需要通过,不合理数据通信进行拒绝。
一:现在 *** 存在以下弊端
P2P类软件主要有:
下载类工具:迅雷,TT,Flashget, *** , 电骡,youtub……。
*** 工具:PPLIVE ,PPS,沸点,酷我音乐盒,酷狗音乐……。
1.用户下载过程若不用P2P下载,速度相对较慢。
网内若运行P2P下载软件,没有及时关闭,数据上传功能会耗尽上传带宽,导致整个 *** 速度变慢。
2.现在检测 *** 的 *** 是每天上班时间定时检查四次,将 *** 状态发信到管理员信箱,
管理 *** :发现 *** 异常后,分析通信的数据,逐步筛选,一步步定位到通信量较大的IP,整个过程用时较长。
二: *** 管理常用的 ***
1.对端口进行限制。
通过对端口进行封闭,来达到屏蔽P2P软件的目的。
*** 存在问题:
通过 *** 可绕过限制。
P2P软件很多,需知道每个软件所使用的端口号并逐个进行屏蔽。
P2P软件越来越智能,可以自定义端口号,通过UPnp技术可以使用允许的端口进行上传下载。
2.分析通信协议和数据包大小
通过对 *** 进行查看,得到以下结论:
*** 变慢的原因大部分是由于P2P软件在运行。
P2P软件通信有一个共性:使用UDP协议,且每秒钟发送的数据包都很大(每个数据包大小均超过100)每秒发送10个以上。
方案:
现在使用第二种方式,通过分析数据包协议和大小进行限制,对内网,校网间的通信进行允许策
更多详情请咨询:【中华隐士黑客联盟】
LINUX 的VPS如果iptables配置错怎么办?
经过测试。iptables配置错误导致服务器无法访问。还是可以通过“HyperVM”重建系统。或者HyperVM里面会提供1个控制台的执行权限。在里面是可以绕过iptables进行配置服务器的。
黑客如何跳过防火墙
穿透防火墙的数据传输 ***
通常,在我们为目标主机安放好了后门需要将数据传输出去时,主机上的防火墙都会让我们遇到一些不大不小的麻烦。如果为我们自己的进程开一个端口(甚至是新建套接字),那么大部分的防火墙都会将其拦截。有什么 *** 能“穿透”这些防火墙呢?
下面我为您介绍一种“洞穿”防火墙小规模传输重要数据的 *** 。不过,不推荐您在其它情况下使用该 *** 。
其实我的思路很简单,既然防火墙会拦截未验证进程而放行已验证进程的数据传输,那我们就将其它进程中允许数据传输的套接字句柄拿为已用。具体过程如下:
1、找出目标进程;
2、找出SOCKET句柄;
2、用DuplicateHandle()函数将其SOCKET转换为能被自己使用;
3、用转换后的SOCKET进行数据传输。
上面的过程写的很简单,但是实现起来还存在一些问题(后面再做讨论)。另外,从上面的实现 *** 中也可以看到一些很难控制的地方,比如在目标进程的SOCKET不能是TCP,只能是UDP,因为TCP的句柄已经跟外面建立了连接。同时,针对不同系统不同进程我们也很难定位一个稳定的进程SOCKET。
看到这么多“麻烦”,你有点泄气了对不对?不要着急,再想一想,其实我们有一条真正通向罗马的“黄金大道”。我们都知道只要一台计算机联上了 *** ,那么有一种数据传输是肯定不会被拦截的,不错,就是DNS!你能想像域名解析数据都被拦截所造成的后果吗?既然DNS是不会被拦的,而且它又是UDP传输,我们就从它“开刀”。
本文为您提供了一个通过直接控制DNS进程(其实也就是svchost.exe,不过对应用户名是NETWORK SERVICE)进行数据传输的例子。
查看详细源代码RIPT。
防御DDoS攻击的几种好用的方式
随着Internet互联 *** 带宽的增加和多种DDoS黑客工具的不断发布,DDoS拒绝服务攻击的实施越来越容易,DDoS攻击事件正在成上升趋势。出于商业竞争、打击报复和 *** 敲诈等多种因素,导致很多IDC托管机房、商业站点、游戏服务器、聊天 *** 等 *** 服务商长期以来一直被DDoS攻击所困扰,随之而来的是客户投诉、同虚拟主机用户受牵连、法律纠纷、商业损失等一系列问题,因此,解决DDoS攻击问题成为 *** 服务商必须考虑的头等大事。
DDoS是英文Distributed Denial of Service的缩写,意即分布式拒绝服务,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常 *** 服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常 *** 资源的访问,从而达成攻击者不可告人的目的。
虽然同样是拒绝服务攻击,但是DDoS和DOS还是有所不同,DDoS的攻击策略侧重于通过很多僵尸主机(被攻击者入侵过或可间接利用的主机) 向受害主机发送大量看似合法的 *** 包,从而造成 *** 阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击 *** 包就会犹如洪水般涌向受害主机,从而把合法用户的 *** 包淹没,导致合法用户无法正常访问服务器的 *** 资源,因此,拒绝服务攻击又被称之为洪水式攻击。
常见的DDoS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等;而DOS则侧重于通过对主机特定漏洞的利用攻击导致 *** 栈失效、系统崩溃、主机死机而无法提供正常的 *** 服务功能,从而造成拒绝服务,常见的DOS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。就这两种拒绝服务攻击而言,危害较大的主要是DDoS攻击,原因是很难防范,至于DOS攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范,后文会详细介绍怎么对付DDoS攻击。三、被DDoS了吗?
DDoS的表现形式主要有两种,一种为流量攻击,主要是针对 *** 带宽的攻击,即大量攻击包导致 *** 带宽被阻塞,合法 *** 包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供 *** 服务。
当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的 *** 服务端口来测试,效果是一样的。不过有一点可以肯定,假如平时Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除 *** 故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而 Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。
还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就Ping不通接在同一交换机上的主机了。
当前主要有三种流行的DDoS攻击:
1、SYN/ACK Flood攻击:这种攻击 *** 是经典最有效的DDoS *** ,可通杀各种系统的 *** 服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK 包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。
少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat -na命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。
2、TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多 *** 服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的。
一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。
3、刷Script脚本攻击:这种攻击主要是针对存在ASP、 *** P、PHP、CGI等脚本程序,并调用MSSQLServer、 MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击 *** 。
一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过 Proxy *** 向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务。
常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy *** 就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。
如何攻击 Linux2.6 内核中发现了四处安全漏洞
感兴趣吧,Linux内核漏洞几乎都是在已经修复挺长时间之后并且已经有稳定更新放出来了才有人能出来攻击算法。以前有过漏洞被发现20分钟就放出内核补丁,2个小时Redhat放出官方内核升级……
如何取消iptable限制 win server
首先让我们看一下服务器/客户机的交互原理。服务器提供某特定功能的服务总是由特定的后台程序提供的。在TCP/IP *** 中,常常把这个特定的服务绑定到特定的TCP或UDP端口。之后,该后台程序就不断地监听(listen)该端口,一旦接收到符合条件的客户端请求,该服务进行TCP握手后就同客户端建立一个连接,响应客户请求。与此同时,再产生一个该绑定的拷贝,继续监听客户端的请求。
举一个具体的例子:假设 *** 中有一台服务器A(IP地址为1.1.1.1)提供WWW服务,另有客户机B(2.2.2.2)、C(3.3.3.3)。首先,服务器A运行提供WWW服务的后台程序(比如Apache)并且把该服务绑定到端口80,也就是说,在端口80进行监听。当B发起一个连接请求时,B将打开一个大于1024的连接端口(1024内为已定义端口),假设为1037。A在接收到请求后,用80端口与B建立连接以响应B的请求,同时产生一个80端口绑定的拷贝,继续监听客户端的请求。假如A又接收到C的连接请求(设连接请求端口为1071),则A在与C建立连接的同时又产生一个80端口绑定的拷贝继续监听客户端的请求。如下所示,因为系统是以源地址、源端口、目的地址、目的端口来标识一个连接的,所以在这里每个连接都是唯一的。
服务器 客户端
连接1:a.b.c.1:80 =; a.b.c.4:1037
连接2:a.b.c.1:80 =; a.b.c.7:1071
每一种特定的服务都有自己特定的端口,一般说来小于1024的端口多为保留端口,或者说是已定义端口,低端口分配给众所周知的服务(如WWW、FTP等等),从512到1024的端口通常保留给特殊的UNIX TCP/IP应用程序,具体情况请参考/etc/services文件或RFC1700。
假设 *** 环境如下:某一单位,租用DDN专线上网, *** 拓扑如下:
+--------------+
| 内部网段 | eth1+--------+eth0 DDN
| +------------|firewall|===============;Internet
| 198.168.80.0 | +--------+
+--------------+
eth0: 198.199.37.254
eth1: 198.168.80.254
以上的IP地址都是Internet上真实的IP,故没有用到IP欺骗。并且,我们假设在内部网中存在以下服务器:
www服务器: 198.168.80.11
ftp服务器: 198.168.80.12
email服务器:mail.yourdomain.com 198.168.80.13
下面我们将用iptables一步一步地来建立我们的包过滤防火墙,需要说明的是,在这个例子中,我们主要是对内部的各种服务器提供保护。
1. 在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewll以更改文件属性 ,编辑/etc/rc.d/rc.local文件,在末尾加上 /etc/rc.d/firewall 以确保开机时能自动执行该脚本。
2. 刷新所有的链的规则
#!/bin/sh
echo "Starting iptables rules..."
#Refresh all chains
/ *** in/iptables -F
3. 我们将首先禁止转发任何包,然后再一步步设置允许通过的包。
所以首先设置防火墙FORWARD链的策略为DROP:
/ *** in/iptables -P FORWARD DROP
4.设置关于服务器的包过虑规则:
在这里需要注意的是,服务器/客户机交互是有来有往的,也就是说是双向的,所以我们不仅仅要设置数据包出去的规则,还要设置数据包返回的规则,我们先建立针对来自Internet数据包的过虑规则。
WWW服务:服务端口为80,采用tcp或udp协议。规则为:eth0=;允许目的为内部网WWW服务器的包。
###########################Define HTTP packets####################################
#Allow www request packets from Internet clients to www servers
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.11 --dport www -i eth0 -j ACCEPT
FTP服务:FTP服务有点特别,因为需要两个端口,因为FTP有命令通道和数据通道。其中命令端口为21,数据端口为20,并且有主动和消极两种服务模式,其消极模式连接过程为:FTP客户端首先向FTP服务器发起连接请求,三步握手后建立命令通道,然后由FTP服务器请求建立数据通道,成功后开始传输数据,现在大多数FTP客户端均支持消极模式,因为这种模式可以提高安全性。FTP服务采用tcp协议。规则为:eth0=;仅允许目的为内部网ftp服务器的包。
############################Define FTP packets#####################################
#Allow ftp request packets from Internet clients to Intranet ftp server
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.12 --dport ftp -i eth0 -j ACCEPT
EMAIL服务:包含两个协议,一是 *** tp,一是pop3。出于安全性考虑,通常只提供对内的pop3服务,所以在这里我们只考虑针对 *** tp的安全性问题。 *** tp端口为21,采用tcp协议。eth0=;仅允许目的为email服务器的 *** tp请求。
###########################Define *** tp packets####################################
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.13 --dport *** tp -i eth0 -j ACCEPT
5. 设置针对Intranet客户的过虑规则:
在本例中我们的防火墙位于网关的位置,所以我们主要是防止来自Internet的攻击,不能防止来自Intranet的攻击。假如我们的服务器都是基于linux的,也可以在每一部服务器上设置相关的过虑规则来防止来自Intranet的攻击。对于Internet对Intranet客户的返回包,我们定义如下规则。
#############Define packets from Internet server to Intranet#######################
/ *** in/iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 198.168.80.0/24 -i eth0 -j ACCEPT
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.0/24 ! -syn -i eth0 -j ACCEPT
/ *** in/iptables -A FORWARD -p udp -d 198.168.80.0/24 -i eth0 -j ACCEPT
说明:之一条允许Intranet客户采用消极模式访问Internet的FTP服务器;第二条接收来自Internet的非连接请求tcp包;最后一条接收所有udp包,主要是针对oicq等使用udp的服务。
6. 接受来自整个Intranet的数据包过虑,我们定义如下规则:
#############Define packets from Internet server to Intranet server###############
/ *** in/iptables -A FORWARD -s 198.168.80.0/24 -i eth1 -j ACCEPT
7. 处理ip碎片
我们接受所有的ip碎片,但采用limit匹配扩展对其单位时间可以通过的ip碎片数量进行限制,以防止ip碎片攻击。
#################################Define fregment rule##################################
/ *** in/iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
说明:对不管来自哪里的ip碎片都进行限制,允许每秒通过100个ip碎片,该限制触发的条件是100个ip碎片。
8. 设置icmp包过滤
icmp包通常用于 *** 测试等,故允许所有的icmp包通过。但是黑客常常采用icmp进行攻击,如ping of death等,所以我们采用limit匹配扩展加以限制:
#################################Define icmp rule##################################
/ *** in/iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
说明:对不管来自哪里的icmp包都进行限制,允许每秒通过一个包,该限制触发的条件是10个包。
通过以上个步骤,我们建立了一个相对完整的防火墙。只对外开放了有限的几个端口,同时提供了客户对Internet的无缝访问,并且对ip碎片攻击和icmp的ping of death提供了有效的防护手段。以下是完整的脚本文件内容,希望通过这个实例能是对iptables的用法有所了解:
#!/bin/sh
echo "Starting iptables rules..."
#Refresh all chains
/ *** in/iptables -F
###########################Define HTTP packets####################################
#Allow www request packets from Internet clients to www servers
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.11 --dport www -i eth0 -j ACCEPT
############################Define FTP packets#####################################
#Allow ftp request packets from Internet clients to Intranet ftp server
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.12 --dport ftp -i eth0 -j ACCEPT
###########################Define *** tp packets####################################
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.13 --dport *** tp -i eth0 -j ACCEPT
#############Define packets from Internet server to Intranet#######################
/ *** in/iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 198.168.80.0/24 -i eth0 -j ACCEPT
/ *** in/iptables -A FORWARD -p tcp -d 198.168.80.0/24 ! -syn -i eth0 -j ACCEPT
/ *** in/iptables -A FORWARD -p udp -d 198.168.80.0/24 -i eth0 -j ACCEPT
#############Define packets from Intranet to Internet###############
/ *** in/iptables -A FORWARD -s 198.168.80.0/24 -i eth1 -j ACCEPT
#################################Define fregment rule##################################
/ *** in/iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
#################################Define icmp rule##################################
/ *** in/iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT