# 创建新用户并设置家目录
sudo useradd -m -s /bin/bash username
# 设置/修改密码(强制复杂密码)
sudo passwd username
# 锁定/解锁用户账户
sudo usermod -L username # 锁定
sudo usermod -U username # 解锁
# 删除用户及其家目录
sudo userdel -r username
# 查看文件权限
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
# 查看系统进程
top
htop # 需要安装,更友好的界面
# 查看特定进程
ps aux | grep process_name
# 杀死进程
kill -9 PID
# 查看登录历史
last
lastlog
# 查看当前登录用户
who
w
# 查看认证日志
grep "authentication failure" /var/log/auth.log
# 启用防火墙
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
# 允许已建立的连接
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
编辑/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
# 使用AIDE进行文件完整性检查
sudo apt install aide # Debian/Ubuntu
sudo yum install aide # CentOS/RHEL
# 初始化数据库
sudo aideinit
# 手动检查
sudo aide --check
# 查找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
编辑/etc/logrotate.conf
和/etc/logrotate.d/
中的配置文件
考虑使用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
# 查看状态
sestatus
# 临时更改模式
setenforce 1 # 强制模式
setenforce 0 # 宽松模式
# 永久配置
sudo vi /etc/selinux/config
# 查看状态
sudo apparmor_status
# 加载/卸载配置
sudo apparmor_parser -r /etc/apparmor.d/profile.name
sudo apparmor_parser -R /etc/apparmor.d/profile.name
通过合理配置和定期维护这些安全措施,可以显著提高Linux服务器的安全性。