简体中文 繁體中文 English Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français Japanese

站内搜索

搜索

活动公告

通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,将及时处理!
10-23 09:31

Rocky Linux安全配置指南 全面解析企业级Linux系统安全设置与防护策略 从基础配置到高级安全措施助您构建坚不可摧的服务器环境

SunJu_FaceMall

3万

主题

153

科技点

3万

积分

大区版主

碾压王

积分
32103
发表于 2025-9-17 17:10:05 | 显示全部楼层 |阅读模式 [标记阅至此楼]

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

Rocky Linux作为CentOS的替代品,已经成为企业级服务器操作系统的热门选择。它由社区支持,旨在与RHEL(Red Hat Enterprise Linux)100%二进制兼容,为企业提供了一个稳定、可靠且安全的操作系统平台。在当今网络威胁日益增加的环境中,确保服务器的安全性对于保护企业数据、维护业务连续性以及满足合规要求至关重要。

本文将全面介绍Rocky Linux的安全配置,从基础设置到高级安全措施,帮助系统管理员和安全专家构建一个坚不可摧的服务器环境。我们将深入探讨各个层面的安全配置,并提供实用的命令示例和最佳实践,以确保您的Rocky Linux系统能够抵御各种潜在的安全威胁。

基础安全配置

系统更新与补丁管理

保持系统更新是维护服务器安全的首要步骤。Rocky Linux使用DNF(Dandified Yum)作为其包管理器,可以方便地安装安全更新和补丁。

首先,检查系统更新:
  1. sudo dnf check-update
复制代码

要应用所有可用的更新,运行:
  1. sudo dnf update -y
复制代码

为了自动化安全更新,可以安装并配置dnf-automatic:
  1. sudo dnf install -y dnf-automatic
复制代码

编辑配置文件/etc/dnf/automatic.conf:
  1. sudo vi /etc/dnf/automatic.conf
复制代码

设置以下参数:
  1. [commands]
  2. upgrade_type = security
  3. random_sleep = 300
  4. [emitters]
  5. emit_via = motd
  6. [email]
  7. email_from = root@yourdomain.com
  8. email_to = admin@yourdomain.com
  9. email_host = localhost
  10. [command]
  11. email_format = html
  12. [base]
  13. debuglevel = 1
复制代码

启用并启动dnf-automatic服务:
  1. sudo systemctl enable --now dnf-automatic.timer
复制代码

用户账户管理

强用户账户管理是系统安全的基础。首先,确保为管理员账户使用强密码,并限制直接root登录。

创建新用户并设置强密码:
  1. sudo adduser adminuser
  2. sudo passwd adminuser
复制代码

将新用户添加到wheel组,以授予sudo权限:
  1. sudo usermod -aG wheel adminuser
复制代码

禁用直接root登录,编辑/etc/ssh/sshd_config文件:
  1. sudo vi /etc/ssh/sshd_config
复制代码

找到并修改以下行:
  1. PermitRootLogin no
复制代码

重启SSH服务:
  1. sudo systemctl restart sshd
复制代码

服务管理

最小化系统中运行的服务可以减少潜在的攻击面。使用以下命令查看当前运行的服务:
  1. sudo systemctl list-units --type=service --state=running
复制代码

禁用不必要的服务,例如:
  1. sudo systemctl disable --now telnet.socket
  2. sudo systemctl disable --now rsh.socket
  3. sudo systemctl disable --now ypbind
  4. sudo systemctl disable --now tftp.socket
  5. sudo systemctl disable --now xinetd
复制代码

网络安全设置

防火墙配置

Rocky Linux使用firewalld作为默认的防火墙管理工具。首先确保firewalld已安装并运行:
  1. sudo dnf install -y firewalld
  2. sudo systemctl enable --now firewalld
复制代码

查看默认区域和活动区域:
  1. sudo firewall-cmd --get-default-zone
  2. sudo firewall-cmd --get-active-zones
复制代码

开放必要的端口,例如HTTP(80)和HTTPS(443):
  1. sudo firewall-cmd --permanent --add-service=http
  2. sudo firewall-cmd --permanent --add-service=https
  3. sudo firewall-cmd --reload
复制代码

如果需要自定义端口,例如开放TCP端口8080:
  1. sudo firewall-cmd --permanent --add-port=8080/tcp
  2. sudo firewall-cmd --reload
复制代码

查看当前防火墙规则:
  1. sudo firewall-cmd --list-all
复制代码

网络参数调整

通过调整内核网络参数,可以增强系统的网络安全性。编辑/etc/sysctl.conf文件或创建新的配置文件/etc/sysctl.d/99-security.conf:
  1. sudo vi /etc/sysctl.d/99-security.conf
复制代码

添加以下参数:
  1. # 启用IP欺骗保护
  2. net.ipv4.conf.all.rp_filter = 1
  3. net.ipv4.conf.default.rp_filter = 1
  4. # 禁用ICMP重定向接受
  5. net.ipv4.conf.all.accept_redirects = 0
  6. net.ipv4.conf.default.accept_redirects = 0
  7. net.ipv4.conf.all.secure_redirects = 0
  8. net.ipv4.conf.default.secure_redirects = 0
  9. # 禁用IP源路由
  10. net.ipv4.conf.all.accept_source_route = 0
  11. net.ipv4.conf.default.accept_source_route = 0
  12. # 忽略ICMP广播请求
  13. net.ipv4.icmp_echo_ignore_broadcasts = 1
  14. # 启用TCP SYN Cookie保护
  15. net.ipv4.tcp_syncookies = 1
  16. # 禁用IPv6(如果不需要)
  17. net.ipv6.conf.all.disable_ipv6 = 1
  18. net.ipv6.conf.default.disable_ipv6 = 1
  19. # 增加文件描述符限制
  20. fs.file-max = 65536
  21. # 防止SYN洪水攻击
  22. net.ipv4.tcp_max_syn_backlog = 4096
  23. net.ipv4.tcp_synack_retries = 2
  24. net.ipv4.tcp_syn_retries = 5
  25. # 记录可疑数据包
  26. net.ipv4.conf.all.log_martians = 1
复制代码

应用这些设置:
  1. sudo sysctl -p /etc/sysctl.d/99-security.conf
复制代码

SSH安全加固

SSH是远程管理服务器的常用工具,但也是潜在的攻击目标。以下是一些加固SSH安全性的措施:

首先,备份SSH配置文件:
  1. sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
复制代码

编辑SSH配置文件:
  1. sudo vi /etc/ssh/sshd_config
复制代码

修改或添加以下配置:
  1. # 更改默认端口
  2. Port 2222
  3. # 禁用root登录
  4. PermitRootLogin no
  5. # 仅允许特定用户登录
  6. AllowUsers adminuser user1 user2
  7. # 禁用密码认证,使用密钥认证
  8. PasswordAuthentication no
  9. PubkeyAuthentication yes
  10. # 禁用空密码
  11. PermitEmptyPasswords no
  12. # 设置最大认证尝试次数
  13. MaxAuthTries 3
  14. # 设置登录超时时间
  15. LoginGraceTime 60
  16. # 禁用X11转发
  17. X11Forwarding no
  18. # 设置SSH协议版本为2
  19. Protocol 2
  20. # 禁用.rhosts文件认证
  21. IgnoreRhosts yes
  22. # 禁用基于主机的认证
  23. HostbasedAuthentication no
  24. # 设置日志级别
  25. LogLevel VERBOSE
复制代码

重启SSH服务:
  1. sudo systemctl restart sshd
复制代码

设置SSH密钥认证:

在客户端生成SSH密钥对:
  1. ssh-keygen -t rsa -b 4096
复制代码

将公钥复制到服务器:
  1. ssh-copy-id -i ~/.ssh/id_rsa.pub adminuser@server_ip -p 2222
复制代码

访问控制与权限管理

文件系统权限

正确的文件权限是系统安全的关键。首先,检查关键文件和目录的权限:
  1. sudo ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow
复制代码

确保这些文件具有适当的权限:
  1. sudo chmod 644 /etc/passwd
  2. sudo chmod 600 /etc/shadow
  3. sudo chmod 644 /etc/group
  4. sudo chmod 600 /etc/gshadow
复制代码

设置关键目录的权限:
  1. sudo chmod 700 /root
  2. sudo chmod 755 /bin /sbin /usr/bin /usr/sbin
  3. sudo chmod 1777 /tmp /var/tmp
复制代码

查找并修复权限不当的文件:
  1. sudo find / -type f -perm -4000 -exec ls -lg {} \;
  2. sudo find / -type f -perm -2000 -exec ls -lg {} \;
复制代码

SELinux配置

SELinux(Security-Enhanced Linux)是Linux内核的安全模块,提供了强制访问控制(MAC)机制。首先检查SELinux状态:
  1. sestatus
复制代码

如果SELinux未启用,编辑/etc/selinux/config文件:
  1. sudo vi /etc/selinux/config
复制代码

设置SELinux为强制模式:
  1. SELINUX=enforcing
  2. SELINUXTYPE=targeted
复制代码

重启系统以应用更改:
  1. sudo reboot
复制代码

检查SELinux上下文:
  1. ls -Z /var/www/html/
复制代码

如果需要更改文件或目录的SELinux上下文,使用chcon命令:
  1. sudo chcon -R -t httpd_sys_content_t /var/www/html/
复制代码

使用semanage进行永久性更改:
  1. sudo dnf install -y policycoreutils-python-utils
  2. sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
  3. sudo restorecon -Rv /var/www/html/
复制代码

查看SELinux布尔值:
  1. getsebool -a
复制代码

设置SELinux布尔值:
  1. sudo setsebool -P httpd_can_network_connect on
复制代码

文件系统加密

使用LUKS(Linux Unified Key Setup)加密敏感数据分区:

首先,安装必要的工具:
  1. sudo dnf install -y cryptsetup
复制代码

创建加密分区(假设要加密的设备是/dev/sdb1):
  1. sudo cryptsetup luksFormat /dev/sdb1
复制代码

打开加密设备:
  1. sudo cryptsetup open /dev/sdb1 encrypted_data
复制代码

格式化加密设备:
  1. sudo mkfs.ext4 /dev/mapper/encrypted_data
复制代码

创建挂载点并挂载加密设备:
  1. sudo mkdir /mnt/encrypted_data
  2. sudo mount /dev/mapper/encrypted_data /mnt/encrypted_data
复制代码

添加到/etc/fstab以实现自动挂载:
  1. echo "/dev/mapper/encrypted_data /mnt/encrypted_data ext4 defaults 0 0" | sudo tee -a /etc/fstab
复制代码

配置/etc/crypttab以在启动时自动解密:
  1. echo "encrypted_data /dev/sdb1 none luks" | sudo tee -a /etc/crypttab
复制代码

安全审计与监控

日志管理

Rocky Linux使用rsyslog进行系统日志记录。确保rsyslog服务正在运行:
  1. sudo systemctl enable --now rsyslog
复制代码

配置日志轮转,编辑/etc/logrotate.conf和/etc/logrotate.d/下的配置文件。例如,为自定义日志创建轮转配置:
  1. sudo vi /etc/logrotate.d/myapp
复制代码

添加以下内容:
  1. /var/log/myapp/*.log {
  2.     daily
  3.     missingok
  4.     rotate 7
  5.     compress
  6.     delaycompress
  7.     notifempty
  8.     create 644 root root
  9.     postrotate
  10.         /usr/bin/systemctl reload myapp.service
  11.     endscript
  12. }
复制代码

集中化日志管理

使用Rsyslog将日志发送到中央日志服务器:

编辑/etc/rsyslog.conf:
  1. sudo vi /etc/rsyslog.conf
复制代码

添加以下行(假设中央日志服务器的IP是192.168.1.100):
  1. *.* @192.168.1.100:514
复制代码

重启rsyslog服务:
  1. sudo systemctl restart rsyslog
复制代码

审计系统

使用auditd进行系统审计:

确保auditd服务正在运行:
  1. sudo systemctl enable --now auditd
复制代码

配置审计规则,编辑/etc/audit/rules.d/audit.rules:
  1. sudo vi /etc/audit/rules.d/audit.rules
复制代码

添加以下规则:
  1. # 监控文件访问
  2. -w /etc/passwd -p wa -k identity
  3. -w /etc/shadow -p wa -k identity
  4. -w /etc/group -p wa -k identity
  5. -w /etc/gshadow -p wa -k identity
  6. # 监控系统调用
  7. -a always,exit -F arch=b64 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=-1 -k perm_mod
  8. -a always,exit -F arch=b64 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=-1 -k perm_mod
  9. # 监控登录尝试
  10. -w /var/log/faillog -p wa -k logins
  11. -w /var/log/lastlog -p wa -k logins
  12. -w /var/log/tallylog -p wa -k logins
  13. # 监控sudo使用
  14. -w /var/log/sudo.log -p wa -k sudo
  15. # 监控网络连接
  16. -a always,exit -F arch=b64 -S bind -S connect -F auid>=1000 -F auid!=-1 -k network
复制代码

加载新的审计规则:
  1. sudo augenrules --load
复制代码

查看审计日志:
  1. sudo ausearch -k identity
  2. sudo ausearch -k perm_mod
复制代码

入侵检测系统

安装和配置OSSEC(开源主机入侵检测系统):

首先,安装必要的依赖:
  1. sudo dnf install -y gcc make libevent-devel zlib-devel openssl-devel pcre2-devel
复制代码

下载并编译OSSEC:
  1. cd /opt
  2. sudo wget https://github.com/ossec/ossec-hids/archive/3.7.0.tar.gz
  3. sudo tar -xvzf 3.7.0.tar.gz
  4. cd ossec-hids-3.7.0
  5. sudo ./install
复制代码

按照安装向导进行配置。安装完成后,启动OSSEC:
  1. sudo /var/ossec/bin/ossec-control start
复制代码

配置OSSEC规则,编辑/var/ossec/rules/local_rules.xml:
  1. <group name="local,syslog,">
  2.   <rule id="100001" level="13">
  3.     <if_sid>5501</if_sid>
  4.     <match>Failed password for root</match>
  5.     <description>Root login failed</description>
  6.     <group>authentication_failed,</group>
  7.   </rule>
  8.   
  9.   <rule id="100002" level="10">
  10.     <if_sid>5501</if_sid>
  11.     <match>Accepted password for root</match>
  12.     <description>Root login accepted</description>
  13.     <group>authentication_success,</group>
  14.   </rule>
  15. </group>
复制代码

重启OSSEC以应用新规则:
  1. sudo /var/ossec/bin/ossec-control restart
复制代码

高级安全措施

系统加固工具

使用Lynis进行系统安全审计:

安装Lynis:
  1. sudo dnf install -y lynis
复制代码

运行系统审计:
  1. sudo lynis audit system
复制代码

查看审计报告:
  1. sudo cat /var/log/lynis.log
  2. sudo cat /var/log/lynis-report.dat
复制代码

使用OpenSCAP进行安全合规性检查:

安装OpenSCAP:
  1. sudo dnf install -y openscap-scanner scap-security-guide
复制代码

运行安全扫描:
  1. sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_pci-dss --results-arf results-arf.xml /usr/share/xml/scap/ssg/content/ssg-rockylinux8-ds.xml
复制代码

查看扫描结果:
  1. sudo oscap xccdf generate report results-arf.xml > security-report.html
复制代码

应用容器化安全

使用Podman进行安全的容器管理:

安装Podman:
  1. sudo dnf install -y podman
复制代码

创建安全的容器:
  1. sudo podman run -d --name mysecureapp --cap-drop ALL --cap-add CAP_NET_BIND_SERVICE --read-only -v /data:/data:ro -p 8080:8080 myimage:latest
复制代码

使用Podman安全策略:

创建安全策略文件/etc/containers/policy.json:
  1. {
  2.     "default": [
  3.         {
  4.             "type": "reject"
  5.         }
  6.     ],
  7.     "transports": {
  8.         "docker": {
  9.             "docker.io/library/nginx": [
  10.                 {
  11.                     "type": "signedBy",
  12.                     "keyType": "GPGKeys",
  13.                     "keyPath": "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"
  14.                 }
  15.             ]
  16.         }
  17.     }
  18. }
复制代码

内核强化

使用grubby配置内核参数:

查看当前内核参数:
  1. sudo grubby --info=ALL
复制代码

添加内核参数:
  1. sudo grubby --update-kernel=ALL --args="slab_nomerge slub_debug=FZP page_poison=1 page_alloc.shuffle=1"
复制代码

使用kexec禁用内核崩溃转储:
  1. sudo grubby --update-kernel=ALL --args="crashkernel=0"
复制代码

使用内核模块锁定:

创建/etc/modprobe.d/blacklist.conf:
  1. sudo vi /etc/modprobe.d/blacklist.conf
复制代码

添加以下内容:
  1. blacklist cramfs
  2. blacklist freevxfs
  3. blacklist jffs2
  4. blacklist hfs
  5. blacklist hfsplus
  6. blacklist squashfs
  7. blacklist udf
  8. blacklist nfs
  9. blacklist rpcsec_gss_krb5
  10. blacklist vfat
  11. blacklist dccp
  12. blacklist sctp
  13. blacklist rds
  14. blacklist tipc
复制代码

创建/etc/modprobe.d/disable.conf:
  1. sudo vi /etc/modprobe.d/disable.conf
复制代码

添加以下内容:
  1. install cramfs /bin/true
  2. install freevxfs /bin/true
  3. install jffs2 /bin/true
  4. install hfs /bin/true
  5. install hfsplus /bin/true
  6. install squashfs /bin/true
  7. install udf /bin/true
  8. install nfs /bin/true
  9. install rpcsec_gss_krb5 /bin/true
  10. install vfat /bin/true
  11. install dccp /bin/true
  12. install sctp /bin/true
  13. install rds /bin/true
  14. install tipc /bin/true
复制代码

安全通信与加密

使用TLS/SSL保护服务通信:

安装Certbot获取Let’s Encrypt证书:
  1. sudo dnf install -y certbot python3-certbot-nginx
复制代码

获取证书:
  1. sudo certbot --nginx -d yourdomain.com
复制代码

配置自动续期:
  1. sudo echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab
复制代码

使用GnuPG加密敏感文件:

安装GnuPG:
  1. sudo dnf install -y gnupg2
复制代码

生成GPG密钥对:
  1. gpg --full-generate-key
复制代码

加密文件:
  1. gpg --encrypt --recipient recipient@example.com sensitive_file.txt
复制代码

解密文件:
  1. gpg --decrypt sensitive_file.txt.gpg > sensitive_file.txt
复制代码

安全最佳实践与策略

安全基线配置

建立企业级安全基线:

创建安全基线脚本security-baseline.sh:
  1. #!/bin/bash
  2. # 系统更新
  3. dnf update -y
  4. # 安装必要的安全工具
  5. dnf install -y firewalld rsyslog auditd setroubleshoot-server
  6. # 启用并启动服务
  7. systemctl enable --now firewalld
  8. systemctl enable --now rsyslog
  9. systemctl enable --now auditd
  10. # 配置防火墙
  11. firewall-cmd --permanent --add-service=ssh
  12. firewall-cmd --permanent --remove-service=dhcpv6-client
  13. firewall-cmd --reload
  14. # 禁用不必要的服务
  15. systemctl disable --now avahi-daemon
  16. systemctl disable --now cups
  17. systemctl disable --now postfix
  18. # 配置SSH
  19. cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  20. sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
  21. sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
  22. sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
  23. systemctl restart sshd
  24. # 配置SELinux
  25. sed -i 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
  26. setenforce 1
  27. # 配置自动安全更新
  28. dnf install -y dnf-automatic
  29. sed -i 's/upgrade_type = default/upgrade_type = security/' /etc/dnf/automatic.conf
  30. systemctl enable --now dnf-automatic.timer
  31. # 配置密码策略
  32. dnf install -y libpwquality
  33. sed -i 's/# minlen = 9/minlen = 14/' /etc/security/pwquality.conf
  34. sed -i 's/# minclass = 3/minclass = 4/' /etc/security/pwquality.conf
  35. echo "password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=" >> /etc/pam.d/system-auth
  36. # 配置登录失败锁定
  37. echo "auth        required      pam_tally2.so deny=5 unlock_time=900 onerr=fail" >> /etc/pam.d/system-auth
  38. # 配置系统参数
  39. cat >> /etc/sysctl.d/99-security.conf << EOF
  40. # 启用IP欺骗保护
  41. net.ipv4.conf.all.rp_filter = 1
  42. net.ipv4.conf.default.rp_filter = 1
  43. # 禁用ICMP重定向接受
  44. net.ipv4.conf.all.accept_redirects = 0
  45. net.ipv4.conf.default.accept_redirects = 0
  46. # 启用TCP SYN Cookie保护
  47. net.ipv4.tcp_syncookies = 1
  48. # 记录可疑数据包
  49. net.ipv4.conf.all.log_martians = 1
  50. EOF
  51. sysctl -p /etc/sysctl.d/99-security.conf
  52. echo "安全基线配置已完成!"
复制代码

使脚本可执行并运行:
  1. chmod +x security-baseline.sh
  2. sudo ./security-baseline.sh
复制代码

安全事件响应计划

建立安全事件响应计划:

创建事件响应团队,明确角色和职责:

1. 事件响应协调员
2. 安全分析师
3. 系统管理员
4. 网络工程师
5. 法律顾问
6. 公关代表

创建事件响应流程文档incident-response-plan.md:
  1. # 安全事件响应计划
  2. ## 1. 事件检测与报告
  3. - 监控系统日志和安全警报
  4. - 建立事件报告渠道
  5. - 定义事件严重级别
  6. ## 2. 事件分类与优先级
  7. - 事件类型分类(恶意软件、未授权访问、数据泄露等)
  8. - 严重级别评估(低、中、高、严重)
  9. - 业务影响评估
  10. ## 3. 事件响应
  11. - 初步分析
  12. - 遏制策略
  13. - 根除策略
  14. - 系统恢复
  15. - 事后分析
  16. ## 4. 联系信息
  17. - 事件响应团队成员联系方式
  18. - 外部安全专家联系方式
  19. - 执法机构联系方式
  20. - 管理层联系方式
  21. ## 5. 沟通计划
  22. - 内部沟通流程
  23. - 外部沟通流程
  24. - 公关策略
  25. - 法律合规要求
复制代码

定期安全评估

建立定期安全评估流程:

1. 每周:检查系统更新审查安全日志验证备份完整性
2. 检查系统更新
3. 审查安全日志
4. 验证备份完整性
5. 每月:运行漏洞扫描审查用户账户和权限测试安全控制措施
6. 运行漏洞扫描
7. 审查用户账户和权限
8. 测试安全控制措施
9. 每季度:进行渗透测试更新安全策略进行安全意识培训
10. 进行渗透测试
11. 更新安全策略
12. 进行安全意识培训
13. 每年:全面安全审计更新灾难恢复计划评估安全工具有效性
14. 全面安全审计
15. 更新灾难恢复计划
16. 评估安全工具有效性

每周:

• 检查系统更新
• 审查安全日志
• 验证备份完整性

每月:

• 运行漏洞扫描
• 审查用户账户和权限
• 测试安全控制措施

每季度:

• 进行渗透测试
• 更新安全策略
• 进行安全意识培训

每年:

• 全面安全审计
• 更新灾难恢复计划
• 评估安全工具有效性

创建自动化安全检查脚本security-check.sh:
  1. #!/bin/bash
  2. # 创建日志文件
  3. LOG="/var/log/security-check.log"
  4. DATE=$(date +%Y-%m-%d)
  5. echo "安全检查日志 - $DATE" > $LOG
  6. # 检查系统更新
  7. echo "检查系统更新..." >> $LOG
  8. dnf check-update >> $LOG 2>&1
  9. # 检查运行的服务
  10. echo "检查运行的服务..." >> $LOG
  11. systemctl list-units --type=service --state=running >> $LOG
  12. # 检查开放端口
  13. echo "检查开放端口..." >> $LOG
  14. ss -tuln >> $LOG
  15. # 检查用户账户
  16. echo "检查用户账户..." >> $LOG
  17. awk -F: '($3 >= 1000) {print}' /etc/passwd >> $LOG
  18. # 检查SUID/SGID文件
  19. echo "检查SUID/SGID文件..." >> $LOG
  20. find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -lg {} \; 2>/dev/null >> $LOG
  21. # 检查SELinux状态
  22. echo "检查SELinux状态..." >> $LOG
  23. sestatus >> $LOG
  24. # 检查防火墙状态
  25. echo "检查防火墙状态..." >> $LOG
  26. firewall-cmd --list-all >> $LOG
  27. # 检查失败登录尝试
  28. echo "检查失败登录尝试..." >> $LOG
  29. lastb | head -n 20 >> $LOG
  30. # 检查磁盘空间
  31. echo "检查磁盘空间..." >> $LOG
  32. df -h >> $LOG
  33. echo "安全检查完成!日志已保存到 $LOG"
复制代码

使脚本可执行并设置定期运行:
  1. chmod +x security-check.sh
  2. sudo mv security-check.sh /usr/local/bin/
  3. echo "0 2 * * 1 /usr/local/bin/security-check.sh" | sudo crontab -
复制代码

总结

Rocky Linux作为一个企业级操作系统,提供了丰富的安全功能和工具,可以帮助系统管理员构建一个安全可靠的服务器环境。本文从基础安全配置到高级安全措施,全面介绍了Rocky Linux的安全设置与防护策略。

我们首先讨论了基础安全配置,包括系统更新、用户管理和服务管理,这些是构建安全系统的基础。然后,我们深入探讨了网络安全设置,包括防火墙配置、网络参数调整和SSH安全加固,这些措施可以有效保护系统免受网络攻击。

接下来,我们介绍了访问控制与权限管理,包括文件系统权限、SELinux配置和文件系统加密,这些技术可以确保系统资源的访问受到严格控制。我们还讨论了安全审计与监控,包括日志管理、集中化日志管理、审计系统和入侵检测系统,这些工具可以帮助管理员及时发现和响应安全事件。

在高级安全措施部分,我们介绍了系统加固工具、应用容器化安全、内核强化和安全通信与加密,这些技术可以进一步提高系统的安全性。最后,我们讨论了安全最佳实践与策略,包括安全基线配置、安全事件响应计划和定期安全评估,这些策略可以帮助组织建立一个全面的安全管理体系。

通过实施本文介绍的安全措施和最佳实践,您可以构建一个坚不可摧的Rocky Linux服务器环境,有效保护您的数据和业务免受各种安全威胁。记住,安全是一个持续的过程,需要定期评估和更新,以应对不断变化的安全威胁。
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Discord频道

加入Discord频道

加入QQ社群

加入QQ社群

联系我们|小黑屋|TG频道|RSS |网站地图

Powered by Pixtech

© 2025-2026 Pixtech Team.