Linux系统运维核心知识梳理:用户管理、进程端口与安全加固实战
一、前言
在之前的Linux基础学习后,我又系统学习了Linux用户与文件管理、进程端口管理、安全加固等核心运维知识,这些内容不仅是日常系统管理的必备技能,更是渗透测试、应急响应中排查后门、加固系统的关键。本文将结合学习内容,梳理核心知识点与实战操作,方便后续复习与查阅。
二、Linux用户与文件管理
2.1 用户与用户组配置详解
Linux是多用户多任务系统,用户与用户组的管理是系统权限控制的核心:
- 核心配置文件:
- /etc/passwd :存储所有用户的基础信息(用户名、UID、家目录、登录Shell等),所有用户可读,仅root可修改。
- /etc/shadow :存储用户加密后的密码、密码有效期等敏感信息,仅root用户可读。
- /etc/group :存储用户组的信息(组名、GID、组成员)。
- 常用操作命令:
- 创建用户: useradd -m 用户名 ( -m 参数自动创建家目录),例如 useradd -m meiga
- 设置密码: passwd 用户名 ,例如 passwd meiga
- 修改用户属性: usermod ,例如将用户加入附加组 sudo : usermod -aG sudo 用户名
- 删除用户: userdel -r 用户名 ( -r 同时删除家目录)
- 创建用户组: groupadd 组名
- 删除用户组: groupdel 组名
2.2 后门用户筛查方法
在渗透测试或应急响应中,后门用户是常见的入侵痕迹,需重点排查:
- 排查sudo权限用户:sudo组用户拥有提权权限,需核查 /etc/sudoers 文件或 sudo -l 命令,确认是否存在非法提权用户。
- 排查超级用户(UID=0):Linux中root用户UID固定为0,若存在其他UID=0的用户,即为后门用户,可通过 cat /etc/passwd | grep "x:0:" 排查。
- 排查异常用户:重点关注家目录异常、无合法业务用途的用户,以及 /etc/passwd 中新增的陌生用户。
三、进程端口/计划任务/启动项管理
3.1 进程与端口查看工具
- ps命令:查看系统进程,常用 ps -ef (显示所有进程的完整信息)、 ps aux (显示进程的CPU、内存占用等详细资源信息),用于排查异常进程、挖矿程序等。
- netstat与ss命令:查看系统端口监听与网络连接:
- netstat -tulnp :查看所有TCP/UDP监听端口、对应的进程,部分系统需安装 net-tools 工具包。
- ss -tulnp :netstat的替代工具,效率更高,功能一致,适合高并发系统。
- 实战场景:排查异常端口(如陌生的远程控制端口)、确认服务端口(如SSH的22端口、Web的80端口)是否正常监听。
3.2 系统初始化系统
Linux有两种主流的初始化系统,分别对应不同的服务管理方式:
- SysV init系统:传统初始化系统,通过 /etc/rc.d/init.d/ 目录下的脚本管理服务,运行级别 0-6 控制系统启动状态。
- systemd系统:现代Linux发行版(如CentOS 7+、Ubuntu 16.04+)默认使用,通过 systemctl 命令管理服务,支持并行启动,效率更高。
3.3 服务与开机自启管理
- SysV init系统工具:
- chkconfig :CentOS系列系统使用,用于管理服务开机自启,例如 chkconfig --list 查看所有服务自启状态, chkconfig sshd on 设置sshd开机自启。
- sysv-rc-conf :Ubuntu/Debian系列系统使用,功能与chkconfig类似,可视化管理运行级别。
- systemd系统工具:
- systemctl :核心管理命令,常用操作:
- 启动服务: systemctl start 服务名
- 停止服务: systemctl stop 服务名
- 重启服务: systemctl restart 服务名
- 设置开机自启: systemctl enable 服务名
- 取消开机自启: systemctl disable 服务名
- 查看服务状态: systemctl status 服务名
- 后门排查重点:排查开机自启项中是否存在非法服务、恶意脚本,防止入侵后持久化。
四、Linux安全加固
4.1 SSH安全配置
SSH是Linux远程管理的核心服务,也是入侵的重点目标,需重点加固:
- 核心加固项:
1. 禁止root用户远程登录:修改 /etc/ssh/sshd_config ,设置 PermitRootLogin no ,通过普通用户+sudo提权登录。
2. 禁用密码登录,启用密钥登录:设置 PasswordAuthentication no ,仅允许通过SSH密钥登录,彻底防范暴力破解。
3. 修改默认SSH端口:将默认22端口修改为陌生高位端口(如2222),降低被扫描爆破的概率。
4. 限制登录IP:通过 /etc/hosts.allow 和 /etc/hosts.deny 限制仅信任IP可访问SSH。
5. 安装fail2ban:自动封禁多次密码错误的IP,防范暴力破解。
- 实战操作:修改配置后需执行 systemctl restart sshd 重启服务生效,同时注意保留当前SSH连接,防止配置错误导致无法登录。
4.2 Linux防火墙配置
防火墙是系统安全的第一道屏障,主流工具为 iptables (传统)和 firewalld (CentOS 7+默认):
- firewalld常用操作:
- 启动防火墙: systemctl start firewalld
- 设置开机自启: systemctl enable firewalld
- 开放端口: firewall-cmd --permanent --add-port=22/tcp (永久开放22端口)
- 移除端口: firewall-cmd --permanent --remove-port=8080/tcp
- 查看开放端口: firewall-cmd --list-ports
- 重载配置: firewall-cmd --reload
- iptables常用操作:
- 允许SSH访问: iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 拒绝所有其他入站流量: iptables -A INPUT -j DROP
- 保存规则: service iptables save (CentOS 6)
- 加固原则:遵循最小权限原则,仅开放业务必需
本次学习围绕Linux用户权限、进程排查、安全加固三大核心模块,搭建了从基础管理到安全防御的完整知识体系。这些技能不仅是网络安全专业的必备基础,更是渗透测试、应急响应等实战场景的核心工具。后续我将通过靶机实战(模拟入侵排查、系统加固)深化理解,同时结合Linux应急响应、渗透测试等内容,持续完善技能栈,为后续的专业学习与就业打下坚实基础。
本文为个人学习笔记,欢迎同行交流指正,共同进步。
更多推荐
所有评论(0)