实验目的:掌握账号安全控制、系统引导和登录控制、弱口令检测、端口扫描
实验步骤:
一、账号安全控制
(一)、基本安全措施
1.系统账号清理
(1)非登录账户的Shell设置为/sbin/nologin
Useradd -s /sbin/nologin 用户名
(2)锁定长期不使用的账号(没有密码的账户不可以别锁定)
锁定:passwd -l 用户名
Usermod -L 用户名
解锁:passwd -u 用户名
Usermod -U 用户名
#:可以使用 passwd -S 用户名 查看账号状态
(3)删除无用的账号
Userdel 用户名
(4)锁定账号文件passwd、shadow
锁定情况下的内容将不允许更改,因此无法添加、删除账户、也不能更改密码、登录Shell
、宿主目录等属性。
#: 这三条命令适用于所有文件
锁定文件: chattr +i 文件路径
查看锁定文件: lsattr 文件路径
解锁文件: chattr -i 文件路径
2.密码安全控制
(1)设置密码有效期
适用于新创建的用户: vim /etc/login.defs
PASS_MAX_DAYS 有效天数
适用于已经创建的用户: chage -M 有效天数 用户名
(2)下次登录强制要求更改密码:
chage -d 0 用户名
3.超时自动注销,清空命令历史
(1)超时自动注销
Vim /etc/profile
Export TMOUT=超时时间
(2)注销自动清空命令历史(history 查看命令历史)
vim ~/.bash_logout
History -c
(3)命令历史限制
Vim /etc/profile
HISTSIZE =命令条数
(二)、命令切换与提权
- su命令——切换用户
用途:Substitute User,切换用户
格式:su - 目标用户
密码验证:
用途:Substitute User,切换用户
格式:su - 目标用户
Su 命令加 - 与不加 - 的区别
1. - 等同于–login 或 -l
2.不加-:则只是切换用户,用户环境仍然是原用户环境
3.加- :切换用户,同时切换用户环境
限制使用su 命令的用户:
(1)启用pam_wheel认证模块
Vim /etc/pam.d/su
Auth required pam_wheel.so use_uid
#: 默认存在只要把前面的注释去掉就好
(2)将用户加入wheel组
gpasswd -a 用户名 组名
#: 查看su 的操作记录: /var/log/secure
2.sudo命令——提升执行权限
sudo命令的用途及用法:
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
配置sudo授权: visudo 或者 vim /etc/sudoers
记录格式: 用户名 主机名=命令程序列表
用户名:授权的用户名,或采用‘%组名’的形式授权一个组的所有用户
主机名:使用此配置文件的主机名。
命令:允许授权用户通过 sudo 方式执行的特权命令,需要填写完整路径,多命令之间用‘,’分隔。(可以使用 which 查询命令的具体路径)
关于visudo :
1.主机名:可以写localhost,一般写实际主机名
2.授权的权限必须要写完整路径
3.*代表所有,!代表取反
4.如果授权用户、主机,命令很多,此时可以使用别名
用户别名: User_Alias 别名=用户
主机别名: Host_Alias 别名=主机
命令别名: Cmnd_Alias 别名=命令
5.使用sudo命令要输入当前用户的密码(五分钟之内只输入一次)
可以使用 (用户名 ALL=NOPASSWD: ALL) 来避免输入密码
6.可以授权一个组的权限“%组名”
例:让t1用户可以执行/usr/sbin/ 下的所有命令
用t1用户执行命令:
查看sudo操作记录:
(1)启用 Defaults logfile
Visudo
Defaults logfile = “/var/log/sudo”
(2)查看日志
Cat /var/log/sudo
二、系统引导和登录控制
(一)开关机安全控制
1.调整BIOS引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理员密码
2.禁止使用Ctrl + Alt + Del 快捷键重启(重启生效)
3.限制更改GRUB引导参数
首先使用grub-md5-crypt获得加密字符串
在把获取到的密码字符串添加到/boot/grub/grub.conf 中 ,添加到第一个title之前是为进入grub菜单时设定密码,添加到title之后是为进入系统设置密码。
(二)、终端及登录控制
1.减少开放的tty 终端数
控制终端的配置文件夹:
/etc/init/tty.conf //控制tty终端的开启
/etc/init/start-ttys.conf //控制tty终端的开启数量、设备文件
/etc/sysconfig/init //控制tty终端的开启数量、终端颜色
通过修改/etc/init/start-ttys.conf 和 /etc/sysconfig/init ,可以减少开放的终端数
2.禁止root 用户登录
可以修改/etc/securetty 文件,将不需要登录的终端注释掉
3.禁止普通用户登录
只需要创建一个 /etc/nologin文件即可(创建完文件之后普通用户不可登录系统,root用户不受限制)
三、弱口令检测、端口扫描
(一)弱口令检测——john the Ripper
1.下载并安装John the Ripper
John the Ripper:
一款密码分析工具,支持字典式的暴力破解
通过对shadow文件的口令分析,可以检测密码强度
官方网站:http://www.openwall.com/john/
安装John the Ripper:
可以看到在 /john-1.8.0/run 下已经生成了一个可执行程序 john
2.检测弱口令账号(./john /etc/shadow) (password.lst 为暴力破解的字典)
可以使用 ./john --show /etc/shadow 查看已经破解的账户列表
3.使用密码字典文件
默认的字典文件为password.lst 列出了3000多个常见的弱口令
也可以自己创建一个字典文件 利用 --wordlist 来引用自己创建的密码字典
./john --wordlist=密码字典路径 /etc/shadow
(二)、网络扫描——NMAP
NMAP:一款强大的网络扫描、安全检测工具
官方网站:http://nmap.org/
可从RHEL6光盘中安装nmap-5.51.3.el6.x86_64.rpm包
NMAP扫描语法:
nmap [扫描类型] [选项] <扫描目标 …>
常见选项:
-p :指定扫描端口
-n :禁用反向DNS解析(加快查询速度)
常见扫描类型:
-sS,TCP SYN扫描(半开)
-sT,TCP 连接扫描(全开)
-sF,TCP FIN扫描
-sU,UDP扫描
-sP,ICMP扫描
-P0,跳过ping检测
1.安装NMAP软件包
2.扫描操作示例
扫描开放了的TCP端口
扫描开放了的UDP端口
检查网段中那些主机提供了ftp服务
快速检查网段中存活的主机(能ping通)
检查IP地址位于192.168.1.100-192.168.1.200的主机是否开启文件共享服务