Iptables#Firewalld加固服务器安全

Firewalld加固服务器安全

1、首先匹配直接规则,然后匹配富规则
  2、有一条规则放行,就会被放行
  3、匹配不到放行规则,才会被拒绝

===================================================================

一、Linux防火墙

1、内核模块:netfilter
2、rhel6:Iptables
3、rhel7:firewall-cmd工具,firewall服务
  firewalld是CentOS 7.0新推出的管理netfilter的工具
  firewalld是配置和监控防火墙规则的系统守护进程。可以实 现iptables,ip6tables,ebtables的功能
  firewalld服务由firewalld包提供
  firewalld支持划分区域zone,每个zone可以设置独立的防火墙 规则
  归入zone顺序:
    1.先根据数据包中源地址,将其纳为某个zone
    2.纳为网络接口所属zone
    3.纳入默认zone,默认为public zone,管理员可以改为其它zone
  网卡默认属于public zone
  lo网络接口属于trusted zone
  这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找
  如果前两个都找不到才会使用第三个,也就是在firewalld.conf中配置的默认zone

二、区域zone

public:默认区域,仅允许ssh,dhcpv6-client数据通过
  trusted:信任区域允许经过的流量通过
  home/internal:仅允许ssh数据通过
  work:仅允许ssh,ipp-client,dhcpv6-client数据通过
  external:仅允许ssh数据通过,通过该区域的数据将会伪装(SNAT/DNAT)
  dmz:非军事化区域 仅允许ssh数据通过
  block:拒绝经过流量
  drop:拒绝经过流量(甚至不进行ICMP错误进行回应)

三、常用端口

http:80/tcp、https 443/tcp、ssh 22/tcp
  telnet:23/tcp
  dns:53/udp(解析主机名)、53/tcp(区域同步)
  ftp:20/tcp、21/tcp
  dhcp:67/udp、68/udp
  mail:25/tcp(SMTP)、110/tcp(POP3)、143/tcp(IMAP4)
  mysql:3306/tcp
  ntp:123/udp
  samba(文件系统):137/udp、138/udp、139/tcp、445/tcp   
  iscsi(网络磁盘):3260/tcp

四、Firewall实战配置

1、准备服务用于测试、观察默认区域

systemctl start firewalld
  yum -y install httpd
  echo “kakaops” > /var/www/html/index.html
  ystemctl start httpd
  firewall-cmd --get-default-zone

2、观察所有区域

查看默认zone
  默认zone后面很有active
  firewall-cmd --get-default-zone
  firewall-cmd --list-all
  查看所有zone
  firewall-cmd --list-all-zone
  产看活跃zone
  firewall-cmd --get-active-zone

3、观察同网段用户访问服务器。防火墙是否会阻挡

会。因为没有放行http。观察默认区域规则
  firewall-cmd --list-all --zone=public

4、将public默认区域,更改为trusted区域。用户立刻可以访问所有服务(切换默认zone)

firewall-cmd --set-default-zone=trusted
  防火墙规则每次的修改需要重新加载才会生效
  firewall-cmd --reload
  再次访问网站,成功
  流量已经从默认的public区域,转移到trusted区域。该区域默认放行所有流量
  还原默认的public区域
  firewall-cmd --set-default-zone=public
  firewall-cmd --reload

5、添加http规则进入默认区域public

firewall-cmd --permanent --add-service=http --zone=public
  firewall-cmd --reload
  firewall-cmd --list-all --zone=public

6、观察不同用户访问服务器,防火墙会不会阻挡 不会。访问成功

7、测试后,将http规则从默认区域删除

    firewall-cmd --permanent --remove-service=http --zone=public
    firewall-cmd --reload
    firewall-cmd --list-all --zone=public

8、如何控制单一主机或网段对服务器的访问呢?

可以利用平规则进把ip或者ip段放在drop区域
  firewall-cmd --permanent --add-source=10.0.128.226 --zone=drop

也可以利用富规则在public区域里面进行放行(以ssh和http协议为例)
  先通过富规则把自己的ssh放行,否则自己无法连接
  firewall-cmd --permanent --add-rich-rule=“rule family=‘ipv4’ source address=‘127.0.0.1’ service name=‘ssh’ accept”
  firewall-cmd --reload

public区域移除通用规则,拒绝全部
  firewall-cmd --permanent --remove-service=ssh --zone=public
  firewall-cmd --reload

利用规则

firewall-cmd --permanent --add-rich-rule=“rule family=‘ipv4’ source address=‘127.0.0.1’ service name=‘ssh’ reject”

五、Firewall防火墙规则补充

1、放行和移除端口 [-portid]/protocol(端口+通信协议)

firewall-cmd --permanent --add-port=80/tcp --zone=public
  firewall-cmd --permanent --remove-port=80/tcp --zone=public
  firewall-cmd --permanent --add-port=80-90/tcp --zone=public
  firewall-cmd --permanent --add-port=123/udp --add-port=23/tcp --add-port=25/tcp

2、禁用 添加 删除 域规则(富规则):

标题

对特定ip 禁止访问服务
  ip ssh可以自己改别的 reject是禁止 accept是允许 add改为remove即为删除)
  firewall-cmd --permanent --zone=public --add-rich-rule=“rule family=“ipv4” source address=“192.168.10.0/24” service name=“ssh” reject”

3、下面的是对特定ip允许访问8080端口(你也可以自己改)

firewall-cmd --permanent --zone=public --add-rich-rule=“rule family=“ipv4” source address=“192.168.0.4/24” port protocol=“tcp” port=“8080” accept”

4、端口转发,将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口

开启伪装IP
  firewall-cmd --permanent --add-masquerade
  配置端口转发
  firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
  注意:如果不开启伪装IP,端口转发会失败;其次,要确保源服务器上的端口(3306)和目标服务器上的端口(13306)是开启的

六、Firewall防火墙规则匹配顺序

1、首先匹配直接规则,然后匹配富规则

2、有一条规则放行,就会被放行

3、匹配不到放行规则,才会被拒绝

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值