文章目录
前言
作为一种开放源代码的操作系统,Linux服务器以其安全、高效和稳定的显著优势而得以广泛应用。
用户账号,是计算机使用者的身份凭证或标识,每一个要访问系统资源的人,必须凭借其用户账号才能进入计算机。在Linux系统中,提供了多种机制来确保用户账户的正当、安全使用。
一、账号安全控制
1.基本安全措施
(1)系统账号清理
- 将非登录用户的Shell设为/sbin/nologin
- 锁定长期不使用的账号
- 删除无用的账号
- 锁定账号文件passwd、shadow
shell环境设置为/sbin/nologin
,即将/bin/bash
改为/sbin/nologin
例:
第一种方法:
先创建新账户zg1,然后进入/etc/passwd
编辑shell环境
改为/sbin/nologin
,保存退出
打开zg1账户,显示被锁定不可用
第二种方法:
直接输命令
usermod -s /sbin/nologin zg1
解锁反之,将/sbin/nologin
改为/bin/bash
即可
(2)密码安全控制
- 设置密码有效期
- 要求用户下次登录时修改密码
(3)命令历史、自动注销
命令历史限制
- 减少记录的命令条数
- 注销时自动清空命令历史
vi /etc/profile
/HISTSIZE ###查看这个参数,假如后面是1000
###把他改为100,这时记录的命令是100条
改完后:wq ###保存下
source /etc/profile ###把这个文件刷新,生效
终端自动注销
- 闲置60秒后自动注销
vi /etc/profile ###编辑这个全局变量的文件
export TMOUT=60 ###终端60秒没动,自动注销账户
source /etc/profile ###把这个文件刷新,生效
以上的命令是全局(所有)的自动注销账户,如果是个别(个人),则敲命令vi .bash_profile
,同样的编辑,刷新,就可以了。
2.用户切换与提权
(1)su命令——切换用户
用途及用法
- 用途:Substitute User,切换用户
- 格式:su - 目标用户
密码验证
- root:任意用户,不验证密码
- 普通用户:其他用户,验证目标用户的密码
限制使用su命令的用户 - 将允许使用su命令的用户加入wheel组
- 启用pam_wheel认证模块
查看su操作记录
- 安全日志文件:/var/logsecure
(2)sudo命令——提升执行权限
3.PAM安全认证
(1)PAM及其作用
su命令的安全隐患
- 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
- 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
PAM(Pluggable Authentication Modules)可插拔式认证模块
- 是一种高效而且灵活便利的用户级别的认证方式
- 也是当前Linux服务器普遍使用的认证方式
(2)PAM认证原理
- 一般遵循的顺序
Service(服务)→PAM(配置文件)→pam_*.so - 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/etc/security下)进行安全认证
- 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
- 不同的应用程序所对应的PAM模块是不同的
(3)PAM认证的构成
PAM安全认证流程
二、系统引导和登录控制
1.开关机安全控制
调整BIOS引导设置
- 将第一引导设备设为当前系统所在硬盘
- 禁止从其他设备(光盘、U盘、网络)引导系统
- 将安全级别设为setup,并设置管理员密码
GRUB限制
- 使用grub2-mapasswd-pbkdf2生成秘钥
- 修改/etc/grub.d/00_header文件中,添加密码记录
- 生成新的grub.cfg配置文件
2.终端及登录控制
限制root只在安全终端登录
- 安全终端配置:
/etc/securetty
禁止普通用户登录 - 建议/etc/nologin文件
- 删除nologin文件或重启后即恢复正常
三、系统弱口令检测
1.下载并安装John the Ripper
John the Ripper,简称JR
- 一款密码分析工具,支持字典的暴力破解
- 通过对shadow文件的口令分析,可以检测密码强度
- 官方网站:http://www.openwal.com/john/
2.检测弱口令账号
- 获得Linux/Unix服务器的shadow文件
- 执行john程序,将shadow文件作为参数
3.使用密码字典文件、暴力破解
- 准备好密码字典文件,默认为password.lst
- 执行john程序,结合–wordlist=字典文件
实验
①下载安装JR,解压
②编译源代码
确认已生成可执行程序john
③准备带破解的密码文件
私编辑自定义密码字典文件(其中需要有正确的密码)
⑤开始破解
⑥暴力破解
先清空已破解出的账户列表,以便重新分析
然后直接暴力破解
4.网络端口扫描
NMAP
- 一款强大的网络扫描、安全监测工具
- 官方网站:http://nmap.orp/
- CentOS7.3光盘中安装包nmap-6.40-7.el7.x86_64.rpm
NMAP的扫描
nmap 【扫描类型】 【选项】 <扫描目标 …>
扫描操作示例
实验
①扫描常用的TCP端口
②扫描常用的UDP端口
③检查192.168.1.0/24网段中有哪些主机提供FTP服务
④快速检测192.168.1.0/24网段中有哪些存活主机(能ping通)
⑤检测IP地址位于192.168.1.100-200的主机是否开启文件共享服务