当前位置: 首页 > news >正文

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

 

 防火墙存在且已经开启

2.创建脚本服务

#!/bin/bash
#判断上一步操作是否成功执行
judgment() {if [ $? -eq 0 ];thenecho "SUCCESS"elseecho "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
judgmentecho "######防火墙安全封堵成功######"25,1         顶端

​​​​​​​

 

http://www.lryc.cn/news/107567.html

相关文章:

  • 双端冒泡排序
  • 如何在Visual Studio Code中用Mocha对TypeScript进行测试
  • GO中Json的解析
  • chatgpt 提示词-关于数据科学的 75个词语
  • (自控原理)控制系统的数学模型
  • Webpack5 cacheGroups
  • 前端面试的游览器部分(5)每篇10题
  • 数据挖掘七种常用的方法汇总
  • 自然语言处理学习笔记(二)————语料库与开源工具
  • Rust dyn - 动态分发 trait 对象
  • uniapp 中过滤获得数组中某个对象里id:1的数据
  • Django系列之Channels
  • HTTP——五、与HTTP协作的Web服务器
  • pyspark笔记 Timestamp 类型的比较
  • SpringBoot 集成 Redis
  • 黑客学习笔记(网络安全)
  • [openCV]基于拟合中线的智能车巡线方案V1
  • MyBatis-Plus 和达梦数据库实现高效数据持久化
  • 已注销【888】
  • Ceph错误汇总
  • DataTable过滤某些数据
  • JAVASE---继承和多态
  • Centos7升级gcc、g++版本(转载)
  • 第一章:继承
  • git面试题
  • Github Copilot在JetBrains软件中登录Github失败的解决方案
  • 使用 github 同步谷歌浏览器书签
  • Eclipse进行debug
  • 13-5_Qt 5.9 C++开发指南_基于信号量的线程同步_Semaphore
  • golang使用泛型实现mapreduce操作