系统安全
系统安全保护
SElinux安全机制--Security-Enhanced Linux
SElinux的运行模式
enforcing(强制)、permissive(宽松)
disable(彻底禁用)
任何状态变成disable都需要经过reboot
切换运行模式
临时切换:setenforce 1|0
固定配置:/etc/selinux/config 文件
[root@server0 ~]# getenforce #查看当前SElinux运行模式
配置用户环境
设置永久别名
影响指定用户的bash解释环境
[root@server0 ~]# vim ~/.bashrc
影响所有用户的bash解释环境
[root@server0 ~]# vim /etc/bashrc
配置高级连接
配置IPv6地址
ip地址:用来标识一个节点的网络地址
ipv4地址
32个二进制 分成4段 最后用 . 分隔 用十进制表示
ipv6地址
128个二进制 分成8段 最后用 : 分隔 用十六进制表示
[root@server0 ~]# nmcli connection modify 'System eth0' ipv6.method manual ipv6.addresses 2003:ac18::305/64 connection.autoconnect yes
[root@server0 ~]# nmcli connection up 'System eth0'
[root@server0 ~]# ping6 2003:ac18::305
配置聚合连接(网卡绑定、链路聚合)
作用:网卡设备的冗余
热备份(activebackup)连接冗余
创建虚拟网卡team0(参考man teamd.conf帮助)
[root@server0 ~]#nmcli connection add type team con-name team0 ifname team0 autoconnect yes config '{"runner": {"name": "activebackup"}}'
添加成员
[root@server0 ~]# nmcli connection add type team-slave con-name team0-1 ifname eth1 master team0
[root@server0 ~]# nmcli connection add type team-slave con-name team0-2 ifname eth2 master team0
配置IP地址
[root@server0 ~]# nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.1.1/24 connection.autoconnect yes
激活所有配置
[root@server0 ~]# nmcli connection up team0
[root@server0 ~]# nmcli connection up team0-1
[root@server0 ~]# nmcli connection up team0-2
验证
[root@server0 ~]# teamdctl team0 state
[root@server0 ~]# ifconfig eth1 down
[root@server0 ~]# nmcli connection delete team0 #删除错误配置
防火墙策略
firewall基础服务
搭建基本Web服务
服务端:虚拟机server0
1.安装一个可以提供Web功能的软件
Apache httpd Nginx tomcat
2.启动httpd服务
[root@server0 ~]# systemctl restart httpd #重起httpd服务
[root@server0 ~]# systemctl enable httpd #设置httpd服务,开机自启动
3.书写自己的页面文件
默认存放网页文件的路径:/var/www/html
默认网页文件名:index.html
客户端:虚拟机server0
[root@server0 ~]# firefox 172.25.0.11
搭建基本FTP服务(文件传输)
服务端:虚拟机server0
1.安装一个可以提供FTP功能的软件
[root@server0 ~]# systemctl restart vsftpd
2.启动FTP服务
[root@server0 ~]# systemctl restart vsftpd #重起vsftpd服务
[root@server0 ~]# systemctl enable vsftpd #设置vsftpd服务,开机自启动
3.默认vsftpd共享路径:/var/ftp/
客户端:虚拟机server0
[root@server0 ~]# firefox ftp://172.25.0.11
防火墙策略的应用
隔离作用
允许出站,过滤入站
硬件防火墙
软件防火墙
管理服务:firewalld
管理工具:firewall-cmd、firewall-config(图形)
预设安全区域
根据所在的网络场所区分,预设保护规则集
-public:仅允许访问本机的sshd等少数几个服务
-trusted:允许任何访问
-block:阻塞任何来访请求(明确回应拒绝)
-drop:丢弃任何来访的数据包(没有明确回应,直接丢弃)
配置规则的位置
运行时(runtime)
永久(permanent)
防火墙的判断规则:匹配即停止
1.看客户端来源的请求中的IP地址,查看本身所有区域的规则,如果有区域有该IP地址的规则,则进入该区域
2.进入默认区域(默认区域一般为public)
默认区案例:
虚拟机server0
[root@server0 ~]# firewall-cmd --set-default-zone=block
虚拟机desktop0
[root@desktop0 ~]# ping -c 2 172.25.0.11
虚拟机server0
[root@server0 ~]# firewall-cmd --set-default-zone=drop
虚拟机desktop0
[root@desktop0 ~]# ping -c 2 172.25.0.11
常见的协议
http:超文本传输协议 80
https:安全的超文本传输协议 443
ftp:文件传输协议 21
tftp:简单文件传输协议 69
telnet:远程管理协议 23
dns:域名解析协议 53
smtp:邮件协议 25
pop3:收邮件协议 110
snmp:简单的管理协议 161
服务案例:
虚拟机server0
[root@server0 ~]# firewall-cmd --set-default-zone=public
[root@server0 ~]# firewall-cmd --zone=public --list-all
[root@server0 ~]# firewall-cmd --zone=public --add-service=http #添加协议
[root@server0 ~]# firewall-cmd --zone=public --add-service=ftp #添加协议
虚拟机desktop0
[root@desktop0 ~]# firefox 172.25.0.11
[root@desktop0 ~]# firefox ftp://172.25.0.11
防火墙策略永久配置
永久(permanent)
[root@server0 ~]# firewall-cmd --reload #重新加载防火墙所有配置
[root@server0 ~]# firewall-cmd --zone=public --list-all
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-service=ftp
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@server0 ~]# firewall-cmd --reload
[root@server0 ~]# firewall-cmd --zone=public --list-all
防火墙对于客户端源IP控制
拒绝172.25.0.10访问本机的所有服务,其他客户端都允许
[root@server0 ~]# firewall-cmd --zone=block --list-all
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-source=172.25.0.10
[root@server0 ~]# firewall-cmd --permanent --zone=public --remove-source=172.25.0.10
[root@server0 ~]# firewall-cmd --permanent --zone=block --add-source=172.25.0.10
[root@server0 ~]# firewall-cmd --reload
[root@server0 ~]# firewall-cmd --zone=block --list-all
防火墙处理端口转发功能
[root@server0 ~]# yum -y install httpd
[root@server0 ~]# echo '<h1>NSD 1802 V587' > /var/www/html/index.html
[root@server0 ~]# systemctl restart httpd
[root@server0 ~]# systemctl enable httpd
[root@server0 ~]# firefox 172.25.0.11
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@server0 ~]# firewall-cmd --reload
[root@server0 ~]# firewall-cmd --zone=public --list-all
服务(协议)的端口:标识服务或协议
源ip地址 目的ip地址 目标端口号 80
虚拟机desktop0访问虚拟机server0 5423端口
将访问虚拟机server0 5423端口的请求------->虚拟机server0 80端口
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=5423:proto=tcp:toport=80
[root@server0 ~]# firewall-cmd --reload
[root@server0 ~]# firewall-cmd --zone=public --list-all