文章目录
- 一 、账号安全基本措施
- 1.1 系统账号清理
- 1.2 密码安全控制
- 1.21 设置密码有效期
 
- 1.3 命令历史限制
- 1.31 修改history命令条数
- 1.32 清空history的方式
- 1.33 设置终端自动注销
 
 
- 二 、使用su命令切换用户
- 2.1 限制使用su命令切换用户
- 2.2 sudo命令—提升执行权限
 
- 三 、系统引导和登录控制
- 3.1开关机安全控制
- 3.2 终端登录安全控制
 
- 四 、弱口令检测、端口扫描
- 4.1弱口令检测—Joth the Ripper
- 4.2 网络扫描—NMAP
 
- 总结
一 、账号安全基本措施
1.1 系统账号清理
(1)将非登录用户的shell设置成/sbin/nologin

(2)锁定长期不使用账号权限

 (3)删除无用账号
userdel 用户名        //删除用户,但不删除用户的家目录
userdel -r 用户名     //删除用户的同时,删除他的家目录

(4)锁定账号文件psswd、shadow
chattr +i /etc/passwd                #锁定账号
lsattr                               #查看用户状态    i就是被锁定
chattr -i /etc/passwd                #解锁账号

通过md5sum 可以查看校验和来判断文件有没有被修改过
 在新添加一个用户之后,他的校验和发生了变化。
 
1.2 密码安全控制
1.21 设置密码有效期
针对新用户
 在进入vim /etc/login.defs后,将PASS_MAX_DAYS的设置进行修改
 
修改过后发现新用户的,密码有效期发生了更改,而老用户的并没有更改

针对已有的用户
 可以使用chage -M 数字 用户名 来修改已有用户的没密码有效期

也可以通过chage -d 0 用户名 来强制用户下次登陆修改密码,此时shadow文件中的第三个字段变成0

再次登录ls账户发现用户ls需要再次修改密码
 
1.3 命令历史限制
1.31 修改history命令条数
在默认情况下,history命令可以查看1000条命令,但是可以通过修改来改变查看命令的条数
 进入vim /etc/profile 后修改文件配置
 
将HISTSIZE=1000修改成你需要的天数即可,或者是在最后一行输入export HISTSIZE=20 也可以完成。

 而后输入source /etc/profile刷新加载该配置文件

1.32 清空history的方式
临时清空历史命令history -c

自动清空的方式 :
1. 注销时自动清空历史命令 
 [root@localhost ~]# vim ~/.bash_logout
 echo "" > ~/.bash_history
 
 2. 登录时自动清空历史命令
 [root@localhost ~]# vim ~/.bashrc
 echo "" > ~/.bash_history


1.33 设置终端自动注销
[root@localhost ~]# vi /etc/profile
 
export TMOUT=n           #设置登录后无操作退出登录超时时间(n秒后自动注销)

在source /etc/profile刷新后,通过echo $TMOUT可以查看到设置自动注销的时间。

二 、使用su命令切换用户
su 命令:可以在终端中切换已知密码的用户,root用户默认普通用户不需要密码。普通用户之间的切换需要密码的切换
su 用户名                   #切换用户
whoami                      #查看当前使用的用户
pwd                         #查看当前路径
2.1 限制使用su命令切换用户
将信任的普通用户添加到wheel组

vim /etc/pam.d/su 将第二行和第六行注释打开,可以实现root和加入wheel组的用户su权限操作

除了ls以外的普通用户都无法使用su命令

2.2 sudo命令—提升执行权限
sudo命令的用途及用法:
 用途:以其他用户身份(如root)执行授权命令
 用法:sudo 授权命令
配置sudo授权
 visudo 或者 vim /etc/sudoers
 记录格式:
 用户 主机名列表=命令程序列表
 可以使用通配符“ !”号进行取反操作。
 权限生效后,输入密码后5分钟可以不用重新输入密码。
 配置/etc/sudoers文件,可以授权用户较多的时使用
 
 Host_Alias MYHOST= localhost 主机名
 User_Alias MYUSER = yxp,zhangsan,lisi 需要授权的用户
 Cmnd_Alias MYCMD = /sbin/*,/usr/bin/passwd 授权
 MYUSER MYHOST = NOPASSWD : MYCMD 授权格式
实例1:
 首先切换到zs的用户下,然后创建一个新的网卡,发现不允许操作于是加上sudo后继续执行,发现还是不能执行于是切换到root用户下在sudoers中进行编辑。


编译完成后再次执行sudo

执行ifconfig命令后发现网卡添加完成

实例2:
 如果想让zs和ls用户除了不能执行reboot 和 poweroff 的命令其他都能执行
首先,进入sudoers编辑,进行编辑,在设置别名的时候别名一定要大写

而后,切换到zs用户下进行测试,发现无法使用

三 、系统引导和登录控制
3.1开关机安全控制
调整BIOS引导设置原则
- 将第一引导设备设为当前系统所在硬盘;
- 禁止从其他设备(光盘、 U盘、网络)引导系统;
- 将安全级别设为setup,并设置管理员密码。
GRUB菜单设置
- 使用grub2-mkpasswd-pbkdf2生成密钥
- 修改/etc/grub.d/00_header文件中,添加密码记录
- 生成新的grub.cfg配置文件
GRUB限制的实现
- 使用grub2-mkpasswd-pbkdf2生成密钥并复制,然后备份两个配置文件。

- 修改/etc/grub.d/00_ header文件中, 添加密码记录,并保存退出

在尾行添加密码记录


 在此页面按e可以进入GRUB菜单
 
输入账号密码

在此页面按CTRL+x进入虚拟机

3.2 终端登录安全控制
限制root用户只在安全终端登录
 安全终端配置:/etc/securetty
1、更改相关配置文件

我将tty3给注释掉

2、切换至指定终端进行测试

限制普通用户进行登录
 建立/etc/nologin文件

文件创建后普通用户也无法登录

 而后我将/etc/nologin文件删除,普通用户就可以完成登录

四 、弱口令检测、端口扫描
4.1弱口令检测—Joth the Ripper
- 一款密码分析工具,支持字典式的暴力破解;
- 通过对shadow文件的口令分析,可以检测密码强度;
- 官方网站:John the Ripper password cracker
Joth the Ripper实例
 安装方法 make clean 系统类型
 主程序文件为john
 1、把下载好的安装包放到opt目录下,并进行解压


2、 安装软件编译工具

3、 进行编译安装

4、准备待破解的密码文件

5、执行暴力破解

6、查看已经破解出的密码

4.2 网络扫描—NMAP
NMAP的扫描
 nmap [扫描类型] [选项] <扫描目标>
| 常见的选项 | 选项的作用 | 
|---|---|
| -p | 指定扫描的端口。 | 
| -n | 禁用反向DNS解析(以加快扫描速度) | 
| -sS | TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYNACK响应包就认为目标端口正在监听,并立即断开连接; 否则认为目标端口并未开放。 | 
| -sT | TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否 则认为目标端口并未开放。 | 
| -sF | TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而 忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。 | 
| -sU | UDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。 | 
| -sP | ICMP扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。 | 
| -P0 | 跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放 弃扫描。 | 
| natstat常用选项 | 作用 | 
|---|---|
| -a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。 | 
| -n | 以数字的形式显示相关的主机地址、端1等信息。 | 
| -t | 查看TCP相关的信息。 | 
| -u | 显示UDP协议相关的信息。 | 
| -p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) | 
| -r | 显示路由表信息。 | 
| -l | 显示处于监听状态的网络连接及端口信息。 | 
在安装完nmap之后可以通过nmap命令来进行相应的操作
1、分别查看本机开放的TCP端口、UDP端口

2 、查看192.168.5.0/24的网段中有那些存活的主机

总结
这次学习了账号安全的基本措施以及su、sudo的命令、开关机和终端的安全控制以及弱口令检测和nmap扫描










![[Python工匠]输出③容器类型](https://img-blog.csdnimg.cn/26100ccda1774af5839e97f6ac5f5047.png)








