- 加入了 systemctl 這一神器
- 防火墻設置不同
- 加入了更高級別的安全設置(SElinux)
centos 7 開始防火墻使用 firewalld 代替了 iptables
firewalld 簡單使用:
開機啟動 | 開機不啟動 | 啟動 | 停止 | 重啟 | 查詢狀態 firewalld 防火墻服務
systemctl enable|disable|start|stop|restart|status firewalld
永久(--permanent) 開放(--zone=public) 某一個端口:
firewall-cmd --add-port=667/tcp --add-port=888-890/tcp --zone=public --permanent
同時永久(--permanent) 開放(--zone=public) 多個(包括連續的和不連續的)端口:
firewall-cmd --add-port=667/tcp --add-port=888-890/tcp --zone=public --permanent
永久(--permanent) 移除(remove) 一個或多個開放的(--zone=public)端口:
firewall-cmd --remove-port=6666/tcp --zone=public --permanent
查詢開放的端口:
firewall-cmd --list-port
刷新/重新載入 防火墻:
firewall-cmd --reload
在每一次更新防火墻規則(包括更新端口、添加屏蔽 ip 等操作) 之后都必須重新載入才會生效
引入 SELinux
什么是 SELinux ? 其全名是: Security Enhanced Linux,簡單來講就是更高級別的安全設置(這玩意兒的戲特別多,一不小心就會被它坑了)
有些時候,當你以為使用 firewalld 開放了防火墻端口就萬事大吉的時候,說不定你的服務就被這玩意給攔截了
SELinux 端口管理簡單使用:
安裝 SELinux 管理工具 semanage :
yum install policycoreutils-Python
查看某一項服務(如 http) 相關的端口:
semanage port -l | grep http
向 SELinux 中添加一項服務(如 xxx 服務)的開放端口
semanage port -a -t xxx_port_t -p tcp 2333
將 SELinux 中的端口移除:
semanage port --delete -t http_port_t -p tcp 8899-8902
重啟 SELinux 服務:
systemctl restart sshd.service