一、SELinux
1、Security-Enhanced Linux,由NSA主导开发,强制访问控制体系,运行在内核(2.6以上)中
2、运行模式
enforcing(强制) permissive(宽松) disabled(彻底禁用)
3、模式切换
* 临时切换:setenforce 1|0 #1为强制,0为宽松 getenforce 查看运行模式
* 永久配置:/etc/selinux/config(重启后生效)
4、三大策略:布尔值,安全上下文,非默认端口开放
二、配置用户环境
1、~./bashrc:影响指定用户; /etc/bashrc:影响全局用户
注意:新开Bash终端生效或者刷新文件:source /etc/bashrc
三、防火墙策略管理
* 作用:隔离,进行过滤所有入站请求
* 数据包:源IP地址 目标IP地址 数据 目标端口
* firewalld管理工具:firewall-cmd和firewall-config
预设安全区域:
public:仅允许访问本机的sshd、ping、dhcp服务
trusted:允许所有访问
block:阻塞任何来访请求(明确拒绝,回应客户端)
drop:丢弃任何来访的数据包(直接丢弃,没有回应客户端,节省服务器资源)
防火墙判定规则:
1.首先查看客户端数据包中源IP地址,然后查看自己所有区域规则,哪个区域有该源IP地址的规则,则进入该区域
2.进入默认区域(public)
防火墙默认区域的修改
firewall-cmd --get-default-zone #查看默认区域
firewall-cmd --get-active-zones #查看活跃的区域
firewall-cmd --set-default-zone=block #更改默认区域,默认永久生效
在区域中添加允许的协议
firewall-cmd --zone=public --list-all #查看public区域有哪些协议
firewall-cmd --zone=public --add-service=ftp #添加一条允许ftp的规则
在区域中永久添加协议
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload #重新加载配置文件中的所有规则
* 单独拒绝172.25.0.10访问本机所有服务
firewall-cmd --zone=block --add-source=172.25.0.10
* 实现本机的端口映射(端口转发)
端口:编号(可以由root修改,一个程序或服务具有多个端口),标识主机上的服务或协议,可以找到相应的程序 (举理发的例子,理发师编号)
IP地址:唯一标识一台主机,让一台主机找到另一台主机 (理发店)
端口转发:
实例:客户机访问5423端口,自动映射到本机80端口
firewall-cmd --permanent --zone=public --add-forward-port=port=5423:proto=tcp:toport=80
四、配置高级连接
1、配置IPv6地址
128个二进制组成,以冒号隔开,用十六进制表示,分成8个部分,每部分4个16进制,一半为网络位,一半为主机位
ping6 IPv6地址
2、配置聚合连接(链路聚合)
* 作用:网卡备份,实现网卡设备的高可用
* 两种工作方式:
轮询式的流量负载均衡
热备份(activebackup)连接冗余
由多块网卡一起组建而成的虚拟网卡,即“组队”
虚拟化一块网卡team0:
* 生成虚拟的网卡(为连接提供配置(类型、连接名、运行器、IP地址)), 借助man teamd.conf查看帮助信息,查找EXAMPLE
nmcli connection add type team con-name team0 ifname team0 autoconnect yes config '{"runner": {"name": "activebackup"}}'
ifconfig
查看ifcfg-team0配置文件
* 添加成员
nmcli connection add type team-slave con-name team0-1 ifname eth1 master
nmcli connection add type team-slave con-name team0-2 ifname eth2 master
* 配置IP地址,激活team0、team0-1、team0-2
teamdctl team0 state #查看
* 测试
ifconfig eth2 down 或 nmcli connection down team0-2 #关掉eth2
teamdctl team0 state #查看