Linux系统安全审计脚本
原创 李逸皓 运维book思议 2023-03-08 13:46 发表于北京 收录于合集 #linux56个 #脚本44个 #shell41个 #系统安全4个先放个链接,万一有人关注呢
运维book思议 李小白,一个北漂的运维。希望能够通过本公众号与业内各位大神交流技术问题。 62篇原创内容 公众号优质文章推荐
↓ ↓ ↓ ↓ ↓
Linux系统初始化脚本
能够监控100台服务器的磁盘利用率的脚本——16行代码实现
Linux操作系统是现代计算机系统中最流行的操作系统之一。它以其开源性、可靠性和安全性而闻名于世。尽管Linux浏览器
Linux系统安全审计是一种全面的检查和评估Linux操作系统安全的过程。它是一种系统性的审计,涵盖了诸如网络安全、身份验证、访问控制、文件系统安全、进程安全等方面。通过Linux系统安全审计,管理员可以识别潜在的风险并采取相应的措施来提高系统的安全性。
-
发现和解决漏洞和安全问题
Linux系统安全审计可以帮助管理员发现潜在的漏洞和安全问题,并采取相应的措施来修复它们。这可以防止潜在的攻击,并保护系统免受恶意用户的攻击。
-
确保符合合规性要求
对于许多组织和公司而言,确保其Linux系统符合合规性要求非常重要。通过进行Linux系统安全审计,管理员可以检查系统是否符合相关的安全标准和规定,如PCI DSS、HIPAA等。这有助于确保组织或公司不会因未遵守合规性要求而受到罚款或其他法律责任。
-
防止未经授权的访问
Linux系统安全审计可以检查系统的访问控制机制,以确保只有授权的用户可以访问系统。这可以防止未经授权的用户访问系统和数据,从而保护系统的完整性和机密性。
-
保护数据
Linux系统安全审计可以确保系统中的数据得到适当的保护。这包括识别任何潜在的数据泄漏风险,并采取相应的措施来保护敏感数据。这可以确保组织或公司不会因数据泄露而受到损失。
-
提高系统的安全性
通过进行Linux系统安全审计,管理员可以了解系统中存在的任何安全问题并采取相应的措施来修复它们。这可以提高系统的安全性,并减少系统被攻击的风险。这有助于保护组织或公司的财产、声誉和业务运营。
上代码!
#!/bin/bash
# 定义变量
DATE=`date +%Y-%m-%d_%H:%M:%S`
LOG_FILE="/var/log/security_audit_${DATE}.log"
# 记录系统基本信息
echo -e "===================== SYSTEM INFO =====================" >> ${LOG_FILE}
echo -e "Hostname: `hostname`" >> ${LOG_FILE}
echo -e "Kernel version: `uname -r`" >> ${LOG_FILE}
echo -e "OS version: `cat /etc/os-release | grep PRETTY_NAME | cut -d '"' -f 2`" >> ${LOG_FILE}
echo -e "========================================================" >> ${LOG_FILE}
# 检查用户管理
echo -e "==================== USER MANAGEMENT ===================" >> ${LOG_FILE}
# 检查root用户是否被锁定
if [[ `passwd -S root | awk '{print $2}'` == "L" ]]; then
echo -e "root account is locked." >> ${LOG_FILE}
else
echo -e "root account is not locked." >> ${LOG_FILE}
fi
# 检查是否存在非法用户
if [[ `grep "^+" /etc/passwd` != "" ]]; then
echo -e "Found invalid user account(s):" >> ${LOG_FILE}
grep "^+" /etc/passwd >> ${LOG_FILE}
else
echo -e "No invalid user account found." >> ${LOG_FILE}
fi
echo -e "========================================================" >> ${LOG_FILE}
# 检查文件权限
echo -e "====================== FILE PERMISSION ==================" >> ${LOG_FILE}
# 检查是否存在权限过大的文件
echo -e "Files with permission greater than 644:" >> ${LOG_FILE}
find / -type f -perm /022 -print >> ${LOG_FILE}
# 检查敏感文件权限
echo -e "Sensitive files permission status:" >> ${LOG_FILE}
ls -l /etc/passwd /etc/shadow /etc/group >> ${LOG_FILE}
echo -e "========================================================" >> ${LOG_FILE}
# 检查网络连接
echo -e "====================== NETWORK INFO ====================" >> ${LOG_FILE}
# 检查开放的端口
echo -e "Open ports:" >> ${LOG_FILE}
netstat -tunlp | grep LISTEN >> ${LOG_FILE}
# 检查连接情况
echo -e "Active connections:" >> ${LOG_FILE}
netstat -an | grep ESTABLISHED >> ${LOG_FILE}
echo -e "========================================================" >> ${LOG_FILE}
echo -e "Security audit completed." >> ${LOG_FILE}
此脚本可以记录系统基本信息,检查用户管理、文件权限和网络连接等方面的安全问题。同时,可以将审计结果写入日志文件以供后续分析和处理。该脚本只是一个基础模板,实际上可以根据需要增加更多的检查项和处理逻辑。
谢谢你这么好看还关注我
标签:审计,LOG,Linux,系统,echo,FILE,linux,系统安全 From: https://www.cnblogs.com/cherishthepresent/p/17325853.html