账户安全控制
基本安全措施–系统账号清理
一般除了手动创建账号之外,还包括系统或安装过程生成的其他账号。除了其他账号只是用来维护系统运作,启动或保持服务,一般不允许登录,常见的非登录用户包括bin,daemon,adm,lp,mail,nobody,apache,mysql,dbus,ftp,gdm,haldaemon等。
为了确保系统安全,这些用户的登录shell通常是/sbin/nologin,表示禁止终端登录,应确保不被人为改动
对长期不用的账号进行锁定(passwd ,usermod)
chattr–锁定账号配置文件
密码安全控制( chage)
chage命令—设置密码有效期限
为了降低密码被猜出和暴力**的风险
把最大天数9999改为30天,9999为永久
要求用户下次登录时修改密码
命令历史,自动注销
shell给用户提供了极大的方便,但是历史机制会给安全带来隐患这里记录条数由HISTSIZE控制,默认1000条,可以设置200条
注销时自动清空命令历史:
修改用户宿主目录中的~/.bash_logout文件,添加清空历史命令的操作语句。即:当用户注销(退出已登录的bash环境)时,所记录的历史命令将自动清空
bash终端自动注销
bash终端环境中,可以设置一个闲置超时时间,当超过指定时间没有任何输入时即自动注销终端,这样可以有效避免当管理员不在时其他人员对服务器的误操作风险。闲置时间有变量TMOUT来控制,默认单位为秒
用户切换与提权
大多数Linux服务器并不建议用户直接以root用户进行登录。
linux 提供了su ,sudo 两种命令
su命令主要用来切换用户
sudo命令用来提升执行权限
su 命令 -切换用户
使用su命令,可以切换为指定的另一个用户,从而具有该用户的所有权限
切换时需要对目标用户的密码进行验证(从root用户切换为其他用户不需要)
限制用户使用su命令的用户
以减少有机会反复尝试登录密码,将允许使用su命令的用户加入wheel组
sudo命令–提升执行权限
用过su命令可以非常方便的切换为另一个用户,但前提条件是必须知道目标用户的登录密码
对于生产环境中的Linux服务器,每多一个人知道特权密码,其安全风险也就增加一分,而sudo命令就诞生了,既可以让部分普通用户拥有管理权限还可以不要root密码
配置文件/etc/sudoers中添加
sudo机制的配置文件为/etc/sudoers,文件的默认权限是440,需要使用专门的visudo工具进行编辑。若使用vi编辑,保存时必须执行“:w!”命令强制操作,否则系统将提示为只读文件而拒绝保存
认识了解pam_wheel认证模块
启用pam_wheel认证以后,未加入到wheel组内的其他用户将无法使用su命令 尝试进行切换时将会按照“拒绝权限”来处理,以减少有机会反复尝试登录密码
PAM安全认证
su 命令的隐患
限制用户使用su命令的用户,以减少有机会反复尝试登录密码,将允许使用su命令的用户加入wheel组
PAM认证原理
PAM认证一般遵循的顺序:Service(服务)→PAM(配置文件)→pam_*.so(.so 后缀代表模块文件)
PAM认证首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证
PAM认证的构成
查看su的PAM配置文件:cat /etc/pam.d/su
每一行都是一个独立的认证过程
每一行可以区分为三个字段(认证类型,控制类型,PAM模块及其参数PAM安全认证流程
控制类型也可以称作Control Flags,用于PAM验证类型的返回结果
1.required验证失败时仍然继续,但返回Fail
2.requisite验证失败则立即结束整个验证过程,返回Fail
3.sufficient验证成功则立即返回,不在继续,否则忽略结果并继续
4.optional不用于验证,只显示信息(通常用于session(会话)类型)
系统引导和登录控制
调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘,U盘,网络)引导系统
将安全级别设为setup,并设置管理员密码
更改GRUB引导参数
使用grub2-mkpasswd-pbkdf2生成秘钥
修改/etc/grub.d/00_header文件中,添加密码记录
生成新的grub.cfg配置文件
终端登录安全控制
禁止root用户登录
禁止普通用户登录
维护时候不希望有新的用户登录
建立/etc/nologin文件
删除nologin文件或重启后即恢复正常
弱口令检测
一款密码分析工具,支持字典式的暴力**
通过对shadow文件的口令分析,可以检测密码强度
弱口令实验:通过john工具查看自己的密码
四:端口扫描
一款强大的网络扫描,安全检测工具
可以探测局域网中那些主机在线,或者某台主机中开了那些端口
nmap实验
nmap实验