公司内部有2个局域网:192.168.100.0/24和192.168.200.0/24,两个网络之间互通,其中,在192.168.200.0/24网络中部署着一台应用服务器,其操作系统为linux,ip地址为192.168.200.120,应用服务器提供的服务有SSH、WEB、FTP、DNS、sendmail等服务
要求:
1、应用服务器不回应ICMP封包
2、只允许ip地址为192.168.200.129的主机访问应用服务器的ssh服务
3、只允许192.168.200.0/24网段的所有主机访问应用服务器上的ftp服务
4、开放应用服务器上的apache、sendmail、dns服务端口,但是,不允许ip地址为192.168.100.111主机访问服务器的web
设置默认策略:
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
1、
iptables -t filter -A INPUT -s 192.168.100.0/24 -p icmp --icmp-type echo-request -j ACCEPT
iptables -t filter -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
2、(基于三次握手的状态)
iptables -t filter -A INPUT -s 192.168.200.129 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A OUTPUT -d 192.168.200.129 -p tcp --sport 22 -mstate --state ESTABLISHED -j ACCEPT
可以有效的避免反弹木马的攻击
3、
方法一:
iptables -t filter -A INPUT -s 192.168.200.0/24 -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABISHED,RELATED -j ACCEPT
主动方式:
iptables -t filter -A OUTPUT -d 192.168.200.0/24 -p tcp --sport 20 -j ACCEPT
iptables -t filter -A INTPUT -m state --state ESTABISHED -j ACCEPT
被动方式:
vim /etc/vsftpd/vsftpd.conf
添加 pasv_min_port=2000
pasv_max_port=2002
service vsftpd restart
//////////////////////////以上是添加ftp服务器所开放的数据端口/////////////////////////////////////////////////
iptables –t filter -A IINPUT -s 192.168.200.0/24 -p tcp -m multiport --destination-ports 20000.20001,20002 -j ACCEPT
方法二:
iptables -t filter -A INPUT -s 192.168.200.0/24 -p tcp --dport 21 -j ACCEPT --modprobe=ip_nat_ftp ////////设置规则时加载该模块来解决数据传输的问题
iptables -t filter -A OUTPUT -m state --state ESTABISHED,RELATED -j ACCEPT
4、
基于标识位的策略最好放在后面
iptables -t filter -I INPUT 5 -s ! 192.168.100.111 -p tcp -m multiport --destination-ports 80,53,25 -j ACCEPT
iptables -t filter -I INPUT 5 -s !192.168.100.111 -p udp --dport 53 -j ACCEPT