raid|账号安全基本措施


文章目录

  • 系统账号清理
  • 锁定账户文件 演示如下
  • 账号安全的基本措施
  • 如何去设置新创建账户的密码有效期
  • 如何设置强制在下次登陆时更改密码
  • 历史命令设置
  • 每次登录 都清空 历史命令
  • 如何设置自动注销/休眠时间
  • 查看su的操作记录
  • Linux的PAM安全认证
  • PAM认证原理
  • PAM的配置文件
  • PAM安全认证流程
  • 使用sudo机制提升权限
  • 调用别名 批量设置
  • 终端登陆安全控制
  • 禁止普通用户登陆
  • 密码破解工具(Joth the Ripper)
  • 网络端口扫描

账号安全基本措施
系统账号清理 将非登录用户的Shell设为/sbin/nologin
usermod -s lsbin/nologin 用户名
锁定长期不使用的账号
usermod -l 用户名
passwd -L 用户名
passwd -S 用户名
删除无用的账号
userdel [-r]用户名
锁定账号文件 passwd, shadow
chattr +i /etc/passwd /etc/shadow
lsattr /etc/passwd /etc/shadow
chattr -i /etc/passwd /etc/shadow
锁定账户文件 演示如下 raid|账号安全基本措施
文章图片

将passwd 和shadow 文件锁掉之后,删除用户,和修改密码 的行为是进行不了的
账号安全的基本措施 对于已经存在的账户设置密码有效期
chage -M 天数 账户名称

raid|账号安全基本措施
文章图片

如何去设置新创建账户的密码有效期
vim /etc/login.defs

raid|账号安全基本措施
文章图片

如何设置强制在下次登陆时更改密码
chang -d 0 账户名##这条命令的 0 ,设置完成后shadow 文件中的第三个字段被修改为0

raid|账号安全基本措施
文章图片

历史命令设置
vim /etc/profile

raid|账号安全基本措施
文章图片

为什么要在HISTSIZE前加一个 export呢? 是因为加了export之后 无论怎么切换环境,配置都能生效
设置完成后保存退出,还需要一个命令,需要刷新下这个文件里的配置
source /etc/profile 或 . /etc/profile

raid|账号安全基本措施
文章图片

每次登录 都清空 历史命令
vim .bashrc

raid|账号安全基本措施
文章图片

init 6 重启一下
raid|账号安全基本措施
文章图片

如何设置自动注销/休眠时间 vim /etc/profile
raid|账号安全基本措施
文章图片

限制使用su命令的用户
将允许使用su命令的用户加入wheel组
启用pan_wheel认证模块
现在有个需求,系统中有三个账户 超级用户root,普通用户zhangsan,niubi,我需要只有zhangsan能够切换root账户,niubi不能切换,操作如下
vim /etc/pam.d/su##进入到这个文件中

raid|账号安全基本措施
文章图片

其中 2auth sufficient parm_rootok.so ............... 6#auth required pam_wheel.so use_uid ........以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。两行都注释也是运行所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码; 如果第一行不注释,则root使用su切换普通用户就不需要输入密码pimrootok.so模块的主要作用是使uid为0的用户,即 root用户能够直接通过认证而不用输入密码。如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令。如果注释第一行,开启第二行,表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令。

然后将zhangsan 加入到wheel组中
gpasswd -a zhangsan wheel

进行验证
raid|账号安全基本措施
文章图片

查看su的操作记录 安全日志文件:/var/log/secure
raid|账号安全基本措施
文章图片

Linux的PAM安全认证 首先我们需要指定su命令的安全隐患:
默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
那什么又是PAM认证模块呢?
PAM,全称是(Pluggable Authentication Modules) 可插拔式认证模块
是一种高效而且灵活便利的用户级别的认证方式,也是当前Linux服务器普遍使用的认证方式
PAM认证原理 一般遵循的顺序
raid|账号安全基本措施
文章图片

首先要确认哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d),最后调用认证文件(位于/lib64/security)进行安全认证
用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
不同的应用程序所对应的PAM模块是不同的
如果你要查看某个服务或程序支不支持PAM认证,可以到 /etc/pam.d/文件中查看
raid|账号安全基本措施
文章图片

认证文件是在 /lib64/security/中
raid|账号安全基本措施
文章图片

PAM的配置文件
第一列代表PAM认证模块类型 auth:对用户身份进行识别,如提示输入密码,判断是否为root。 account:对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等。 password:使用用户信息来更新数据,如修改用户密码。 session:定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关闭,挂载文件系统。第二列代表PAM控制标记 required:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。 requisite: 与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。 sufficient:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。 optional:不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于 session类型〉。 include:表示在验证过程中调用其他的PA配置文件。 比如很多应用通过完整调用/etc/pam.d/systam-auth(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项。第三列代表PAM模块,默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径。 同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不司的执行函数。第四列代表PAM模块的参数,这个需要根据所使用的模块来添加。传递给模块的参数。参数可以有多个,之间用空格分隔开

PAM安全认证流程 raid|账号安全基本措施
文章图片

控制类型也称做Control Flags,用于PAM验证类型的返回结果 1 required验证失败时仍然继续,但返回Fail 2 requisite验证失败则立即结束整个验证过程,返回Fail 3 sufficient验证成功则立即返回,不再继续,否则忽略结果并继续 4 optional不用于验证,只显示信息 (通常用于session类型)

使用sudo机制提升权限 sudo 命令是以其他用户身份,执行授权的命令
格式:
sudo 授权命令

如何去使用sudo机制提升权限呢?有两种方法
第一种使用visudo或 vim /etc/sudoers
记录格式
用户 主机名=命令程序列表

现在我需要将普通用户lisi进行提权,来修改网卡配置文件,如何操作
先进vim /etc/sudoers中 修改配置文件
raid|账号安全基本措施
文章图片

接下来验证
raid|账号安全基本措施
文章图片

如果我现在让lisi除了reboot ,poweroff,shutdown命令,其余在sbin目录中的命令都能使用,如何操作
老样子,先进vim /etc/sudoers
raid|账号安全基本措施
文章图片

强制保存并退出
接下来验证
raid|账号安全基本措施
文章图片

调用别名 批量设置 别名格式如下
user_Alias USERS=Tom , Jerry,Mike Host_Alias HOSTS=localhost, bogon cmnd_Alias CMNDS=/sbin/ifconfig,/usr/sbin/useradd,/usr/sbin/userdel USERS HOSTS=CMNDS

进vim /etc/sudoers
raid|账号安全基本措施
文章图片

如何不需要密码就能进行操作呢?
raid|账号安全基本措施
文章图片

启用sudo操作日志
进vim /etc/sudoers
raid|账号安全基本措施
文章图片

然后返回root账户,进vim /var/log/sudo中进行查看
![在这里插入图片描述](https://img-blog.csdnimg.cn/e97039edf434499583fc3716b4b6cdd8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55av54uC55qE5pav5Zu-5Y2h,size_20,## 标题color_FFFFFF,t_70,g_se,x_16#pic_center)
终端登陆安全控制 限制root只在安全终端登录
vim /etc/securetty

raid|账号安全基本措施
文章图片

我们Ctrl+Alt+F6切换终端进行登陆,看看能不能登陆进去
raid|账号安全基本措施
文章图片

切换终端,显示可以登陆
【raid|账号安全基本措施】raid|账号安全基本措施
文章图片

禁止普通用户登陆
touch /etc/nologin为什么说创建这个文件 普通用户 就无法登录了呢? 是因为login程序会检查/etc/nologin文件是否存在,如果存在,则拒绝普通用户登录系统(root用户不受限制)。如果说取消登陆限制,那就直接删除这个文件就是 rm -rf /etc/nologin##取消登陆限制

显示无法登入了
raid|账号安全基本措施
文章图片

密码破解工具(Joth the Ripper) 简称为JR
是—款密码分析工具,支持字典式的暴力破解
通过对shadow文件的口令分析,可以检测密码强度
raid|账号安全基本措施
文章图片

网站链接如下。感兴趣的小伙伴可以深入了解
https://www.openwall.com/john/

安装和使用教程如下
首先 我们 进入到opt目录中,将网上下载好的tar包 拖入虚拟机当中,并进行解压缩
raid|账号安全基本措施
文章图片

解压完毕之后 需要下载一个编译安装make工具
raid|账号安全基本措施
文章图片

下载完成之后,ls看一下,cd到src目录中,并make clean
make clean 清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件

raid|账号安全基本措施
文章图片

完成后 cd 到 run/目录中
raid|账号安全基本措施
文章图片

这里需要说一下 password.lst 这个文件 这个文件包含了很多简易的密码,就是一个密码字典文件 我们可以去里面看一下
raid|账号安全基本措施
文章图片

将存有账户密码的文件 /etc/shadow 复制到当前目录中。然后用john进行破解
raid|账号安全基本措施
文章图片

如何让清空已破解的账户列表,以便重新分析
>john.pot

现在对于这个字典 我不满足,我需要一个更强大的字典,如何去指定第三方的字典呢
./john --wordlist=./新的字典 /opt/shadow.txt

网络端口扫描 NMAP
NMAP是一款强大的网络扫描,安全检测工具
官方网站如下:
http://nmap.org/

命令格式如下
nmap [扫描类型] [选项] <扫描目标...>

常见的扫描类型有
-sS, -sT, -sF, -sU, -sP,-P0
nmap命令常用选项和扫描类型
raid|账号安全基本措施
文章图片

介绍两个查看TCP UDP网络状态信息的命令
netstat -natp##查看TCPnetstat -naup##查看UDPnatstat命令常用选项: -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。 -n:以数字的形式显示相关的主机地址、端口等信息。 -t:查看TCP相关的信息。 -u:显示UDP协议相关的信息。 -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。 -r:显示路由表信息。 -l:显示处于监听状态的网络连接及端口信息。

查看httpd服务端口网络连接信息
第一种
raid|账号安全基本措施
文章图片

第二种 ss的效率要比netstat要来的快
raid|账号安全基本措施
文章图片

第三种 指定端口号进行查看
raid|账号安全基本措施
文章图片

分别使用namp命令查看本机开放的TCP,UDP端口
raid|账号安全基本措施
文章图片

检测192.168.232.0/24网段有哪些主机提供HTTP服务
raid|账号安全基本措施
文章图片

如何快速的扫描出192.168.232.0/24网段中存活的主机
raid|账号安全基本措施
文章图片

    推荐阅读