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

服务器linux操作系统安全加固

一、系统更新与补丁管理

更新系统


sudo yum update -y        # 更新所有软件包
sudo yum install epel-release -y  # 安装EPEL扩展源

启用自动安全更新


sudo yum install yum-cron -y
sudo systemctl enable yum-cron
sudo systemctl start yum-cron

    配置 /etc/yum/yum-cron.conf,设置 update_cmd = security 和 apply_updates = yes。

二、账户与权限安全

禁用root远程登录
编辑 /etc/ssh/sshd_config:


PermitRootLogin no

创建普通用户并赋予sudo权限
bash
复制

useradd admin
passwd admin
usermod -aG wheel admin  # 加入sudo组

限制sudo权限

    编辑 /etc/sudoers,限制用户仅能执行必要命令:


admin ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/sbin/reboot

密码策略强化

    修改 /etc/login.defs:


    PASS_MAX_DAYS   90
    PASS_MIN_DAYS   1
    PASS_MIN_LEN    12
    PASS_WARN_AGE   7

    安装密码复杂度检查模块:


    sudo yum install cracklib
    sudo vi /etc/pam.d/system-auth  # 添加 `minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1`

三、SSH 安全加固

修改SSH默认端口
编辑 /etc/ssh/sshd_config:


Port 2222  # 改为非标准端口(如2222)

仅允许密钥登录


PasswordAuthentication no
PubkeyAuthentication yes

限制SSH访问IP


AllowUsers admin@192.168.1.0/24  # 仅允许特定IP段的用户登录

重启SSH服务


sudo systemctl restart sshd

四、防火墙与网络防护

启用firewalld


sudo systemctl enable firewalld
sudo systemctl start firewalld

配置防火墙规则


sudo firewall-cmd --permanent --add-port=2222/tcp    # 放行SSH端口
sudo firewall-cmd --permanent --remove-service=ssh   # 删除默认SSH端口
sudo firewall-cmd --reload

禁用ICMP重定向
编辑 /etc/sysctl.conf:


net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0

sudo sysctl -p  # 生效配置

五、SELinux 强化

启用SELinux
编辑 /etc/selinux/config:


SELINUX=enforcing
SELINUXTYPE=targeted


sudo setenforce 1  # 临时生效

管理SELinux策略


sudo yum install setroubleshoot setools -y  # 安装管理工具
sudo audit2allow -a -M mypolicy  # 根据日志生成自定义策略

六、服务与进程管理

关闭无用服务


sudo systemctl stop bluetooth cups avahi-daemon
sudo systemctl disable bluetooth cups avahi-daemon

使用最小化安装


sudo yum install @minimal  # 仅安装必需软件包

监控进程与端口


sudo netstat -tulnp | grep LISTEN  # 检查开放端口
sudo ps aux | grep可疑进程名

七、文件系统与权限加固

关键文件权限设置


sudo chmod 600 /etc/passwd /etc/shadow  # 仅root可读写
sudo chattr +i /etc/passwd /etc/shadow  # 防止文件被修改

禁用SUID/SGID


find / -perm /4000 -exec ls -l {} \;  # 查找SUID文件
find / -perm /2000 -exec ls -l {} \;  # 查找SGID文件
# 移除不必要的SUID/SGID权限(如chmod u-s /path/to/file)

挂载选项加固
编辑 /etc/fstab,为分区添加 noexec,nosuid 选项:


/dev/sda1 /boot xfs defaults,noexec,nosuid 0 0

八、日志与审计

启用审计服务


sudo systemctl enable auditd
sudo systemctl start auditd

配置审计规则
编辑 /etc/audit/rules.d/audit.rules,添加以下规则:


-a always,exit -F arch=b64 -S execve -k process_trace  # 跟踪进程执行
-w /etc/passwd -p wa -k user_accounts  # 监控用户账户变更

日志轮转与备份

    配置 /etc/logrotate.conf,确保日志定期压缩和清理。

九、入侵检测与防护

安装Fail2ban防暴力破解


sudo yum install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

    编辑 /etc/fail2ban/jail.local,设置SSH防护:


    [sshd]
    enabled = true
    port = 2222  # 与SSH端口一致
    maxretry = 3

使用Rootkit检测工具


sudo yum install rkhunter
sudo rkhunter --check --sk

十、其他高级防护

内核参数调优
编辑 /etc/sysctl.conf,添加以下内容:

net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
kernel.kptr_restrict = 1
kernel.dmesg_restrict = 1

配置历史命令安全


echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc  # 记录时间戳
echo 'export HISTSIZE=10000' >> ~/.bashrc           # 保留更多历史记录
echo 'export HISTCONTROL=ignoreboth' >> ~/.bashrc  # 忽略重复命令和空格开头的命令

十一、验证与监控

安全扫描工具

    使用 Lynis 进行系统审计:


    sudo yum install lynis
    sudo lynis audit system

    使用 OpenSCAP 扫描合规性:


    sudo yum install openscap-scanner scap-security-guide
    sudo oscap xccdf eval --profile stig-rhel7-disa --results scan.xml /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml

定期备份与恢复测试


sudo tar -czvf /backup/system_backup_$(date +%F).tar.gz /etc /var/log

注意事项

测试环境验证:所有配置先在测试环境验证,避免影响生产服务。

备份配置文件:修改关键文件前备份(如 cp /etc/ssh/sshd_config{,.bak})。

监控与告警:部署监控工具(如Prometheus + Grafana)实时跟踪系统状态。

相关文章:

  • 深度求索(DeepSeek)的AI革命:NLP、CV与智能应用的技术跃迁
  • 第一章嵌入式系统概论考点07数字音频与数字视频
  • Python数据可视化 - Matplotlib教程
  • 数据库开发常识(10.6)——考量使用临时表及表连接写法(3)
  • 回环地址127.0.0.1跟自身IP有什么区别?
  • 第二十二章 P - R 开头的术语
  • ThreadLocal源码分析
  • 微信小程序组件间通信与传值的全面解析
  • Node.js使用教程
  • LabVIEW显微镜成像偏差校准
  • Flutter 异步编程利器:Future 与 Stream 深度解析
  • 算法-哈希表篇06-赎金信
  • flutter doctor 报错—CocoaPods not installed
  • STM32操作FLASH
  • C#中的Interface、Abstract和Virtual
  • Linux | 进程相关概念(进程、进程状态、进程优先级、环境变量、进程地址空间)
  • AI智能体,AI computer use:浏览器使用(Browser Use)项目实际体验,ollama deepseek r1
  • 网络安全初级实战笔记(一):owasp zap 暴力破解
  • 学二手书---《python 数据科学手册》学习笔记250213 第一章(一)
  • Ollama + DeepSeek + Dify私有化部署自己的AI Agent
  • 天河做网站开发/西安网络优化大的公司
  • 品牌网站建设设计/黑帽seo排名优化
  • 国内买机票的网站建设/营业推广的方式
  • 自助做网站/推广普通话的意义论文
  • 企业网站推广的方法有?/2024年1月新冠高峰期
  • 软件定制开发费用多少云鲸互创优秀/青岛百度推广优化怎么做的