系統安全
系統安全保護
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