优秀的编程知识分享平台

网站首页 > 技术文章 正文

如何加固Linux系统?8种操作示例(linux主机加固)

nanyue 2024-11-04 13:09:11 技术文章 6 ℃

Linux系统加固是一个系统性的工程,旨在通过一系列措施增强系统的安全性,减少被攻击的风险。

具体的操作示例,演示如何加固Linux系统:

1. 更新系统和软件包

Bash1sudo apt update && sudo apt upgrade -y

或者,如果你使用的是基于Red Hat的系统:

Bash1sudo yum update

或者对于较新的系统使用DNF:

Bash1sudo dnf upgrade

2. 设置防火墙规则

使用ufw(Uncomplicated Firewall)简化防火墙配置:

Bash1sudo ufw default deny incoming
2sudo ufw allow ssh # 允许SSH连接
3sudo ufw enable # 启用防火墙

或者使用firewalld:

Bash1sudo firewall-cmd --permanent --add-service=ssh
2sudo firewall-cmd --reload
3sudo firewall-cmd --set-default-zone=drop

3. 禁用不必要的服务

Bash1sudo systemctl disable unused_service_name.service

例如,禁用telnet服务(如果已安装):

Bash1sudo systemctl disable telnet.socket telnet.service

4. 配置SELinux或AppArmor

启用SELinux并设置为强制模式(如果尚未启用):

Bash1sudo sed -i 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
2sudo setenforce 1

配置AppArmor规则(如果适用):

Bash1sudo aa-genprof /path/to/application

5. 使用强密码和SSH密钥认证

生成SSH密钥对:

Bash1ssh-keygen

将公钥复制到远程服务器:

Bash1ssh-copy-id user@remote_host

然后编辑/etc/ssh/sshd_config,确保以下配置:

Bash1PermitRootLogin no
2PasswordAuthentication no

之后重启SSH服务:

Bash1sudo systemctl restart sshd

6. 配置PAM模块

修改PAM配置,例如增加密码强度检查:

Bash1sudo nano /etc/pam.d/common-password

添加或修改行:

Text1password        requisite         pam_cracklib.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

7. 硬化内核参数

使用sysctl命令调整内核参数,例如限制SYN洪水攻击:

Bash1sudo sysctl -w net.ipv4.tcp_syncookies=1

为了使更改持久化,编辑/etc/sysctl.conf文件。

8. 审计和日志管理

配置日志轮转和存储策略,例如:

Bash1sudo nano /etc/logrotate.conf

并确保日志文件权限适当,例如:

Bash1sudo chmod 640 /var/log/auth.log

Tags:

最近发表
标签列表