首页主机资讯Linux系统如何进行安全加固

Linux系统如何进行安全加固

时间2025-10-28 13:22:03发布访客分类主机资讯浏览1174
导读:Linux系统安全加固关键措施 1. 系统补丁与软件更新 及时更新系统内核及软件包是修复已知漏洞、降低被攻击风险的核心手段。通过包管理器(如Debian/Ubuntu的apt、CentOS/RHEL的yum)定期执行sudo apt upd...

Linux系统安全加固关键措施

1. 系统补丁与软件更新

及时更新系统内核及软件包是修复已知漏洞、降低被攻击风险的核心手段。通过包管理器(如Debian/Ubuntu的apt、CentOS/RHEL的yum)定期执行sudo apt update & & sudo apt upgradesudo yum update,确保系统组件为最新稳定版本。早期内核版本(如2.0.x以下)存在较多安全漏洞,需升级至2.0.x及以上版本,并移除不必要的软件包以减少攻击面。

2. 防火墙配置

防火墙是控制网络流量的第一道防线,需根据发行版选择合适工具并配置严格规则:

  • UFW(Ubuntu/Debian):启用sudo ufw enable,仅开放必要端口(如HTTP的80/tcp、HTTPS的443/tcp、SSH的22/tcp),例如sudo ufw allow 80/tcp;限制特定IP访问敏感端口(如sudo ufw allow from 192.168.1.100 to any port 22);查看状态sudo ufw status
  • Firewalld(CentOS/RHEL):启动sudo systemctl start firewalld并设置默认区域为publicsudo firewall-cmd --set-default-zone=public);允许服务(如sudo firewall-cmd --permanent --add-service=ssh)或端口(如sudo firewall-cmd --permanent --add-port=80/tcp);重载配置sudo firewall-cmd --reload
  • Iptables:通过命令配置基础规则(如允许本地回环sudo iptables -A INPUT -i lo -j ACCEPT、SSH连接sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT),默认拒绝所有输入流量(sudo iptables -P INPUT DROP);保存规则(如Debian/Ubuntu使用iptables-persistent)。

3. 用户与权限管理

  • 禁用Root远程登录:编辑/etc/ssh/sshd_config,设置PermitRootLogin no,避免攻击者通过暴力破解Root密码入侵;重启SSH服务sudo systemctl restart sshd
  • 使用SSH密钥认证:生成密钥对(ssh-keygen -t rsa),将公钥(id_rsa.pub)复制到服务器~/.ssh/authorized_keys;禁用密码登录(PasswordAuthentication no),降低密码泄露风险。
  • 最小权限原则:避免使用Root账户日常操作,通过sudo执行需要特权的命令;为用户分配最小必要权限,例如将用户加入特定组(sudo usermod -aG developers devuser)而非直接赋予权限。
  • 定期审查用户与权限:清理闲置账户(sudo userdel -r username),检查/etc/passwd/etc/group中的用户和组信息;使用sudo -l查看用户sudo权限,移除不必要的权限。

4. SSH服务加固

SSH是远程管理的关键服务,需优化配置以防范暴力破解:

  • 修改/etc/ssh/sshd_config,设置Port为非默认端口(如2222),增加猜测难度;禁用密码登录(PasswordAuthentication no),强制使用密钥认证;限制登录用户(AllowUsers devuser)或IP段(AllowGroups admins)。
  • 安装防暴力破解工具(如Fail2ban),配置/etc/fail2ban/jail.local,针对SSH设置maxretry = 3(允许3次失败尝试)、bantime = 3600(封禁1小时),自动屏蔽频繁失败的IP。

5. 文件与目录权限控制

合理的权限设置是防止数据泄露的重要手段:

  • 避免过度权限:文件权限设置为644(所有者可读写,其他用户只读),目录权限设置为755(所有者可读写执行,其他用户可读执行);敏感文件(如/etc/shadow/etc/passwd)需限制为600(仅所有者可读写)。
  • 使用chmodchown命令调整权限:例如sudo chmod 600 /etc/shadowsudo chown root:root /etc/passwd;通过ls -l查看权限,确保无异常。
  • 特殊权限与ACL:谨慎使用Setuid(4)、Setgid(2)、Sticky Bit(1)(如sudo chmod u+s /usr/bin/passwd允许普通用户修改密码,但限制权限);使用ACL为单个用户/组设置权限(如sudo setfacl -m u:devuser:rwx /var/www/html允许devuser访问Web目录)。

6. 日志监控与审计

日志是检测异常行为的关键依据,需配置并定期审查:

  • 启用系统日志(rsyslogsyslog-ng),记录登录(/var/log/auth.log)、系统操作(/var/log/syslog)、服务日志(如/var/log/apache2/access.log);使用journalctl查看实时日志(如sudo journalctl -u sshd)。
  • 定期审查日志:检查异常登录(如频繁失败的SSH尝试)、未授权访问(如访问敏感目录的记录);使用工具(如logwatchfail2ban)自动化日志分析,及时响应安全事件。

7. 禁用不必要的服务与端口

减少系统暴露面,降低被攻击风险:

  • 查看运行中的服务(systemctl list-units --type=service),禁用不需要的服务(如sudo systemctl stop apache2sudo systemctl disable apache2);对于默认启用的服务(如Telnet、FTP),若无需使用则彻底关闭。
  • 关闭未使用的端口:通过防火墙规则(如sudo ufw deny 21/tcp禁用FTP端口)或停止对应服务,仅保留必要的端口(如SSH、HTTP、HTTPS)。

8. 加密与数据保护

  • 传输加密:使用SSL/TLS协议加密远程登录(SSH)、文件传输(SFTP/SCP),避免数据在传输过程中被窃取;配置Web服务(如Apache/Nginx)启用HTTPS(通过Let’s Encrypt获取免费证书)。
  • 存储加密:对敏感数据(如数据库文件、配置文件)使用加密工具(如LUKS加密磁盘分区、eCryptfs加密目录);设置强密码保护加密卷,防止未经授权的访问。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux系统如何进行安全加固
本文地址: https://pptw.com/jishu/736708.html
ubuntu中copir目录的方法 Linux如何实现自动化任务

游客 回复需填写必要信息