Linux之系统安全与应用(多个实验模拟真实环境)

一、账号安全控制

1.1、锁定账号文件----chattr、lsattr

  • 系统账号清理
    • 将非登陆用户的Shell设为/sbin/nologin
    • 锁定长期不使用的账户
    • 删除无用的账号
    • 锁定账号文件/etc/passwd、/etc/shadow
chattr +i /etc/passwd /etc/shadow  #锁定账号文件
lsattr /etc/passwd /etc/shadow     #查看账号文件的状态 
chattr -i /etc/passwd /etc/shadow  #解锁账号文件

在这里插入图片描述

1.2、密码有效期------新建用户、已有用户

  • 已创建的用户设置密码有效期
chage -M 30 wangwu     
#chage -M 有效天数 用户名
  • 未创建、准备创建的用户设置密码有效期
vim /etc/login.defs
在配置文件中修改 PASS_MAX_DAYS 30  
useradd jack

已有用户的设置:
在这里插入图片描述
新建用户的设置:
在这里插入图片描述
在这里插入图片描述

  • 要求用户下次登陆时修改密码
    将有效期设置为0,下次登陆及时修改密码(不建议使用,更改的密码不允许使用连续字母及数字)
[root@localhost ~]#chage -d 0 zhangsan

1.3、命令历史限制

  • 减少记录的命令条数
vim /etc/profile
HISTSIZE=200 (默认是1000)
  • 注销时自动清空命令历史
vim ~/.bash_logout
history -c

1.4、终端自动注销

  • 闲置600秒后自动注销
 vim ~/.bash_profile
…………
export TMOUT=600

在这里插入图片描述

二、用户切换与提权

2.1、切换用户-----su

用途:切换用户
格式:su - 目标用户
  • root---->任意用户,不验证密码
  • 普通用户------>其他用户,验证目标用户的密码

2.2、限制使用su命令的用户

  • 默认情况下,任何用户都允许使用su命令,从而有机会反复尝试root用户的登录密码,带来安全风险。

  • 为了加强su命令的使用控制,可以借助pam_wheel认证模块,只允许个别用户使用su命令。

  • 在wheel组的用户可以使用su命令,但是不在wheel组的用户不能使用su命令。

  • 实验
    1、先开启pam验证 vim /etc/pam.d/su 把里面的#注释删除
    在这里插入图片描述
    在这里插入图片描述
    2、gpasswd -a zhangsan wheel #把允许使用su的用户添加进wheel
    在这里插入图片描述
    在这里插入图片描述

2.3、提升执行权限-----sudo

  • 可以使普通用户拥有一部分管理权限,并且不知道root用户的密码。
  • 需要管理员root先进行授权,指定允许哪些用户以root身份来执行哪些命令。
  • sudo的用法:sudo 授权命令

实验练习

例1、实现授权zhangsan用户能够执行ifconfig命令修改IP地址

  • 1、在root用户下输入visudo即进入/etc/sudoers配置文件
    在这里插入图片描述
  • 2、内容添加:用户名 localhost=/sbin/ifconfig
    wq保存退出
    在这里插入图片描述
  • 3、su - zhangsan 进入zhangsan用户
    在这里插入图片描述
    在这里插入图片描述例2、用户zhangsan、lisi、jerry在主机smtp、pop中执行rpm、yum命令
  • 在root用户下输入visudo
User_Alias=zhangsan,lisi,jerry
Host_Alias=smtp,pop
Cmnd_Alias=/bin/rpm,/bin/yum

例3、要授权用户zhangsan可以执行/sbin目录下除了ifconfig和route以外的所有命令

zhangsan localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
!取反符号  * 通配符,指所有。

2.4、设置日志文件—查看授权sudo操作记录

  • 1、需启用Defaults logfile配置
  • 2、进行sudo操作,查看文件操作记录

实验步骤:
第一步:visudo 添加Defaults logfile="/var/log/sudo"

第二步:进行sudo操作,给zhangsan授权用户能够执行ifconfig命令修改IP地址

Defaults logfile="/var/log/sudo"
zhangsan localhost=/sbin/ifconfig

在这里插入图片描述
第三步: tail /var/log/sudo #查看日志文件的sudo操作记录
在这里插入图片描述

三、安全控制

调整BIOS引导设置

  • 将第一引导设备设为当前系统所在硬盘
  • 禁止从其他设备(光盘、U盘、网络)引导系统
  • 将安全级别设为setup,并设置管理员密码

GRUB限制管理

  • 为了加强对引导过程的安全控制,可以给GRUB菜单设置一个密码,只有提供正确密码才能被允许修改参数。
  • 修改grub2-mkpasswd-pbkdf2生成密钥
  • 修改/etc/grub.d/00_header文件中,添加密码记录
  • 生成新的grub.cfg配置文件

3.1、GRUB限制安全的实验

第一步:先备份grub:

[root@localhost ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@localhost ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak

第二步:修改grub2-mkpasswd-pbkdf2生成密钥
在这里插入图片描述
第三步:修改/etc/grub.d/00_header文件中,添加密码记录

cat << EOF
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.047A7FDBE9F04D1145634FCB1760957B8269ACBCA2FFBF1E1F5234BF3A98E0CBC1496FB886ABC363130E0ADB87C2A87C979430246F2A7877A87B97951AC4331E.5C05FA54D049308F1A70F6B1865508B839C06A652FC6F38BD5DCBDB5AD4005A1792FC01D852D1E865C2F0F24D1867E1FA273F1C489979070399A5062201DF4A5

EOF

在这里插入图片描述
第四步:生成新的grub.cfg配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

在这里插入图片描述
第五步:reboot重启进入,按e键进入字符界面,此时输入我们只允许的用户root和密码口令才能进入。
在这里插入图片描述
第六步:
在这里插入图片描述

四、终端安全控制

4.1、限制root只在安全终端登录

 - 安全终端配置:/etc/securetty

在这里插入图片描述
若要禁止root用户从tty5、tty6登录,可以修改/etc/securetty 文件,将tty5、tty6行注释掉。

4.2、禁止普通用户登录

  • 当服务器正在备份或调试等维修工作时,不希望有新的用户登录,只需要建立/etc/nologin文件即可。
  • 删除nologin文件或重启后即可取消限制。

五、弱口令检测

Joth the Ripper,简称为JR

  • 一款密码分析工具,支持字典式的暴力破解
  • 通过对shadow文件的口令分析,可以检测密码强度
  • 官方网站:http://www.openwall.com/john/

5.1、弱口令实验模拟

  • 环境准备
    1、vmware
    2、centos 7
    3、john-1.8.0.tar.gz安装包(可以在官方网站下载最新的稳定版)

  • 一、通过共享把主机的安装包挂载到虚拟机centos里,并解压到 /opt 目录下。
    在这里插入图片描述

  • 二、安装相对应的编译工具,直接用yum安装。

yum install gcc gcc-c++ -y 

在这里插入图片描述

  • 三、解压之后可以看到三个子目录–doc、run、src,分别是手册文档、运行程序、源码文件。
    先切换到 src目录下执行“make linux-x86-64”命令,即可执行编译。
    在这里插入图片描述
  • 四、在make编译后,run子目录会生成一个名为john的可执行程序表示工具安装成功。
    在这里插入图片描述
  • 五、接下来就是检测弱口令
./john /etc/passwd /etc/shadow

在这里插入图片描述

六、网络扫描----NMAP

  • 一款强大的网络扫描、安全检测工具
  • 可从centos7 光盘中安装nmap-6.40-19.el7.x86_64包

6.1、NMAP

  • NMAP的扫描语法:nmap [扫描类型] <扫描目标>
  • 常见的扫描类型:
    • -sT : 指 TCP扫描
    • -sU :指UDP扫描
    • -sP:指ICMP扫描

6.2、命令操作练习

一、安装NMAP包

yum install nmap -y

在这里插入图片描述

  • 例1:分别查看本机开放的TCP端口、UDP端口
    在这里插入图片描述
  • 例2:检测192.168.220.0/24网段有哪些在线的主机。
    先打开虚拟机里的centos7-2和centos7-3这两台主机。
    在这里插入图片描述
  • 例3:检测192.168.220.0/24网段有哪些主机提供FTP服务
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值