文章目录
前言
系统安全是系统的主要因素 Linux较于Windows系统来说在账号安全和权限上有较高的安全性,可以在一定程度上防止安全事故的发生。
一、账号安全措施
系统账号清理
将不常用的账号清理掉 减少账号漏洞
将非登录的用户的shell设置为/sbin/nologin 此时该账户将不可登录
此时1-1账户就不可登录了。
锁定不常用的账户
usermod -L 用户名
passwd -S 用户名 为查看状态
passwd -l 用户名 为锁定
passwd -u 用户名 为解锁
删除无用的账号
userdel -r 用户名
锁定账号文件
在Linux系统中 密码文件保存在shadow中以加密字符串形式出现 passwd中只有一个密码占位符x
可以用chattr +i /etc/passwd /etc/shadow来锁定用户密码 锁定后用户就无法修改密码了
密码文件此时已被锁定
chattr -i /etc/passwd /etc/shadow可以解锁文件
lsattr +i /etc/passed /etc/shadow为查看指令。
账号安全设置
密码安全控制
用来设置密码有效期
在设置完成后 就会要求用户下次登录时修改密码。
修改密码的配置文件来指定密码的有效期 适用于新建用户。文件位于/etc/login.defs
将最大天数修改为要修改的天数 比如为15天 99999表示无限期
对于现有用户 直接使用chage -M 天数 用户名
可以设置下次登录时更改密码 chage -d 用户名
命令的历史记录有时也会被利用 所以在安全方面记录也要被限制,减少记录的命令条数 登陆时自动注销命令
修改命令的配置文件来达到目的 文件位于/etc/profile
此处变量为默认1000 记录1000条历史命令 可以修改为任意值。
修改为200 记录200条历史命令。
执行并查看
在bash_history文件中也保存这历史命令 所以使用重定向的方法来覆盖 也可以清除历史命令 在bashrc文件夹里面编写 重启后就无法看到之前的指令了。
指令为echo“ ” > ~/.bash_history
终端注销可以在闲置的时候注销终端防止他人登录
方法同于命令历史 在同一个配置文件 /etc/profile
在配置文件里编辑 这个无法直接找到 例如图中设置300秒 300秒后终端自动注销
生效文件。
二、SU命令的使用和提权操作
1.切换用户
su的基础功能为切换用户 格式为su - 目标用户 -表示将使用目标用户的环境登录shell
root用户切换到其他用户 不需要验证密码 普通用户切换到其他用户,要验证目标用户的密码
限制使用su命令可以限制某些用户去切换账号 从而提高安全性。
方法有两种 一种是加入wheel组 一种是启用PAM验证模块。
将允许使用su命令的用户加入wheel组中 这种方法较为简便。
命令格式为gpasswd -a 用户名 wheel grous为查看
在进入/etv/pam.d/su文件夹将图中这行取消注释
第一行不可注释 如果注释 root账户就不可以使用苏命令了。
在启用pam.whell认证后,未加入到wheel组内的用户将无法使用su命令。
sudo机制是用以其他用户身份(root)执行授权的命令
su 授权的命令 但是要先配置才可以使用。
在visudo或者vim /etc/sudoers中配置
格式为用户 主机名=命令程序列表
vim /etc/sudoers是直接修改配置文件。
例如在wheel组中授予1-2用户使用ifconfig命令 在保存时用!因为这个一个只读文件。
用visudo使用模板来编辑别名来提权 user_Alies Host_Alies Cmnd_Alies(别名必须为大写)
图中为编辑的模板
第一个为定义用户名
第二个为定义主机名
第三个为程序列表
别名定义完后要启用别名 格式为用户 主机名=命令格式列表
完整如下
图上禁用了重启和关机的指令权限
这里没有权限就无法执行了。
sudo还有日志功能 还是在visudo中编辑
如果切换用户后有执行操作 都会记录在/var/log/sudo文件中
初次使用sudo命令需要密码 老化时间为5分钟 在5分钟内使用不需要验证密码 。
su -l可以查看当前用户获得了那些权限。
2.PAM验证模块
su命令在默认情况下任何人都可以使用 容易泄露root用户的密码 带来安全风险
PAM模块时用来加强su命令 借助PAM认证模块,只允许极个别用户使用su命令进行切换。
PAM可插拔式认证模块
是一种高效且灵活的便利的用户的认证方式
也是当前Linux服务器普遍使用的认证方式。
PAM认证顺序
PAM图解
三 开关机安全和密码安全
Blos引导
在物理层面上讲 将第一引导设备设置为当前系统所在的硬盘最为稳妥 避免从光盘 u盘 网络引导系统 并且将安全级别设置为setup,并且设置管理员密码。
GRUB限制
在进入系统时按e键可以修改grub的文件 对服务器啊安全有极大的隐患 可以设置密码来保护。
使用grub2-mkpasswd-pbkdf2生成密钥
修改/etc/grub.d/00_header文件中,添加密码记录
生成新的grub.cfg配置文件。
先备份密码文件 以免丢失。
修改配置文件,修改用户名为root 密码为加密的字符串
生成新的grub2.cfg文件。这时进入菜单需要输入密码才可以修改配置。
系统登录控制权限
可以限制root用户旨只在安全终端登录 将/etc/securetty文件中的终端注释掉即可。
进入配置文件
例如把tty5和tty6注释掉 在登陆时就无法从两个终端登录了。
禁止普通用户登录只需要建立一个nologin文件即可
恢复登录把这个文件删除即可 重启这个文件就删除了 也可以手动删除。
系统口令破解
系统口令(密码)可以通过第三方软件破解 常用的破解为JR JOTH THE Ripper
图标为下
这是一款密码分析工具 支持字典式的暴力破解 通过对shadow文件夹的密码字符串,可以检测密码强度。
先把文件放入系统并解压 该软件需要用c语言编译安装
编译安装完成后将要破解的密码文件放入目录中 执行暴力破解 完成后自动放出结果
该工具基于字典文件 自带的字典文件不是特别强大 可以指定字典文件来破译
./john --wordlist=./password.lst /opt/shadow.txt 其中password.lst为自带的字典 可以指定更强大的字典文件。
端口扫描可以端口检测 对网络安全性能进行评估
安装方式较为简单 yum安装即可 无需源码安装。
利用该工具扫描本机开放的tcp端口和udp端口