| 2014年10月14日
为了方便安装了一个phpmyadmin,结果公司扫描了之后说要做一些安全限制,主要还是用到nginx的访问限制和iptables,这里稍微做一下记录
nginx的限制较为简单,在server中添加对phpmyadmin的限制即可
location ~* /phpmyadmin/ {
allow 192.168.3.0/24;
deny all;
}
主要还是记录一下iptables的简单使用:
1、查看
iptables -vL –line-number
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到
简单查看也可以使用iptables -L
[root@Helight]# iptables -nvL --line-number
Chain INPUT (policy ACCEPT 301 packets, 1767K bytes)
num pkts bytes target prot opt in out source destination
1 140 11760 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
2 0 0 ACCEPT tcp -- eth1 * 192.168.3.0/24 0.0.0.0/0 multiport dports 22
3 0 0 ACCEPT tcp -- eth1 * 192.168.1.0/24 0.0.0.0/0 multiport dports 22
4 532 28698 ACCEPT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
5 83 42547 ACCEPT tcp -- eth1 * 192.168.1.160 0.0.0.0/0 tcp spt:3306
...
[root@Helight]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- 192.168.3.0/24 anywhere multiport dports 22
ACCEPT tcp -- 192.168.1.0/24 anywhere multiport dports 22
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- 192.168.1.160 anywhere tcp spt:mysql
2、添加
添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
在INPUT链上添加一条规则到尾部:
[root@Helight]# iptables -A INPUT -s 192.168.3.5 -j DROP
再在OUTPUT链上插入一条规则到第三行,将行数直接写到规则链的后面:
[root@Helight]# iptables -I OUTPUT 3 -s 192.168.3.3 -j DROP
3、删除
删除用-D参数
删除之前添加的规则(iptables -A INPUT -s 192.168.3.5 -j DROP):
[root@Helight]# iptables -D INPUT -s 192.168.3.5 -j DROP
有时候要删除的规则太长,删除时要写一大串,既浪费时间又容易写错,这时我们可以先使用–line-number找出该条规则的行号,再通过行号删除规则。
删除INPUT链上的第4行规则
sh[root@Helight]# iptables -D INPUT 4
4、修改
修改使用-R参数
将INPUT链上的第4条规则改为ACCEPT:
sh[root@test ~]# iptables -R INPUT 4 -j ACCEPT
sh常用的一些规则
1、多端口登录
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 -m multiport --dport 22,23 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp -d 192.168.1.0/24 -m multiport --sport 22,23 -j ACCEPT
2、允许eth1网口上对webserver 端口的TCP访问(如80、443端口)。
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 80 -j ACCEPT
3、允许phpmyadmin对其DB的访问(如DB的ip是10.10.10.10,DB端口是3306)。
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.160 --sport 3306 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp -d 192.168.1.160 --dport 3306 -j ACCEPT
4、允许ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
5、禁止来自eth1网口上的其他访问。
iptables -A INPUT -i eth1 -j DROP
iptables -A OUTPUT -o eth1 -j DROP
关注「黑光技术」,关注大数据+微服务