Linux教程

Linux基础-安全管理

本文主要是介绍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

拒绝流入的流量,除非与流出的流量相关;

而如果流量与sshmdnsipp-clientamba-clientdhcpv6-client服务相关,则允许流量

internal

等同于home区域

work

拒绝流入的流量,除非与流出的流量数相关;而如果流量与sshipp-clientdhcpv6-client服务相关,

则允许流量

public

拒绝流入的流量,除非与流出的流量相关;而如果流量与sshdhcpv6-client服务相关,则允许流量

external

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

dmz

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

block

拒绝流入的流量,除非与流出的流量相关

drop

拒绝流入的流量,除非与流出的流量相关

  • 防火墙firewall有两个应用项:
  • runtime        当前有效
  • permanent      永久有效

SCTP (Stream Control Transmission Protocol)是一种传输协议,在TCP/IP协议栈中所处的位置和TCPUDP类似,兼有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基础-安全管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!