插件窝 干货文章 提高Linux服务器安全性的关键命令之路

提高Linux服务器安全性的关键命令之路

sudo echo bash 查看 152    来源:    2025-04-12

提高Linux服务器安全性的关键命令指南

作为IT工程师,确保Linux服务器的安全性至关重要。以下是一些关键命令和最佳实践,可帮助您加固服务器安全。

1. 用户和权限管理

检查用户和组

# 查看所有用户
cat /etc/passwd

# 查看所有组
cat /etc/group

# 检查空密码账户
awk -F: '($2 == "") {print}' /etc/shadow

用户账户管理

# 锁定用户账户
sudo passwd -l username

# 解锁用户账户
sudo passwd -u username

# 设置密码过期策略
sudo chage -M 90 -m 7 -W 14 username

sudo权限管理

# 查看sudo权限用户
sudo grep -Po '^sudo.+:\K.*$' /etc/group

# 编辑sudoers文件(使用visudo命令)
sudo visudo

2. 系统更新与补丁管理

# 更新软件包列表(基于Debian/Ubuntu)
sudo apt update

# 升级所有已安装软件包(基于Debian/Ubuntu)
sudo apt upgrade

# 自动安全更新(基于Debian/Ubuntu)
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

# 基于RHEL/CentOS更新
sudo yum update

3. 防火墙配置

UFW (Ubuntu)

# 启用防火墙
sudo ufw enable

# 允许SSH连接
sudo ufw allow ssh

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

firewalld (RHEL/CentOS)

# 启动防火墙
sudo systemctl start firewalld

# 启用防火墙开机启动
sudo systemctl enable firewalld

# 允许SSH连接
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

4. SSH安全加固

# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config

# 重启SSH服务
sudo systemctl restart sshd

推荐SSH配置修改: - Port 2222 (改为非标准端口) - PermitRootLogin no - PasswordAuthentication no (使用密钥认证) - MaxAuthTries 3 - ClientAliveInterval 300 - ClientAliveCountMax 0

5. 文件和目录权限

# 查找全局可写文件
find / -xdev -type f -perm -0002 -exec ls -l {} \;

# 查找全局可写目录
find / -xdev -type d -perm -0002 -exec ls -ld {} \;

# 查找没有所有者的文件
find / -xdev -nouser -o -nogroup

# 设置敏感文件权限
sudo chmod 700 /etc/cron.*
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd

6. 进程和服务管理

# 查看运行中的服务
sudo systemctl list-units --type=service --state=running

# 禁用不必要的服务
sudo systemctl disable servicename

# 查看监听端口
sudo netstat -tulnp
sudo ss -tulnp

7. 日志监控

# 查看系统日志
sudo tail -f /var/log/syslog

# 查看认证日志
sudo tail -f /var/log/auth.log

# 查看失败的登录尝试
sudo grep "Failed password" /var/log/auth.log

# 使用journalctl查看系统日志
sudo journalctl -xe

8. 安全扫描工具

# 安装和运行Lynis安全审计工具
sudo apt install lynis
sudo lynis audit system

# 安装和运行chkrootkit检查rootkit
sudo apt install chkrootkit
sudo chkrootkit

# 安装和运行rkhunter检查rootkit
sudo apt install rkhunter
sudo rkhunter --check

9. 自动安全审计脚本

#!/bin/bash

# 安全审计脚本示例
echo "=== 系统安全审计报告 ==="
echo "生成日期: $(date)"
echo ""

echo "1. 系统信息"
echo "主机名: $(hostname)"
echo "内核版本: $(uname -r)"
echo ""

echo "2. 用户审计"
echo "特权用户:"
sudo awk -F: '($3 == "0") {print}' /etc/passwd
echo ""

echo "3. SSH配置检查"
sudo grep -i "^PermitRootLogin" /etc/ssh/sshd_config
sudo grep -i "^PasswordAuthentication" /etc/ssh/sshd_config
echo ""

echo "4. 防火墙状态"
sudo ufw status || sudo firewall-cmd --state
echo ""

echo "5. 系统更新状态"
sudo apt list --upgradable 2>/dev/null || sudo yum list updates
echo ""

echo "审计完成"

通过定期执行这些命令和检查,您可以显著提高Linux服务器的安全性。记得根据您的具体环境和需求调整这些建议。