FIREWALLD管理

一、iptables简介

在企业6以及之前的版本,使用iptables别写火墙策略,iptables是编写火墙策略的工具而不是火墙,iptables默认通过3张表5条链管理火墙。
filter表(实现包过滤)
nat表(实现网络地址转换)
mangle表(实现包修改,即不属于filter和nat表的都归mangle表)
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外转发
POSTROUTIONG:发送到网卡接口之前。
具体可参考http://blog.csdn.net/longbei9029/article/details/53056744

二、iptables基本管理

yum install iptables
systemctl stop firewalld
systemctl mask firewalld
systemctl start iptables
systemctl enable iptables
iptables -nL n:不解析 L:列表
iptables -F F:刷新
这里写图片描述
> /etc/sysconfig/iptables 清空火墙配置文件
iptables -A INPUT -j ACCEPT 添加火墙策略(临时)
service iptables save保存火墙策略(永久)
这里写图片描述

三、添加策略

iptables参数:
-t 指定表 -s 来源
-R 修改策略 -d 目的地
-A 添加策略 -p 方式
-I 插入策略 –dport 端口
-D 删除策略 -j ACCRPT|DROP|REJECT 动作
策略读取顺序由上至下,REJECT策略一般在最后

四、火墙优化

iptables -A INPUT -m state –state RELATED ESTABLISHED -j ACCEPT
iptables -A INPUT -m state –state NEW -i lo -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 53 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 443 -j ACCEPT
iptables -A INPUT ! -s 172.25.254.9
这里写图片描述
放行回环接口,放行ssh,samba和http端口,放行已连接的和正在连接的接口,拒绝不会死来自172.25.254.9d的端口,有效减少火墙压力和加快端口进程

五、nat的设置

环境搭建:desktop ip为192.168.0.209 server ip为172.25.254.109 192.168.0.109 真机为172.25.254.9

路由后地址转换SNAT(源地址转换)

desktop虚拟机网关为:192.168.0.109
在server虚拟机上:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.109(路由后地址转换为172.25.254.109)
这里写图片描述
sysctl -a | grep ip_forward(查看内核路由功能是否开启0关1开)
vim /etc/sysctl.conf(编辑内核配置文件添加路由功能)
net.ipv4.ip_forward=1
sysctl -p(刷新配置文件)
这里写图片描述
在desktop虚拟机上
ping 172.25.254.9可以通信
这里写图片描述

路由前地址转换DNAT(目的地地址转换)

在server虚拟机上
iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 192.168.0.209(路由前地址转换为192.268.0.209)
这里写图片描述
在真机上
ssh root@172.25.254.109
ifconfig
这里写图片描述

六、、使用命令行接口配置火墙

firewall-cmd --state 查看火墙状态
这里写图片描述
firewall-cmd --get-active-zones 查看已经激活的域
这里写图片描述
firewall-cmd --get-default-zone 查看默认域
这里写图片描述
firewall-cmd --get-zones 列出所有域名
这里写图片描述
firewall-cmd --zone=public --list-all 列出公共域的详细信息
这里写图片描述
firewall-cmd --get-services 列出所有服务
这里写图片描述
firewall-cmd --list-all-zones 列出所有域的详细信息
firewall-cmd --set-default-zone=dmz 设置默认域为dmz
这里写图片描述

七、网络接口的管控

在server主机上

yum install httpd -y
echo 172.25.254.109 > /var/www/html/index.html
systemctl start http
firewall-config 在public域加入http服务
firewall-cmd --change-interface=eth1 --zone=trusted 将eth1网卡加入到trusted域中
firewall-cmd --get-active-zones
这里写图片描述

在真机上

打开浏览器访问http://172.25.254.109
这里写图片描述

在desktop虚拟机上

打开浏览器访问http://192.168.0.109
这里写图片描述
firewall-cmd --remove-interfacr=eth1将eth1网卡接口移除火墙
firewall-cmd --add-interface=eth1 --zone=public将eth1网卡接口添加到public域中
这里写图片描述

修改source控制端口

在server虚拟机中

firewall-cmd --add-source=172.25.254.0/32 --zone=trusted
这里写图片描述

在desktop中

打开浏览器访问http://172.25.254.109
这里写图片描述
firewall-cmd --remove-source=172.25.254.0/32 --zone=trusted

修改端口号

在server虚拟机上

vim /etc/httpd/conf/httpd.conf 修改为8080端口
systemctl restart httpd
vim /usr/lib/firewalld/services/http.xml 修改为8080端口
systemctl restart firewalld.service
firewall-cmd --add-service=http

在desktop虚拟机上

访问http://172.25.254.109:8080

即时与延时中断服务(ssh为例)

在server虚拟机上

firewall-cmd --permanent --remove-service=ssh 在火墙中移除ssh服务
firewall-cmd --list-all 此时在火墙中还能看到
firewall-cmd --reload 刷新火墙
这里写图片描述

在desktop虚拟机上

ssh root@192.168.0.109 连接失败
但不中断已经连接好ssh服务(filter策略中写到established)
这里写图片描述
这里写图片描述

在server虚拟机上

firewall-cmd --complete-reload
这里写图片描述

在desktop虚拟机上

ssh root@192.168.0.109 连接失败
已经连接好的ssh服务也会中断
这里写图片描述

编写特殊策略(类似iptables)

在server虚拟机上

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -s 192.168.0.209 -p tcp --dport 80 -j REJECT
这里写图片描述

在desktop虚拟机上

访问http://192.168.0.109 失败
这里写图片描述

在真机上

访问http://172.25.254.109 成功
这里写图片描述

端口转发

在server虚拟机上

firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
firewall-cmd --perment --zone=public --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.9
这里写图片描述

在desktop上

ssh root@任意ip
都会通过server转发到172.25.254.9
这里写图片描述

地址伪装

在server虚拟机上

firewall-cmd --permanent --remove-masquerade
firewall-cmd --perment --zone=public --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.9

在desktop虚拟机上

ping 172.25.254.9 可以通信
ssh root@172.25.254.9 无法连接

在server虚拟机上

firewall-cmd --add-rich-rule='rule family=ipv4 masquerade'
这里写图片描述

在desktop上

ssh root@172.25.254.9 成功,且显示连接地址为中转站ip172.25.254.109而不是192.168.0.209
这里写图片描述

八、tcpwrap设置

查看哪些服务支持tcpwaper

ldd /usr/sbin/sshd 存在libwrap的支持该服务
这里写图片描述

基本设置

vim /etc/hosts.deny
ALL:ALL 拒绝所有人连接所有服务
这里写图片描述
vim /etc/hosts.allow
sshd:172.25.254. :spawn echo date from %c to %s > /dev/pts/0
网段 监控 打印 时间 客户端 服务端 当前设备上
发送到root用户的邮件里 | mail -s warning root
发送到日志里 >> /var/log/messahes
这里写图片描述
这里写图片描述

九、守护进程

yum install xinetd telnet-server telnet -y
cd /etc/xinetd.d
vim telnet
service telnet
{
socket_type = stream
protocol = tcp
user = root
server = /usr/sbin/in.telnetd
disable = no
flags = REUSE
wait = no
}

这里写图片描述
systemctl restart xinetd.service
chkconfig --list
这里写图片描述
telnet localhost
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值