教你如何配置一套强大的防火墙iptabels配置详解(

本文发布时间: 2019-Mar-21
今天我来带领大家给自己的服务器搭建一套强大的防火墙!废话不多说,我们开始吧~啥是iptables?ipbtales是集成再Linux内核中的一套防火墙软件。它能够对外界发过来的在进入我们的系统之前,进行一系列的筛选,我们可以自己定义筛选规则,决定哪些数据包可以进入我们的电脑,哪些数据包不允许进入。从而能够使我们的服务器更加安全地运行在公网的环境中。 下面大家一起跟我动手,在实践中掌握知识。动手前的准备工作首先你需要找两台主机,一台当作客户机,一台当作服务器。让这两台主机处于同一个局域网中。 然后咱们在服务器上装一个httpd服务器,在httpd服务器中咱们放一个index.html作为我们的一个网页。 PS:httpd服务器的搭建请移步至http://jingyan.baidu.com/article/64d05a025cdf69de55f73be5.htmlok,服务器和客户机搭建完成了,我的服务器的IP是192.168.100.1,客户机的IP是192.168.100.2。 准备工作到此就完成啦!接下来我们先一起做一个简单的ipbtales配置。做一个iptables的HelloWorld首先,我们在客户机上用一个Linux压力测试的命令对服务器发送大量的请求://对服务器并发3000个请求,并每次增加3000个请求[root@Svr107 bin]# ab -n 3000 -c 3000 http://192.168.100.1/index.html//返回结果如下:This is ApacheBench, Version 2.3 <$Revision: 655654 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking www.twioo.com (be patient)Completed 300 requestsCompleted 600 requestsCompleted 900 requestsCompleted 1200 requestsCompleted 1500 requestsCompleted 1800 requestsCompleted 2100 requestsCompleted 2400 requestsCompleted 2700 requestsCompleted 3000 requestsFinished 3000 requestsPS:ab命令的详细介绍请移步至http://blog.chinaunix.net/uid-20382003-id-3032167.html接下来我们进入服务器,看看当前服务器的负载情况 通过netstat命令可以查看到当前所有请求我们服务器的ip://查看当前服务器的负载情况[root@iZ28st035lsZ init.d]# netstat//返回结果Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 115.28.217.42:http 218.2.216.4:54823 SYN_RECV tcp 0 0 115.28.217.42:http 218.2.216.4:54818 SYN_RECV tcp 0 0 115.28.217.42:http 218.2.216.4:54817 SYN_RECV …………………………………………………………//其实下面还有好多ip,这里就省略了通过netstat命令,我们看到,服务器被一个客户机大量的请求。 当然,对于一台服务器来说,这种被一台主机大量的请求的情况是非常危险的,服务器的内存、带宽很快会被一台主机占据,从而导致其他主机无法再请求这台服务器,这也是黑客攻击的一般手段。那么,我们该如何预防呢?办法如下:当我们发现有一个ip请求服务器的次数异常大时,我们可以限制这个ip的请求数,加入最大请求数设置为10,那么当这个ip同时发送10个请求的时候,防火墙就会把它拒绝。//这条命令的意思是:在iptables中增加一条规则,限制攻击者ip的最大访问次数,如果超过这个次数,就会被拒绝访问//-I表示这条规则插在iptables所有规则的最前面,因此它有最高的优先级;//-p tcp表示数据包访问服务器时所使用的应用层协议是tcp//--dport 80表示对访问服务器80端口的数据包进行拒绝iptables -I INPUT -p tcp --dport 80 -s xxx.XX.XX.XX(攻击者ip) -m connlimit-above 10 -j REJECT好了,当我们设置好iptabled规则之后,再次让客户机向服务器同时并发1000000个请求,此时看到Connection refused,请求被服务器拒绝了。如果再将客户机的并发请求改成5,此时能够请求服务器,不报错了[root@Svr107 bin]# ab -n 3000 -c 5好了,一个HelloWorld就完成了,接下来我们一起系统性的学习一下ipbtales的配置。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表