首页
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
5,081 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
4,485 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
3,252 阅读
4
几个常见的密码字典推荐
2,630 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
2,566 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
登录
Search
标签搜索
Windows渗透
域渗透
HackMyVm
CyberStrikeLab靶场
内网渗透
渗透测试
网络安全
Web安全
cyberstrikelab
OSCP
SQL注入
WAF绕过
信息收集
渗透工具
靶场
靶场推荐
MSF
ThinkPHP漏洞
Vulfocus
vulnhub
泷羽Sec
累计撰写
185
篇文章
累计收到
3
条评论
首页
导航
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
搜索到
1
篇与
的结果
2026-04-10
Linux 服务器如何进行安全加固?
前言Linux 服务器是企业业务的核心载体,从 Web 服务、数据库、中间件到容器集群,绝大多数生产业务都运行在 Linux 系统之上。而互联网暴露面扩大、供应链漏洞频发、定向攻击常态化,让 Linux 服务器成为黑客入侵的首要目标。安全加固的核心目标,是通过最小权限原则、纵深防御体系、持续审计机制,缩小服务器攻击面,阻断攻击路径,提升抗入侵能力 —— 即使边界防护被突破,也能最大程度保护核心数据与业务安全。本文覆盖从账号认证、服务最小化、权限管控到网络防护、日志审计、入侵检测的全维度落地方案,适配 CentOS 7/8/9、RHEL 7/8/9、Ubuntu 20.04/22.04/24.04 等主流企业级发行版,所有操作均配套明确的配置命令、验证方法与回滚方案,可直接落地到生产环境。一、前置核心加固原则所有加固操作需严格遵循以下原则,避免业务中断或防护失效:1、 最小权限原则:仅给用户、服务、进程分配完成任务所需的最小权限,杜绝过度授权2、 最小暴露原则:关闭所有非必要的端口、服务、组件,从根源缩小攻击面3、 纵深防御原则:构建账号、网络、文件、应用多层防护体系,避免单点防护失效4、 可回滚原则:修改配置前必须备份原文件,所有操作均配套回滚方法,避免生产故障5、 持续审计原则:加固不是一次性操作,需定期开展基线检查、漏洞扫描与日志审计,持续优化防护策略【生产环境避坑提示】所有涉及系统核心配置、SSH 服务、防火墙的修改,需先在测试环境验证,再逐步落地生产;修改 SSH 配置后,需先保留当前会话,用新会话测试登录正常后,再关闭原会话,避免服务器失联。二、账号与身份认证安全加固账号与认证是服务器安全的第一道防线,超过 70% 的 Linux 入侵事件,都源于弱口令、账号过度授权、SSH 配置缺陷导致的边界突破。2.1 清理无用账号,消除风险账户系统安装、业务迭代过程中会产生大量无用账号,包括默认创建的程序账号、废弃的运维账号,这些账号往往成为黑客入侵的突破口。# 1、备份原账号配置文件,方便回滚 cp /etc/passwd /etc/passwd.bak.$(date +%Y%m%d) cp /etc/shadow /etc/shadow.bak.$(date +%Y%m%d) # 2、查看系统中所有可登录的账号,排查废弃账号 cat /etc/passwd | grep -E "/bin/bash|/bin/sh|/bin/zsh" # 3、锁定无用账号(推荐,可恢复,比直接删除更安全) usermod -L 废弃用户名 # 解锁账号回滚命令:usermod -U 废弃用户名 # 4、禁用程序账号的登录权限,杜绝账号被滥用 usermod -s /sbin/nologin 程序用户名 # 示例:usermod -s /sbin/nologin apache 2.2 强制配置强密码策略弱口令是黑客暴力破解的首要目标,需通过 PAM 模块强制系统所有用户使用复杂度达标的密码,同时限制密码有效期与重试次数。适配 CentOS/RHEL 系列# 1、安装密码质量检测模块 yum install -y libpwquality # 2、修改密码策略配置文件,强制密码复杂度 vi /etc/security/pwquality.conf # 新增/修改以下配置: minlen = 12 # 密码最小长度12位 minclass = 3 # 必须包含大小写字母、数字、特殊符号中的3种 maxrepeat = 3 # 禁止连续3个相同字符 difok = 5 # 新密码与旧密码至少5个字符不同 enforce_for_root = 1 # 强制root用户也遵循该策略 # 3、配置密码登录失败锁定策略,防止暴力破解 vi /etc/pam.d/system-auth vi /etc/pam.d/password-auth # 在auth字段新增配置,连续5次失败锁定10分钟: auth required pam_faillock.so preauth audit silent deny=5 unlock_time=600 auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=600 auth sufficient pam_faillock.so authsucc audit 适配 Ubuntu/Debian 系列# 1、安装密码质量检测模块 apt install -y libpam-pwquality # 2、修改密码策略配置 vi /etc/pam.d/common-password # 修改pam_pwquality.so行,添加强制规则: password requisite pam_pwquality.so retry=3 minlen=12 minclass=3 maxrepeat=3 enforce_for_root # 3、配置登录失败锁定策略 vi /etc/pam.d/common-auth # 新增配置,连续5次失败锁定10分钟: auth required pam_faillock.so preauth audit silent deny=5 unlock_time=600 auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=600 auth sufficient pam_faillock.so authsucc audit 2.3 SSH 服务全维度安全加固SSH 是 Linux 远程管理的核心协议,也是黑客攻击的头号目标,需从认证方式、访问控制、端口配置等维度完成全量加固。# 1、备份SSH配置文件,方便回滚 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%Y%m%d) # 2、修改SSH核心配置 vi /etc/ssh/sshd_config # 核心加固项如下: Port 22345 # 修改默认22端口,减少全网扫描攻击 PermitRootLogin no # 禁止root用户直接登录 PubkeyAuthentication yes # 开启公钥认证,优先使用密钥登录 PasswordAuthentication no # 关闭密码认证,彻底杜绝暴力破解 PermitEmptyPasswords no # 禁止空密码登录 MaxAuthTries 3 # 最大认证尝试次数3次 ClientAliveInterval 300 # 5分钟无操作自动断开连接 ClientAliveCountMax 2 # 无响应最大次数2次 AllowUsers 运维用户名@192.168.1.0/24 # 配置IP白名单,仅允许指定网段的指定用户登录 # 禁止使用不安全的加密算法与协议 KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256 Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com # 3、验证SSH配置语法是否正确,避免配置错误导致服务崩溃 sshd -t # 配置无报错后,重启SSH服务生效 # CentOS/RHEL:systemctl restart sshd # Ubuntu/Debian:systemctl restart ssh # 4、验证加固效果,用新会话测试登录,确认白名单、密钥认证正常生效 2.4 Sudo 提权权限精细化管控绝大多数提权攻击都利用了 sudo 的过度授权,需严格限制普通用户的 sudo 权限,杜绝直接给用户分配 ALL 权限。# 1、备份sudo配置文件 cp /etc/sudoers /etc/sudoers.bak.$(date +%Y%m%d) # 2、使用visudo命令编辑sudo配置(自带语法检查,避免配置错误) visudo # 错误配置(禁止使用):运维用户名 ALL=(ALL) ALL # 正确配置:仅给用户分配完成工作所需的最小命令权限,示例: 运维用户名 ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/tail -f /var/log/nginx/access.log # 禁止用户通过sudo修改sudo配置、切换root、执行高危命令 Defaults !visiblepw Defaults always_set_home Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin Defaults env_reset # 禁止sudo执行su、vim、bash等可直接提权的命令 运维用户名 ALL=(ALL) !/usr/bin/su, !/usr/bin/bash, !/usr/bin/vim /etc/sudoers, !/usr/bin/visudo 三、系统服务与组件最小化加固系统运行的服务越多,开放的端口与攻击面就越大,黑客可利用的漏洞点就越多。最小化加固的核心,是只保留业务必需的服务与组件,关闭所有非必要内容。3.1 关闭非必要服务,缩小攻击面# 1、查看系统当前运行的所有服务 systemctl list-units --type=service --state=running # 2、停止并禁用非必要服务,示例如下(根据业务实际情况调整) # 禁用打印服务 systemctl stop cups systemctl disable cups # 禁用蓝牙服务 systemctl stop bluetooth systemctl disable bluetooth # 禁用IPv6相关服务(业务不使用IPv6时) systemctl stop ip6tables systemctl disable ip6tables # 禁用rpcbind服务(不使用NFS共享时) systemctl stop rpcbind systemctl disable rpcbind # 3、验证服务状态,确认已停止并禁用 systemctl status cups 3.2 定时任务安全管控定时任务是黑客权限维持的常用载体,需严格管控定时任务的创建权限,定期排查异常任务。# 1、限制允许使用crontab的用户,仅白名单用户可创建定时任务 echo "root" > /etc/cron.allow echo "运维用户名" >> /etc/cron.allow # 不在cron.allow中的用户,一律禁止使用crontab # 2、定期排查所有定时任务,发现异常立即处置 # 查看系统级定时任务 ls -la /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/ /etc/cron.monthly/ # 查看所有用户的定时任务 cat /etc/passwd | cut -f1 -d: | xargs -I {} crontab -l -u {} 2>/dev/null # 3、给定时任务配置文件添加不可变属性,防止黑客篡改 chattr +i /etc/crontab chattr +i /etc/cron.allow 3.3 软件包与仓库安全加固# 1、删除非官方、不可信的软件源,仅保留官方仓库 # CentOS/RHEL:查看仓库配置 ls /etc/yum.repos.d/ # Ubuntu/Debian:查看仓库配置 ls /etc/apt/sources.list.d/ # 2、配置官方源的HTTPS协议,防止源劫持 # Ubuntu/Debian示例: sed -i 's/http://https://g' /etc/apt/sources.list # 3、禁止内核版本自动更新,避免生产业务兼容性故障 # CentOS/RHEL:yum install -y yum-plugin-versionlock && yum versionlock kernel* # Ubuntu/Debian:apt-mark hold linux-image-generic linux-headers-generic # 4、定期清理无用的软件包与依赖,减少攻击面 # CentOS/RHEL:yum autoremove -y # Ubuntu/Debian:apt autoremove -y 四、文件系统与权限安全加固Linux 的一切皆文件,文件权限管控是系统安全的核心,黑客入侵后往往通过文件权限漏洞实现提权、持久化、数据窃取。4.1 关键系统文件权限严格管控# 1、核心账号配置文件权限加固 chmod 644 /etc/passwd chmod 600 /etc/shadow chmod 644 /etc/group chmod 600 /etc/gshadow chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow # 2、SSH配置文件权限加固 chmod 700 /root/.ssh chmod 600 /root/.ssh/authorized_keys chown root:root /root/.ssh /root/.ssh/authorized_keys chmod 600 /etc/ssh/sshd_config chown root:root /etc/ssh/sshd_config # 3、sudo配置文件权限加固 chmod 440 /etc/sudoers chown root:root /etc/sudoers # 4、全局查找全局可写的危险文件,排查权限漏洞 find / -type f -perm -0002 ! -type l -ls 2>/dev/null # 全局查找SUID权限的可执行文件,排查提权风险点 find / -perm -4000 -type f -ls 2>/dev/null 4.2 敏感文件不可变属性锁定通过 chattr 命令给核心配置文件添加不可变属性,即使是 root 用户,也无法修改、删除文件,防止黑客篡改系统配置、植入后门。# 1、锁定核心账号配置文件,禁止账号新增、修改 chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow # 2、锁定SSH与sudo配置文件,防止黑客修改认证规则 chattr +i /etc/ssh/sshd_config /etc/sudoers # 3、锁定定时任务配置,防止黑客植入持久化后门 chattr +i /etc/crontab # 4、查看文件的扩展属性,确认锁定生效 lsattr /etc/passwd # 回滚方法:如需修改文件,先解除锁定 chattr -i 文件名 4.3 分区挂载安全加固通过分区挂载参数,限制高危操作,防止缓冲区溢出、提权攻击,生产环境建议单独给 /boot、/home、/tmp、/var 分区,避免根目录占满导致业务故障,同时配置安全挂载参数。# 1、修改/etc/fstab文件,配置分区安全挂载参数 vi /etc/fstab # 核心加固参数示例: # /tmp分区:禁止SUID、禁止设备文件、禁止可执行程序、禁止强制访问控制 /dev/sdb1 /tmp ext4 defaults,noexec,nosuid,nodev 0 0 # /var分区:禁止SUID、禁止设备文件 /dev/sdb2 /var ext4 defaults,nosuid,nodev 0 0 # /home分区:禁止SUID、禁止设备文件 /dev/sdb3 /home ext4 defaults,nosuid,nodev 0 0 # 2、重新挂载分区,使配置生效 mount -o remount /tmp mount -o remount /var mount -o remount /home # 3、验证挂载参数是否生效 mount | grep /tmp 4.4 核心文件完整性监控部署文件完整性监控工具,实时检测核心文件的修改行为,一旦出现非计划内的变更,立即触发告警,第一时间发现黑客的篡改行为。# 1、安装AIDE文件完整性监控工具 # CentOS/RHEL:yum install -y aide # Ubuntu/Debian:apt install -y aide # 2、初始化AIDE数据库,生成系统文件基线 aide --init mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz # 3、执行完整性检查,对比基线发现文件变更 aide --check # 4、配置定时任务,每天凌晨自动执行检查,发送告警邮件 echo '0 0 * * * root /usr/sbin/aide --check | mail -s "服务器文件完整性告警" 运维邮箱地址' > /etc/cron.d/aide_check 五、网络与防火墙安全加固网络层是阻断外部攻击的关键屏障,通过防火墙、内核参数加固,过滤恶意流量,防止端口扫描、DDoS 攻击、内网横向渗透。5.1 防火墙规则精细化配置根据业务实际需求,配置白名单规则,仅开放业务必需的端口,默认拒绝所有其他访问,这是网络防护的核心原则。适配 CentOS/RHEL 系列(firewalld)# 1、启动firewalld服务并设置开机自启 systemctl start firewalld systemctl enable firewalld # 2、配置默认规则:默认拒绝所有入站流量,允许所有出站流量 firewall-cmd --set-default-zone=drop firewall-cmd --permanent --zone=drop --set-target=DROP # 3、仅开放业务必需的端口,示例: # 开放自定义SSH端口22345,仅允许内网网段访问 firewall-cmd --permanent --zone=drop --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22345" accept' # 开放Web服务80、443端口,允许全网访问 firewall-cmd --permanent --zone=drop --add-port=80/tcp firewall-cmd --permanent --zone=drop --add-port=443/tcp # 开放数据库3306端口,仅允许业务服务器IP访问 firewall-cmd --permanent --zone=drop --add-rich-rule='rule family="ipv4" source address="172.16.1.10/32" port protocol="tcp" port="3306" accept' # 4、重载防火墙规则,使配置生效 firewall-cmd --reload # 5、验证防火墙规则是否生效 firewall-cmd --list-all 适配 Ubuntu/Debian 系列(ufw)# 1、安装并启动ufw防火墙 apt install -y ufw systemctl start ufw systemctl enable ufw # 2、配置默认规则 ufw default deny incoming ufw default allow outgoing # 3、开放业务必需的端口,示例: # 自定义SSH端口22345,仅允许内网网段访问 ufw allow from 192.168.1.0/24 to any port 22345 proto tcp # 开放Web服务80、443端口 ufw allow 80/tcp ufw allow 443/tcp # 开放数据库3306端口,仅允许业务服务器访问 ufw allow from 172.16.1.10/32 to any port 3306 proto tcp # 4、启用防火墙并验证规则 ufw enable ufw status verbose 5.2 内核网络参数安全加固通过修改 /etc/sysctl.conf 内核参数,开启系统自带的网络防护能力,抵御 SYN 洪水、IP 欺骗、ICMP 攻击等常见网络攻击。# 1、备份sysctl配置文件 cp /etc/sysctl.conf /etc/sysctl.conf.bak.$(date +%Y%m%d) # 2、修改内核参数配置 vi /etc/sysctl.conf # 新增/修改以下核心加固配置: # 开启SYN Cookies,抵御SYN洪水攻击 net.ipv4.tcp_syncookies = 1 # 禁用IP源路由,防止IP欺骗 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 # 禁用ICMP重定向,防止路由劫持 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 # 开启反向路径过滤,防止IP地址欺骗 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 # 禁用IP转发,非网关服务器必须关闭 net.ipv4.ip_forward = 0 net.ipv6.conf.all.forwarding = 0 # 忽略广播ICMP请求,防止Smurf攻击 net.ipv4.icmp_echo_ignore_broadcasts = 1 # 忽略所有ICMP请求,业务不需要时开启 # net.ipv4.icmp_echo_ignore_all = 1 # 开启TCP洪水攻击防护 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 # 开启地址空间布局随机化,抵御缓冲区溢出攻击 kernel.randomize_va_space = 2 # 3、使内核参数配置生效 sysctl -p 六、日志审计与入侵防御体系建设6.1 日志全量审计与远程同步本地日志可被黑客删除篡改,必须配置日志远程同步,将所有系统日志、认证日志、业务日志实时同步到不可篡改的远程日志平台,这是溯源攻击行为的核心根基。# 1、配置rsyslog日志远程同步,将日志发送到远程日志服务器 vi /etc/rsyslog.conf # 新增配置,将所有日志通过TCP协议发送到远程日志服务器192.168.1.200的514端口 *.* @@192.168.1.200:514 # 2、重启rsyslog服务生效 systemctl restart rsyslog # 3、配置日志轮转,防止日志占满磁盘空间 vi /etc/logrotate.conf # 核心配置: rotate 30 # 保留30天的日志 daily # 每天轮转一次 compress # 压缩历史日志 missingok # 日志文件不存在不报错 notifempty # 空日志不轮转 6.2 系统操作行为全量审计通过 auditd 审计服务,监控所有敏感操作,包括账号修改、文件篡改、命令执行、权限变更,所有操作都会被记录,即使黑客清理了 Shell 历史,也无法删除审计日志。# 1、安装auditd审计服务 # CentOS/RHEL:yum install -y audit # Ubuntu/Debian:apt install -y auditd audispd-plugins # 2、启动服务并设置开机自启 systemctl start auditd systemctl enable auditd # 3、配置审计规则,监控核心敏感操作 vi /etc/audit/rules.d/audit.rules # 新增核心审计规则: # 监控账号配置文件修改 -w /etc/passwd -p wa -k passwd_modify -w /etc/shadow -p wa -k shadow_modify -w /etc/group -p wa -k group_modify # 监控认证配置修改 -w /etc/ssh/sshd_config -p wa -k sshd_modify -w /etc/sudoers -p wa -k sudo_modify # 监控定时任务修改 -w /etc/crontab -p wa -k cron_modify -w /etc/cron.d/ -p wa -k cron_dir_modify # 监控root用户的命令执行 -a exit,always -F arch=b64 -F euid=0 -S execve -k root_exec # 监控SUID提权操作 -a always,exit -F arch=b64 -S execve -F path=/usr/bin/su -k su_exec -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_exec # 4、重载审计规则生效 augenrules --load # 5、查看审计日志,排查异常操作 ausearch -k passwd_modify ausearch -k sshd_modify 6.3 入侵防御工具部署1、 部署 fail2ban,自动封禁暴力破解 IP:监控 SSH、Web 服务的登录失败日志,连续多次失败后自动封禁 IP,杜绝暴力破解攻击。2、 部署 rkhunter 与 chkrootkit,定期检测 rootkit 后门:每周执行一次全盘扫描,检测黑客植入的 rootkit、后门程序。3、 部署 ClamAV 开源杀毒软件,定期扫描恶意文件:配置定时任务,每天凌晨扫描 Web 目录、临时目录,查杀 WebShell、恶意程序。七、持续运营与应急响应安全加固不是一次性操作,而是持续的运营过程,需建立完整的基线检查、漏洞管理、应急响应机制:1、 每月执行一次系统安全基线检查,对比加固基线,发现配置偏移立即修复2、 每周执行一次系统漏洞扫描,及时安装系统与软件的安全补丁,高危漏洞需 24 小时内完成修复3、 每天审计系统日志与告警信息,发现异常登录、文件修改、端口扫描行为,立即启动应急排查4、 定期备份核心配置文件与业务数据,制定完整的应急响应预案,发生入侵事件时可快速隔离、溯源、恢复业务结尾Linux 服务器安全加固的核心,是构建 “事前预防、事中阻断、事后溯源” 的完整防护体系。没有绝对安全的系统,但通过最小权限、纵深防御、持续审计的加固思路,可最大程度提升服务器的抗入侵能力,将黑客攻击的成本提升到最高,攻击成功率降到最低。
2026年04月10日
787 阅读
0 评论
0 点赞