系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)

文章目录

  • 一、账号安全控制
    • 1.基本安全措施
      • (1)系统账号的清理
      • (2)密码安全控制
      • (3)历史命令、自动注销
  • 二、用户切换、提权
    • 1.用户切换
    • 2. 提升执行权限
  • 三、PAM安全认证
    • 1.PAM认证模块介绍
    • 2.PAM认证用法
    • 3.PAM验证流程
  • 四、系统引导和登录控制
    • 1.开关机安全控制
    • 2.限制更改GRUB引导参数
    • 3.终端及登录控制
  • 五、弱口令扫描、端口扫描
    • 1.弱口令扫描
    • 2.网络扫描--NMAP

所有实验均在虚拟机CentOS7.6下完成

本章主要从清理用户账号、锁定用户账号或账号配置文件、设置用户密码有效期限、设置历史命令清除、设置账号超时自动登出、结合PAM认证模块设置用户账号的切换su和提权sudo来提升系统的安全性。

一、账号安全控制

1.基本安全措施

(1)系统账号的清理

在Linux系统中,存在大量用户,除了超级用户root外,其他大量用户只是用来维护系统运作、启动或保持服务进程,为了系统安全,这些用户的登录Shell通常是/sbin/nologin,表示禁止终端登录,确保不被人改动。
有一部分用户是很少用到的,我们可以到/etc/passwd加“#”进行注释或使用usermod命令对用户进行锁定。
对用户进行注释
vi /etc/passwd
找到相应用户对他进行注释#
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第1张图片
对用户进行锁定
usermod -L tom2 ##锁定账户
tail -10 /etc/shadow ##查看
passwd -S tom2 ##查看
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第2张图片
当服务器中的用户账号已经固定,我们可以锁定账户配置文件
chattr +i /etc/passwd ##锁定配置文件
lsattr /etc/passwd ##查看锁定状态,-----i------这样的标志表示锁定
usreadd zhang ##创建用户,是创不了的

chattr -i /etc/passwd ##解锁
lsattr /etc/passwd ##查看解锁状态
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第3张图片

(2)密码安全控制

在Linux系统中,为了降低密码暴露的风险,需要经常改密码;管理员可以在服务器上限制密码的最大有效天数,要求用户登录时修改密码,否则不能登录。
vi /etc/login.defs
PASS_MAX_DAYS 30 ##密码有效期30天
保存退出
此种方法修改完配置文件,下次新建用户时,用户密码最大有效天数为30天
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第4张图片
在这里插入图片描述
chage -M 30 bely
此种方法可以对已有用户修改密码最大有效天数
在这里插入图片描述
chage -d 0 tom
强制要求用户下次登录时重设密码
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第5张图片

(3)历史命令、自动注销

shell环境中的历史命令机制,记录用户命令操作过程,提供便利的同时,也暴露出安全威胁,只要找出历史命令文件,便可查看很多操作,甚至发现密码。
bash终端环境中,历史命令的记录条数由变量HISTSIZE控制,默认1000条。修改/etc/profile文件,可修改历史命令条数,可以影响系统中的所有用户。
vi /etc/profile
HISTSIZE=200
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第6张图片
清除历史命令
修改用户登出时执行的文件~/.bash_logout
vi ~/.bash_logout
history -c
clear
保存退出
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第7张图片
bash终端环境中,可以用变量TMOUT设置自动注销,当用户超过一定时间内没有任何输入,便自动注销,避免被其他人员误操作,默认单位时间秒。
vi ~/.bash_profile ##适用于新登录的用户
export TMOUT=60
保存退出
重启后生效,等待60s后会登出

export TMOUT=60 ##适用于当前用户,一次性的
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第8张图片
当我们需要有较长耗时的操作时,必要时可执行“unset TMOUT”命令取消TMOUT变量设置。

二、用户切换、提权

在大多数Linux服务器中,一般不会直接用root用户登录,因为root特权用户权限太高,如果误操作会造成很大程度的破坏,且担心root用户密码在不安全网络中暴露。所以我们需要为普通用户切换身份和提升权限机制,以便管理执行任务。
Linux系统中用su命令来切换用户,sudo命令来提升权限。

1.用户切换

切换用户后可以获得该用户的所有权限
su - root
输入密码便可切换,root用户切换其他用户不需要输入密码
在这里插入图片描述
默认情况下,任何用户都可以使用su命令,这样可以反复尝试root用户的密码,这样带来安全隐患。可以使用pam_wheel认证模块,限制使用su命令的用户,将要使用su的用户加入wheel组,修改/etc/pam.d/su的认证配置,启用pam_wheel认证。
useradd tom1
gpasswd -a tom1 wheel
vi /etc/pam.d/su
将下图第六行的#注释号去掉
保存退出
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第9张图片
登录tom1登录,切root用户可以切换
在这里插入图片描述
登录tom2用户,切root用户,不能切换
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第10张图片

2. 提升执行权限

可以以root用户的身份,进行授权,让指定用户可以执行一部分本身不能执行的命令。
在配置文件/etc/sudoers中添加授权,文件默认权限为440,需要使用专门的visudo命令工具进行编辑;若使用vi编辑,使用w!保存。
授权命令格式如下:
user MACHINE=COMMANDS
包括用户(user)、主机(MACHINE)、命令三部分。
1)用户(user):授权的用户名,或采用“%组名”的形式授权一个组
2)主机(MACHINE):使用此配置文件的主机名,一般设为localhost
3)命令(COMMANDS):允许授权用户通过sudo方式执行的特权命令,需要填写命令程序的完整路径,多个命令之间以逗号“,”进行分隔。
配置举例
授权用户tom1能够执行ifconfig命令来修改IP地址。
visudo
tom1 localhost=/sbin/ifconfig
保存退出
部分配置文件如下:
在这里插入图片描述
在这里插入图片描述
sudo ifconfig ens33:0 192.168.2.20/24
/sbin/ifconfog ens33:0 ##可查看网卡ip地址
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第11张图片
在当前会话中,第一次用过sudo执行命令时,必须验证用户自己的密码,5分钟间隔内不用再次验证。
sudo -l
可以查看授权的设置
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第12张图片

三、PAM安全认证

1.PAM认证模块介绍

PAM认证模块,叫做可插拔式的认证模块。一项重要的功能就是为了加强su命令的使用控制,可以借助于PAM认证模块,只允许极个别用户使用su命令进行切换。PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录(telnet,rlogin,fsh,ftp),su等应用程序中,系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。
PAM认证首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证。用户访问服务器的时候,服务器某一个服务程序把用户的请求发送到PAM模块进行认证,不用的应用程序对应的PAM模块也是不同的。
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第13张图片
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第14张图片

2.PAM认证用法

例如查看su的PAM配置文件:cat /etc/pam.d/su 每一行都是一个独立的认证过程,每一行可以区分为三个字段:1)认证类型 2)控制类型 3)PAM模块及其参数。
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第15张图片
下面简单的介绍四种常见认证类型:
  (1)认证管理(authentication management)接受用户名和密码,进而对该用户的密码进行认证
  (2)账户管理(account management)检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间段的限制等
  (3)密码管理(password management)主要是用来修改用户的密码
  (4)会话管理(session management)主要是提供对会话的管理和记账(accounting)
那么控制类型也可以称做Control Flags,用于PAM验证类型的返回结果,具体有以下四种:
  (1)required验证失败时仍然继续验证,但返回Fail
  (2)requisite验证失败则立即结束整个验证过程,返回Fail
  (3)sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
(4)optional不用于验证,只是显示信息(通常用于session类型)

3.PAM验证流程

当发起一个有PAM认知的服务请求后,对请求服务的用户身份和密码进行认证,认证失败则结束,认证成功继续向下验证;向下进行权限认证,验证成功程序执行后续动作,失败则结束。
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第16张图片

四、系统引导和登录控制

1.开关机安全控制

在开关机方面,系统本身要做一些安全措施,去保护服务器的安全。
(1)调整BIOS引导设置
将第一优先引导设备(First Boot Device)设为当前系统所在磁盘
禁止从其他设备(如光盘、U盘、网络等)引导系统,对应项设为Disabled
将BIOS的安全级别改为“set up”,并设置好管理密码,以防为授权的修改
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第17张图片
(2)禁止Ctrl+Alt+del键重启

2.限制更改GRUB引导参数

GRUB引导菜单可以对系统问题进行修复、修改,但如果谁都可以去修改的话,就会造成很大的安全隐患,所以我们应该对GRUB菜单设置一个密码。其实在centos7中基本上使用急救模式去对系统进行修复。
grub2 -setpassword ##设置密码
输入密码
cat /boot/grub2/user.cfg ##查看密码,有那一大推的字母就是了
reboot ##重启
在这里插入图片描述
重启按E,一定要把鼠标点进虚拟机再按E
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第18张图片
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第19张图片
按ctrl+c可进入到grub界面
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第20张图片

3.终端及登录控制

Linux服务器中,默认开启6个tty终端,可以使用Ctrl+Alt+Fn允许任何用户进行本地登录。(1)减少开放的tty终端
(2)禁止root用户登录
vi /etc/securetty
#tty5
#tty6
这样tty5 6就不可以root用户登录了
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第21张图片
(3)禁止普通用户登录
当服务器在维护使,可能不希望有其他用户登录,只需要建立/etc/nologin文件,如果这个文件存在就会拒绝普通用户的登录
touch /etc/nologin
我们登tom2账号时,便不能登录
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第22张图片

五、弱口令扫描、端口扫描

1.弱口令扫描

对于简单的口令可以使用John the Ripper来破解,此工具为穷举破解,取决于字典内容。
(1)下载安装John the Ripper密码破解
下载安装包使用ftp传到虚拟机中/opt下,解压
yum install -y gcc gcc-c++
cd /opt
tar zxvf john-1.8.0.tar.gz /opt
cd src
make linux-x86-64 ##编译,完成后在run运行目录下就会有john可执行脚本文件,就可以使用这就文件来破解密码了
cp /etc/shadow /root/shadow.txt
cd /opt/john-1.8.0/run
./john /root/shadow.txt ##破解密码,破解文件为/root/shadow
等待破解完成
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第23张图片
(2)查看破解的密码
/opt/john-1.8.0/run/john --show /root/shadow.txt
在这里插入图片描述
(3)使用密码字典文件

2.网络扫描–NMAP

nmap工具可以探测对方存活状态和端口服务
探测本地对外开启的端口
nmap 127.0.0.1
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第24张图片
探测主机状态
nmap -sP 20.0.0.0/24 ##-sP 是ICMP扫描,类似ping检查,查看主机是否存活
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第25张图片
探测TCP协议端口
nmap -sT 127.0.0.1 ##-sT是TCP端口协议扫描
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第26张图片
nmap -sU 127.0.0.1 ##-sU 是UDP端口协议扫描
系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)_第27张图片

你可能感兴趣的:(linux,安全)