插件窝 干货文章 Linux服务器的安全基石:重要命令的使用与配置

Linux服务器的安全基石:重要命令的使用与配置

sudo 文件 配置 bash 213    来源:    2025-04-12

Linux服务器安全基石:重要命令与配置

一、用户与权限管理

1. 用户账户管理

# 创建新用户并设置家目录
sudo useradd -m -s /bin/bash username

# 设置/修改密码(强制复杂密码)
sudo passwd username

# 锁定/解锁用户账户
sudo usermod -L username  # 锁定
sudo usermod -U username  # 解锁

# 删除用户及其家目录
sudo userdel -r username

2. 权限控制

# 查看文件权限
ls -l /path/to/file

# 修改文件权限(数字模式)
chmod 750 /path/to/file  # 所有者:rwx, 组:r-x, 其他:---

# 修改文件权限(符号模式)
chmod u=rwx,g=rx,o= /path/to/file

# 修改文件所有者
chown user:group /path/to/file

# 设置SUID/SGID/sticky bit
chmod u+s file  # SUID
chmod g+s file  # SGID
chmod +t dir    # Sticky bit

二、系统监控与审计

1. 进程监控

# 查看系统进程
top
htop  # 需要安装,更友好的界面

# 查看特定进程
ps aux | grep process_name

# 杀死进程
kill -9 PID

2. 登录审计

# 查看登录历史
last
lastlog

# 查看当前登录用户
who
w

# 查看认证日志
grep "authentication failure" /var/log/auth.log

三、防火墙与网络配置

1. UFW防火墙(简单易用)

# 启用防火墙
sudo ufw enable

# 允许SSH连接
sudo ufw allow ssh
sudo ufw allow 22/tcp

# 允许特定IP访问
sudo ufw allow from 192.168.1.100

# 查看防火墙状态
sudo ufw status verbose

2. iptables(更高级配置)

# 允许已建立的连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 允许SSH连接
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 默认拒绝所有其他入站连接
sudo iptables -P INPUT DROP

# 保存iptables规则
sudo iptables-save > /etc/iptables/rules.v4

四、SSH安全配置

编辑/etc/ssh/sshd_config文件:

# 禁用root登录
PermitRootLogin no

# 限制可登录用户
AllowUsers user1 user2

# 更改SSH端口
Port 2222

# 禁用密码认证,仅允许密钥
PasswordAuthentication no
PubkeyAuthentication yes

# 限制IP访问(在防火墙层实现更佳)
# AllowUsers user@192.168.1.*

# 重启SSH服务
sudo systemctl restart sshd

五、文件系统安全

1. 文件完整性检查

# 使用AIDE进行文件完整性检查
sudo apt install aide  # Debian/Ubuntu
sudo yum install aide  # CentOS/RHEL

# 初始化数据库
sudo aideinit

# 手动检查
sudo aide --check

2. 查找敏感文件

# 查找SUID/SGID文件
find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

# 查找可写文件
find / -type f -perm -o+w -exec ls -l {} \;

# 查找无主文件
find / -nouser -o -nogroup

六、日志管理

1. 日志轮转配置

编辑/etc/logrotate.conf/etc/logrotate.d/中的配置文件

2. 集中日志管理

考虑使用rsyslog或syslog-ng配置远程日志服务器

# rsyslog远程配置示例(在客户端)
*.* @192.168.1.100:514

七、定期安全更新

# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
sudo unattended-upgrade -d

# CentOS/RHEL
sudo yum update -y
sudo yum install yum-cron -y
sudo systemctl enable --now yum-cron

八、SELinux/AppArmor配置

1. SELinux(RHEL/CentOS)

# 查看状态
sestatus

# 临时更改模式
setenforce 1  # 强制模式
setenforce 0  # 宽松模式

# 永久配置
sudo vi /etc/selinux/config

2. AppArmor(Debian/Ubuntu)

# 查看状态
sudo apparmor_status

# 加载/卸载配置
sudo apparmor_parser -r /etc/apparmor.d/profile.name
sudo apparmor_parser -R /etc/apparmor.d/profile.name

安全最佳实践

  1. 最小权限原则:只授予必要的权限
  2. 定期审计:检查用户、权限和日志
  3. 及时更新:保持系统和软件最新
  4. 备份重要数据:并测试恢复流程
  5. 使用强密码和密钥认证
  6. 禁用不必要的服务和端口
  7. 实施网络分段和访问控制

通过合理配置和定期维护这些安全措施,可以显著提高Linux服务器的安全性。