Linux系统之网络安全管理

时间:2023-02-04 09:56:59

(Linux系统之网络安全管理)

一、Firewalld介绍

Firewalld是一个动态防火墙管理器,它是nftables框 架的前端( 使用nfs命令), firewalld曾 使用iptables命令来直接配置iptables。在RHEL8中,firewalld仍然是推荐的前端,它使用nfs来管理防火墙规则集。

二、Firewalld的区域

Linux系统之网络安全管理

三、firewall的两种执行模式

◆ runtimel临时模式:修改规则马上生效,但如果重启服务则马上失效,测试建议
◆ permanent持久模式:修改规则后需要reload重载服务才会生效,生产建议

四、firewall-cmd命令行工具

--get-default-zone 查询默认的区域名称
--set-default-zone=<区域名称> 设置默认的区域,使其永久生效
--get-zones 显示可用的区域
--get-services 显示预先定义的服务
--get-active-zones 显示当前正在使用的区域与网卡名称
--add-source= 将源自此 IP 或子网的流量导向指定的区域
--remove-source= 不再将源自此 IP 或子网的流量导向某个指定区域
--add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 将某个网卡与区域进行关联
--list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones 显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名> 设置默认区域允许该服务的流量
--add-port=<端口号/协议> 设置默认区域允许该端口的流量
--remove-service=<服务名> 设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
--reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on 开启应急状况模式
--panic-off 关闭应急状况模式

五、防火墙firewall的基本操作

1.查看指定区域的防火墙规则

[root@192 ~]# firewall-cmd --zone=home --list-all
home
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: ssh mdns samba-client dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

2.查看默认区域配置

[root@192 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: ssh dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

3.绑定源IP到某个zone

[root@192 ~]# firewall-cmd --permanent --zone=home --add-source=192.168.3.11
success

4.源地址解绑

[root@192 ~]# firewall-cmd --permanent --zone=home --remove-source=192.168.3.11
success

5.修改源地址绑定

[root@192 ~]# firewall-cmd --permanent --zone=drop --change-source=192.168.3.11
success

6.绑定某个网口到zone

firewall-cmd --permanent --zone=home  --change-interface=ens33  绑定网络接口到home区域
irewall-cmd --permanent --zone=home  --remove-interface=ens33   #将绑定的网口解绑

7.查看当前默认区域是什么

[root@192 ~]# firewall-cmd  --get-default-zone 
public

8.设置默认的区域

firewall-cmd --set-default-zone=public home

六、设置防火墙规则

1.查看预设的服务

[root@192 ~]# firewall-cmd --get-services 
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry docker-swarm dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls managesieve mdns minidlna mongodb mosh mountd ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius redis rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh syncthing syncthing-gui synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server

2.永久放行samba服务

firewall-cmd --permanent --add-service=samba

3.永久移除samba服务

firewall-cmd --permanent --remove-service=samba 

4.查询home区域是否允许samba服务

[root@192 ~]# firewall-cmd --zone=home --query-service=samba
no

5.查询firewall开放服务列表

[root@192 ~]# firewall-cmd --permanent --list-services 
ssh dhcpv6-client samba
[root@192 ~]# 

6.查看某个区域开放的端口

firewall-cmd --zone=public --list-port

7.放行端口

firewall-cmd --zone =drop --permanent --add-port= 22/tcp 放行22号端口

七、firewall的端口转发

1.开启包转发功能

sysctl -w net.ipv4.ip_forward=1

2.将本机的866端口转发到192.168.3.11的27端口上

# firewall-cmd --permanent --add-masquerade 开启masquerade地址伪装功能

[root@192 ~]# 
[root@192 ~]# firewall-cmd --permanent --add-forward-port=port=866:proto=tcp:toport=27:toaddr=192.168.3.11
success

3.查看转发规则

firewall-cmd --list-all

Linux系统之网络安全管理