我的是2.4httpd的访问日志路径是/usr/local/httpd/logs/access_log。里面有很多别人访问过来的IP。由于我不是专业的运维。只能做点简单的。当你的cat access_log看见很多。同一个时间点来访问ip。10:59:17 。这种类似与DDOS攻击。可以考虑直接吧他的IP封了。如下:
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
58.61.66.99 - - [15/Sep/2016:10:59:17 +0800] "GET / HTTP/1.1" 200 45
这里要说到iptables。
service iptables status 首先查看iptables有没有开启,
filter表、nat表、mangle表和raw表 分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。
service iptables status //自己试试看如果是iptables: Firewall is not running. 去开启吧。
service iptables start //开启
iptables的配置文件/etc/sysconfig/iptables不存在怎么办
首先要看一下iptables是否安装了,使用service iptables status或yum info iptables看一下当前状态
如果已安装,运行以下命令:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
service iptables save //保存
这样就会提示
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
这样就会有iptables的初始配置文件了
chkconfig --level 35 iptables on 设置35开机启动
service iptables start
cat /etc/sysconfig/iptables //看一下。里面的规则
iptables -F //清空所有吧,本来也没有什么东西的
service iptables save //保存规则
解释一下一些东西。
input: 外面的数据到我们服务器
output: 服务器给我们的响应,就是服务器发数据发外面
写一条禁止80端口的,httpd默认是80端口,意思80端口就不给访问了。
iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
-t filter //就是filter表,实现包过滤
-A //就是追加新规则 -I 插入,插到前面 -D 删除
-p //使用什么传输协议TCP/UDP/ICMP
--dport //目标端口
-j //ACCEPT:接受 , DROP:直接丢弃 ,REJECT:明示拒绝
这样,80端口就访问不了。但是可以访问其他的。
再写一条允许80端口的
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables-save > /etc/sysconfig/iptables //可以这样来保存规则
cat /etc/sysconfig/iptables //查看规则
-A INPUT -p tcp -m tcp --dport 80 -j DROP
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
会出现两条规则,有点矛盾一个是DROP 一个是ACCEPT。其实是前面的允许了,后面的就没用了。
或者这样干,把这条插到前面,这样前面的允许了,后面的就没用了。
iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
或者是这样干。把DROP 删除。
iptables -t filter -D INPUT -p tcp --dport 80 -j DROP
//跟着写到这里,差不多可以知道怎么用了。
//就是当不给ip是58.61.66.99的访问80端口,这样干
iptables -I INPUT -p tcp -s 58.61.66.99 --dport 80 -j DROP
//就是要主要iptables的前后关系,前面的规则覆盖后面的,写再多也没用。
//做个好玩的事情就是当讨厌的IP(58.61.66.99)进来的时候,让他跳到另外的端口,写上 YOU ARE SB
//结合多站点。就是给他显示8888端口的页面,写着 you are sb
PREROUTING是目的地址转换—进站(-j DNAT) POSTROUTING是源地址转换—出站 (-j SNAT)
iptables -t nat -A PREROUTING -p tcp -s 58.61.66.99 --dport 80 -j DNAT --to-destination :8888