系统安全及应用

发布于:2025-05-01 ⋅ 阅读:(39) ⋅ 点赞:(0)

目录

一:账号安全控制

1.系统账号清理

(1)非登录账号管理

(2)冗余账号处理

(3)账号配置文件保护

2.密码安全控制

(1)密码有效期管理

(2)强制密码重置

(3)密码复杂度策略

3.命令历史与自动注销

(1)限制历史命令记录

(2)退出Shell时自动清除历史记录:

(3)会话超时控制

4.用户切换与提权

(1)su命令的精细化控制

(2)sudo命令的授权管理

(3)sudo日志记录

5.PAM认证机制

(1)PAM工作原理

(2)PAM配置解析

(3)示例:su的PAM配置

二,系统引导与登录控制

1.BIOS安全设置

2.GRUB引导参数保护

(1)生成加密密码

(2)配置GRUB密码

(3)效果验证

3.终端登录限制策略

(1)禁止root用户登录特定终端

(2)临时禁止普通用户登录

三,弱口令检测

1.工具安装与编译

(1)源码编译

(2)目录结构

2.弱口令检测流程

(1)准备密码文件

(2)基础检测命令

(3)使用字典增强检测

(4)清空历史结果

3.结果分析与应对

四,端口扫描:NMAP技术全解析

1.安装与基本命令

(1)YUM安装

(2)命令格式

2.扫描类型详解

(1)TCP SYN扫描(半开扫描)

(2)TCP连接扫描

(3)UDP扫描

(4)存活主机探测

3.典型应用案例

(1)检测FTP服务分布

(2)文件共享服务扫描

4.扫描结果分析与响应


一:账号安全控制

用户账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用户账号才能进入计算机。在Linux系统中,提供了多种机制来确保用户账号的正当、安全使用。

1.系统账号清理

(1)非登录账号管理

Linux系统中存在大量默认账号(如bin,daemon,mail),这些账号通常用于系统服务进程,禁止终端登录。其登录Shell被设置为/sbin/nologin。管理员需定期检查这些账号的配置是否被篡改:

grep "/sbin/nologin$" /etc/passwd   # 列出所有非登录账号

若发现非登录账号的Shell被修改为/bin/bash,需立即修复。 

(2)冗余账号处理

删除冗余账号:例如games等极少使用的账号可直接删除:

userdel -r games   # -r选项同时删除用户主目录

临时锁定账号:对不确定是否删除的账号,使用usermod锁定: 

usermod -L zhangsan    # 锁定账号  
passwd -S zhangsan     # 查看状态(显示“LK”表示已锁定)

usermod -U zhangsan   #解锁账号

(3)账号配置文件保护

通过chattr命令锁定/etc/passwd和/etc/shadow,防止非法添加或修改账号:

chattr +i /etc/passwd /etc/shadow   # 锁定文件  
lsattr /etc/passwd  /etc/shadow               # 验证锁定状态(显示“i”表示不可修改)

chattr -i /etc/passwd   /etc/shadow   #解锁文件

lsattr /etc/passwd  /etc/shadow               #查看解锁状态

2.密码安全控制

(1)密码有效期管理

全局策略:修改/etc/login.defs文件,设置新建用户的密码最长使用天数:

vi /etc/login.defs  
PASS_MAX_DAYS 30       # 密码30天后必须更改

针对已有用户:使用chage命令调整: 

chage -M 30 lisi       # 用户lisi的密码有效期为30天

(2)强制密码重置

管理员可强制用户首次登录时立即修改密码:

chage -d 0 zhangsan      # 用户zhangsan下次登录必须重置密码

用户登录时将看到提示:

 You are required to change your password immediately (root enforced)

(3)密码复杂度策略

使用pam_pwquality模块设置密码复杂度(如最小长度,包含数字和特殊字符):

vi /etc/security/pwquality.conf  
minlen = 12  
minclass = 3          # 至少包含3种字符类型(数字、字母、符号)

3.命令历史与自动注销

(1)限制历史命令记录

全局设置:修改/etc/profile,限制所有用户的历史命令条数:

vi /etc/profile  
HISTSIZE=200          # 仅保留最近200条命令

当前会话生效:

export HISTSIZE=200

(2)退出Shell时自动清除历史记录:

在用户退出Shell时自动清除历史记录:

vi ~/.bash_logout  
history -c && clear     # 添加此行

(3)会话超时控制

设置终端闲置超时时间(单位:秒),超时后自动注销:

vi /etc/profile  
export TMOUT=600        # 10分钟无操作则退出  

注意:编译或长时间操作时,使用unset TMOUT临时取消限制。

4.用户切换与提权

(1)su命令的精细化控制

默认风险:任何用户均可尝试切换为root,需限制仅wheel组成员可使用su

gpasswd -a tsengyia wheel   # 将用户加入wheel组  
vi /etc/pam.d/su            # 启用pam_wheel模块  

取消注释以下行:

auth required pam_wheel.so use_uid

验证效果:非wheel组成员尝试切换将提拒绝权限。

(2)sudo命令的授权管理

配置文件编辑:使用visudo修改/etc/sudoers,语法格式为:

用户 主机=(目标用户) 命令

示例配置:

jerry localhost=/sbin/ifconfig          # 用户jerry可执行ifconfig  
%wheel ALL=(ALL) NOPASSWD: ALL          # wheel组成员无需密码执行所有命令  

别名应用:简化批量授权:

User_Alias OPERATORS = jerry, tom  
Host_Alias MAILSVRS = smtp, pop  
OPERATORS MAILSVRS = /usr/bin/systemctl restart postfix  

(3)sudo日志记录

启用日志功能以审计特权操作:

vi /etc/sudoers  
Defaults logfile="/var/log/sudo"  

查看日志:

tail -f /var/log/sudo  

5.PAM认证机制

(1)PAM工作原理

模块化设计:PAM(可插拔认证模块)通过动态加载认证模块实现灵活配置。

配置文件路径:/etc/pam.d目录下存放各服务的PAM配置,例如/etc/pam.d/su。

(2)PAM配置解析

  • 认证类型
    • auth:身份验证(如密码校验)。
    • account:账号状态检查(如是否过期)。
    • password:密码策略管理。
    • session:会话管理(如日志记录)。
  • 控制标志:
    • required:失败仍继续,但最终返回失败。
    • sufficient:成功则立即通过,失败则忽略。
    • requisite:失败立即终止。

(3)示例:su的PAM配置

auth sufficient pam_rootok.so         # root用户无需密码  
auth required pam_wheel.so use_uid    # 仅wheel组成员允许切换  

二,系统引导与登录控制

1.BIOS安全设置

  • 关键操作:
    • ​​​​​​​设置第一启动设备为系统硬盘。
    • 禁用USB,光盘,网络引导。
    • 启用BIOS密码并设置为setup级别。

2.GRUB引导参数保护

(1)生成加密密码

使用PBKDF2算法生成安全密码:

grub2-mkpasswd-pbkdf2  
# 输入密码后生成哈希字符串(如grub.pbkdf2.sha512...)

(2)配置GRUB密码

创建配置文件/etc/grub.d/01_users:

cat << EOF  
set superusers="root"  
password_pbkdf2 root <生成的哈希>  
EOF

更新GRUB配置:

grub2-mkconfig -o /boot/grub2/grub.cfg  

(3)效果验证

重启后按e尝试编辑GRUB参数时,需输入密码。

3.终端登录限制策略

(1)禁止root用户登录特定终端

编辑/etc/securetty,注释不安全终端(如tty5,tty6):

vi /etc/securetty  
#tty5  
#tty6  

(2)临时禁止普通用户登录

创建/etc/nologin文件,仅允许root登录(适用于维护期间):

touch /etc/nologin  

删除该文件后恢复正常:

rm -f /etc/nologin  

三,弱口令检测

1.工具安装与编译

(1)源码编译

john 是一款开源的密码破解工具,能够在已知道密文的情况下快速分析出明文的密码字串,支持DES,MB5等多种加密算法。

tar zxf john-1.8.0.tar.gz  
cd john-1.8.0/src  
make clean linux-x86-64   # 编译生成可执行文件  

(2)目录结构

  • run/:包含主程序john及配置文件。
  • doc/:提供使用手册(如EXAMPLES)。

2.弱口令检测流程

(1)准备密码文件

复制/etc/shadow并去除无效内容:

cp /etc/shadow shadow.txt  

(2)基础检测命令

./john shadow.txt          # 启动破解  
./john --show shadow.txt   # 查看结果  

输出示例:

kadmin:123456       # 用户kadmin的密码为“123456”  
lisi:iloveyou       # 用户lisi的密码为“iloveyou”  

(3)使用字典增强检测

指定字典文件(如password.lst):

./john --wordlist=password.lst shadow.txt  

(4)清空历史结果

:> john.pot           # 清空破解缓存  

3.结果分析与应对

  • 强制密码重置:检测到弱口令用户后,使用passwd命令强制修改密码。
  • 密码策略优化:结合pam_pwquality模块提升密码复杂度要求。

四,端口扫描:NMAP技术全解析

1.安装与基本命令

(1)YUM安装

yum install -y nmap  

(2)命令格式

nmap [扫描类型] [选项] <目标>  

2.扫描类型详解

(1)TCP SYN扫描(半开扫描)

快速探测开放端口,不建立完整连接:

nmap -sS 192.168.1.1  

(2)TCP连接扫描

完整三次握手,准确性高但速度慢:

nmap -sT 192.168.1.1  

(3)UDP扫描

检测UDP服务(如DNS,DHCP):

nmap -sU 127.0.0.1  

(4)存活主机探测

nmap -sn 192.168.4.0/24  

3.典型应用案例

(1)检测FTP服务分布

nmap -p 21 192.168.4.0/24  

输出示例:

192.168.4.253:21/tcp open ftp  

(2)文件共享服务扫描

nmap -p 139,445 192.168.4.100-200  

若发现139/tcp open netbios-ssn,可能存在Samba服务漏洞。

4.扫描结果分析与响应

  • 风险端口:如22/tcp open ssh需检查SSH密钥强度;23/tcp open telnet建议关闭。
  • 防火墙优化:使用iptables或firewalld限制非必要端口的访问。

网站公告

今日签到

点亮在社区的每一天
去签到