一.什么是安全封堵
安全封堵(security hardening)是指采取一系列措施来增强系统的安全性,防止潜在的攻击和漏洞利用。以下是一些常见的安全封堵措施:
-
更新和修补系统:定期更新操作系统和软件包以获取最新的安全补丁和修复程序。
-
配置防火墙:使用防火墙软件(如iptables或firewalld)来限制进出系统的网络流量,只允许必要的服务和端口。
-
禁用不必要的服务:关闭或禁用不需要的网络服务和进程,减少系统的攻击面。
-
配置访问控制:限制用户访问权限,只允许授权用户访问敏感文件和目录。
-
强化密码策略:设置复杂的密码要求,包括长度、字符类型和过期时间。
-
启用SELinux:安全增强型Linux(SELinux)是一种安全机制,可以限制进程的权限,防止未经授权的访问。
-
安装安全审计工具:使用工具(如AIDE或Tripwire)来监控系统文件的变化,以及记录和报告潜在的安全事件。
-
配置日志记录:启用系统日志记录并配置合适的日志级别,以便及时检测和响应安全事件。
-
加密通信:使用SSL / TLS协议来加密网络通信,确保敏感数据的安全传输。
-
定期备份数据:定期备份重要数据,以防止数据丢失或遭受勒索软件等攻击。
这些措施可以帮助提高系统的安全性,并减少潜在的安全风险。
二.安全封堵脚本
接下来我采用防火墙来限制网络流量,只允许SSH,HTTP,HTTPS的流量传入
1.查看防火墙状态
sudo yum list installed | grep firewalld
systemctl status firewalld
防火墙存在且已经开启
2.创建脚本服务
#!/bin/bash
#判断上一步操作是否成功执行
judgment() {
if [ $? -eq 0 ];then
echo "SUCCESS"
else
echo "ERROR"
fi
}
#获取默认接口区域
default_zone=$(firewall-cmd --get-default-zone)
#安全封堵流量
echo "######正在封堵流量######"
firewall-cmd --set-target=DROP --zone=$default_zone --permanent 2>/dev/null >/dev/null
judgment
#允许SSH传入的流量
echo "#######放行SSH传入的流量######"
firewall-cmd --zone=$default_zone --add-service=ssh --permanent 2>/dev/null >/dev/null
judgment
#允许HTTP传入流量
echo "######放行HTTP传入流量######"
firewall-cmd --zone=$default_zone --add-service=http --permanent 2>/dev/null >/dev/null
judgment
#允许HTTPS传入流量
echo "######放行HTTPS传入流量######"
firewall-cmd --zone=$default_zone --add-service=https --permanent 2>/dev/null >/dev/null
judgment
#重载防火墙
echo "######正在重载防火墙######"
firewall-cmd --reload 2>/dev/null >/dev/null
judgment
echo "######防火墙安全封堵成功######"
25,1 顶端