shell脚本练习--安全封堵脚本,使用firewalld实现

一.什么是安全封堵

  安全封堵(security hardening)是指采取一系列措施来增强系统的安全性,防止潜在的攻击和漏洞利用。以下是一些常见的安全封堵措施:

  1. 更新和修补系统:定期更新操作系统和软件包以获取最新的安全补丁和修复程序。

  2. 配置防火墙:使用防火墙软件(如iptables或firewalld)来限制进出系统的网络流量,只允许必要的服务和端口。

  3. 禁用不必要的服务:关闭或禁用不需要的网络服务和进程,减少系统的攻击面。

  4. 配置访问控制:限制用户访问权限,只允许授权用户访问敏感文件和目录。

  5. 强化密码策略:设置复杂的密码要求,包括长度、字符类型和过期时间。

  6. 启用SELinux:安全增强型Linux(SELinux)是一种安全机制,可以限制进程的权限,防止未经授权的访问。

  7. 安装安全审计工具:使用工具(如AIDE或Tripwire)来监控系统文件的变化,以及记录和报告潜在的安全事件。

  8. 配置日志记录:启用系统日志记录并配置合适的日志级别,以便及时检测和响应安全事件。

  9. 加密通信:使用SSL / TLS协议来加密网络通信,确保敏感数据的安全传输。

  10. 定期备份数据:定期备份重要数据,以防止数据丢失或遭受勒索软件等攻击。

 这些措施可以帮助提高系统的安全性,并减少潜在的安全风险。

二.安全封堵脚本

接下来我采用防火墙来限制网络流量,只允许SSH,HTTP,HTTPS的流量传入

1.查看防火墙状态

sudo yum list installed | grep firewalld
systemctl status firewalld

 shell脚本练习--安全封堵脚本,使用firewalld实现_第1张图片

 防火墙存在且已经开启

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         顶端

​​​​​​​

 

你可能感兴趣的:(安全)