本文主要是介绍Linux基础-安全管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
linux安全管理 windows的安全靠什么?
什么是防火墙? 硬件防火墙 软件防火墙
防火墙对数据封包取得方式来分类
可以分为 代理服务器 proxy 封包过滤机制 IP filter
防火墙有三大基础功能:
- 代理服务 是一种网络服务,通常架设在路由器上面,可以完整掌控局域网对外连接
- IP Filter 这种方式可以直接分析底层封包表头数据进行过滤,包括MAC地址,IP,TCP,UDP,ICMP等封包信息都可以进行过滤,用途非常广泛
- 状态监控包过滤 动态服务,内网主动访问外网的请求,外网回复是可以进来的
- 其他功能:L2-L7层防御,失陷主机检测,沙盒,waf等等 web专属防御 热点事件预警,鉴黄等等这些功能不是防火墙必须有的,甚至都是要花钱
- 红帽系列自带的firewall
- 红帽8是没有防火墙的图形化界面的,只能通过命令行来管理,我们也是可以安装红帽的防火墙图形化
- yum install -y firewall-config
- firewall-config 打开防火墙图形化界面
- linux系统中的这个防火墙是软件防火墙
- firewalld防火墙的区域:
- firewalld中常用的区域名称及默认策略规则:
区域
|
默认策略规则
|
trusted
|
允许所有的数据包
|
home
|
拒绝流入的流量,除非与流出的流量相关;
而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量
|
internal
|
等同于home区域
|
work
|
拒绝流入的流量,除非与流出的流量数相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,
则允许流量
|
public
|
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
|
external
|
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
|
dmz
|
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
|
block
|
拒绝流入的流量,除非与流出的流量相关
|
drop
|
拒绝流入的流量,除非与流出的流量相关
|
- 防火墙firewall有两个应用项:
- runtime 当前有效
- permanent 永久有效
SCTP (Stream Control Transmission Protocol)是一种传输协议,在TCP/IP协议栈中所处的位置和TCP、UDP类似,兼有TCP/UDP两者特征。SCTP是可以确保数据传输的,和TCP类似。
- 数据包拥塞控制协议(DCCP)是一个提供双向单播拥塞控制连接的不可靠数据包传输协议,它适合传输相当大的数据量的应用,并且能在时间线和可靠性上权衡。
- 终端管理工具 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
|
关闭应急状况模式
|
- 实例:
- 1.查看firewalld服务当前所使用的区域
- [root@localhost ~]# firewall-cmd --get-default-zonepublic
- 2.查询ens33网卡在firewalld服务中的区域
- [root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33public
- 3.把firewalld服务中ens33网卡的默认区域修改为external,并在系统重启后生效。分别查看当前与永久模式下的区域名称
- [root@localhost ~]# firewall-cmd --permanent --zone=external --change-interface=ens33
- The interface is under control of NetworkManager, setting zone to 'external'. success
- [root@localhost ~]# firewall-cmd --permanent --get-zone-of-interface=ens33
- no zone
- [root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
- external
- 4.把firewalld服务的当前默认区域设置为public
- [root@localhost ~]# firewall-cmd --set-default-zone=public
- Warning: ZONE_ALREADY_SET: public success
- [root@localhost ~]# firewall-cmd --get-default-zone
- public
- 5.启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用)
- [root@localhost ~]# firewall-cmd --panic-on
- [root@localhost ~]# firewall-cmd --panic-off
- 6.查询public区域是否允许请求SSH和HTTPS协议的流量
- [root@localhost ~]# firewall-cmd --zone=public --query-service=ssh
- yes
- [root@localhost ~]# firewall-cmd --zone=public --query-service=https
- no
- 7.把firewalld服务中请求HTTPS协议的流量设置为永久允许,并立即生效
- [root@localhost ~]# firewall-cmd --zone=public --add-service=https
- success
- [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=https
- success
- [root@localhost ~]# firewall-cmd --reload
- success
- [root@localhost ~]# firewall-cmd --zone=public --query-service=httpsyes
- 8.把firewalld服务中请求HTTP协议的流量设置为永久拒绝,并立即生效
- [root@localhost ~]# firewall-cmd --zone=public --remove-service=https --permanent
- success
- [root@localhost ~]# firewall-cmd --reloadsuccess
- 9.把在firewalld服务中访问8080和8081端口的流量策略设置为允许,但仅限当前生效
- [root@localhost ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
- success
- [root@localhost ~]# firewall-cmd --zone=public --list-ports
- 8080-8081/tcp
- 10.把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效
- firewall-cmd --permanent --zone=<区域> --add-forward-port=port= <源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>`
- [root@localhost ~]# firewall-cmd --permanent --zone=public
- --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.91.128
- success
- [c:\~]$ ssh root@192.168.91.128 888Connecting to 192.168.91.128:888...Connection established.To escape to local shell, press 'Ctrl+Alt+]'.Last login: Thu Apr 18 16:20:23 2019 from 192.168.91.1
- [root@localhost ~]#
- 11.firewalld中的富规则表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。比如,我们可以在firewalld服务中配置一条富规则,使其拒绝192.168.91.0/24网段的所有用户访问本机的ssh服务(22端口)
- [root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule \family="ipv4" \source address="192.168.91.0/24" \service name="ssh" \reject"
- success
- [root@localhost ~]# firewall-cmd --reload
- success
- [c:\~]$ ssh root@192.168.91.128Connecting to 192.168.91.128:22...Could not connect to '192.168.91.128' (port 22): Connection failed.
iptables
其实iptables服务并不是真正的防火墙,只是用来定义防火墙功能的防火墙管理工具,将定义好的规则交给内核里面的netfilter功能,即网络过滤器来读取,从而真正实现防火墙功能
iptables 抵挡封包的方式:
- 拒绝让internet 包进入linux主机的某些port
- 拒绝让某些来源ip封包进入
- 拒绝让带有某些flag标记的包进入
- 分析硬件地址mac来提供服务
这篇关于Linux基础-安全管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!