防伪码:千磨万击还坚劲,任尔东西南北风

            第八章 系统安全及应用

前言:虽然说linux系统安全,高效,稳定,但如果平时不注意安全优化,也不会安全。本章将介绍账户安全,系统引导和登录的安全,以及弱口令检测,网络扫描工具的使用+综合实战!

一、账号安全控制

1、系统账号清理

1)以下常见的非登录用户要确保不被人为改动:

你所忽略的Linux系统安全及应用(最全面)_系统

2) 各种非登录账户中,还有一部分是很少用到的,如news,uucp,games,gopher,这些用户可视为冗余账号,直接删除即可

你所忽略的Linux系统安全及应用(最全面)_linux_02

3) 若不确定能否被删除,可以暂时锁定

你所忽略的Linux系统安全及应用(最全面)_系统_03

4) 如果服务器中的账户已经固定,不再进行更改,还可以采用锁定账号配置文件的方法。

使用chattr命令,分别结合+i,-i来锁定、解锁。使用lsattr查看文件锁定情况。

你所忽略的Linux系统安全及应用(最全面)_系统_04

2、 密码安全控制

1) 设置密码有效期为30天

修改配置文件,适合新建立的用户,vi  /etc/login.defs

你所忽略的Linux系统安全及应用(最全面)_linux_05

使用命令:Chage -M 30 zhangsan,适用于已有的张三用户

 2) 设置用户下次登录时重设密码

你所忽略的Linux系统安全及应用(最全面)_linux_06

然后使用张三登录终端

你所忽略的Linux系统安全及应用(最全面)_杨文_07

先输入原密码,然后再输入两次新密码,注意复杂性。

3、 命令历史,自动注销

1) 修改配置文件,设置最多纪录200条历史命令,如果纪录太多,容易泄露信息。

Vi  /etc/profile,适用于新登录的用户

你所忽略的Linux系统安全及应用(最全面)_杨文_08

重启系统或者执行source  /etc/profile使之生效。

 执行export  HISTSIZE=10适用于当前的账户

你所忽略的Linux系统安全及应用(最全面)_系统_09

2) 当用户退出已登录的bash环境后,清空历史纪录

vi ~/.bash_history

删除一些不想让别人看到的命令,保存并退出

执行history -c:清空本次留在缓存中的历史命令 

history -w :强制刷新缓存中的命令记录到.bash_history 文件中 

然后重启之后重新登录系统,执行history发现没有历史纪录

你所忽略的Linux系统安全及应用(最全面)_linux_10

3) 设置超时时间,指定时间没有任何输入就自动注销。

Vi  /etc/profile,适用于新登录的用户。

你所忽略的Linux系统安全及应用(最全面)_杨文_11

执行export TMOUT=10用于当前用户(为了测试方便,时间调10秒),10秒之内没有任何输入就退出系统。也可以使用unset TMOUT取消设置

二、 用户切换与提权

1、 su命令:用来切换用户,具有该用户的所有权限。

1)su切换用户

你所忽略的Linux系统安全及应用(最全面)_linux_12

上图的命令只切换用户身份,不切换用户环境,如果想切换身份的同时切换环境,需要在su后面加“-”,如下图:

你所忽略的Linux系统安全及应用(最全面)_系统_13

2) 允许个别用户使用su命令进行切换,需要将授权使用su命令的用户zhangsan添加到wheel组,

你所忽略的Linux系统安全及应用(最全面)_杨文_14

修改/etc/pam.d/su认证配置

Vi  /etc/pam.d/su,去掉下图中圈中的auth前面的#号。

你所忽略的Linux系统安全及应用(最全面)_系统_15

重启系统之后使用zhangsan登录,执行su  -  root 可以正常切换,但是使用其他用户提示密码不正确,登录失败。

你所忽略的Linux系统安全及应用(最全面)_系统_16

2、 sudo命令,提升执行权限,可以让普通用户拥有一部分管理权限,又不需要将root用户的密码告诉对方。

1) 在配置文件/etc/sudoers中添加授权

例如:授权用户lisi能够执行ifconfig命令修改ip地址,而wheel组的用户不需要验证密码即可执行任何命令,可以执行以下操作。

执行命令:Visudo

你所忽略的Linux系统安全及应用(最全面)_linux_17

2) 通过sudo命令测试特权命令

使用lisi登录系统,执行/sbin/ifconfig  eth0:0 192.168.1.1,提示失败,权限不够。

如果在命令前面加上sudo,执行成功

你所忽略的Linux系统安全及应用(最全面)_系统_18

三、 系统引导和登录控制

1、 开关机安全控制

1) 调整biso引导控制

将第一引导设备设置为当前系统所在磁盘

禁止从光盘,u盘,网络等引导系统(Disabled)

将bios设置好管理密码。

2) 禁止ctrl+alt+del重启系统系统

Vi  /etc/init/control-alt-delete.conf

你所忽略的Linux系统安全及应用(最全面)_杨文_19

重启系统之后,按ctrl+alt+del无法重启系统(在终端中测试)

 3) 限制更改grub引导参数

首先使用grub-md5-mcypt生成加密的密码

你所忽略的Linux系统安全及应用(最全面)_杨文_20

然后修改配置文件,把密文添加到第一个title之前,如下图:

你所忽略的Linux系统安全及应用(最全面)_杨文_21

重启系统进入grub菜单,如果想修改引导参数,必须先按p输入密码,然后按e才能编辑引导参数

你所忽略的Linux系统安全及应用(最全面)_杨文_22

2、 终端及登录控制

1) 减少开放的tty终端个数,禁用tty1,tty2,tty3

Vi  /etc/init/start-ttys.conf

你所忽略的Linux系统安全及应用(最全面)_系统_23

Vi  /etc/sysconfig/init

你所忽略的Linux系统安全及应用(最全面)_系统_24

注意两个文件都需要更改

2)禁止root用户从tty5和tty6终端登录

Vi  /etc/securetty

你所忽略的Linux系统安全及应用(最全面)_系统_25

3)禁止普通用户登录,只需要建立/etc/nologin文件即可,如果恢复普通用户登录,删除这个文件即可

Touch  /etc/nologin

然后使用普通用户登录测试

四、 弱口令检测和端口扫描

1、 弱口令探测(john  the ripper)

1)下载并安装

你所忽略的Linux系统安全及应用(最全面)_系统_26

查看是否安装成功

你所忽略的Linux系统安全及应用(最全面)_linux_27

2) 检测弱口令

查看密码破解出的账户列表:

你所忽略的Linux系统安全及应用(最全面)_杨文_28

你所忽略的Linux系统安全及应用(最全面)_linux_29

3) 使用密码字典文件破解,默认的字典文件为password.lst

首先清空破解出的账户列表

你所忽略的Linux系统安全及应用(最全面)_系统_30

然后为xiaoming用户设置强密码Pwd@123

你所忽略的Linux系统安全及应用(最全面)_系统_31

把密码写在字典文件中:vi password.lst,也可以使用密码字典生成工具生成密码,然后再导入到password.lst文件中。

执行破解(破解之前需要重新拷贝shadow文件

你所忽略的Linux系统安全及应用(最全面)_linux_32

2、网络扫描(NMAP)

1)安装NAMP软件包

你所忽略的Linux系统安全及应用(最全面)_linux_33

2) 针对本机进行扫描,检查开放了哪些常用的tcp端口,udp端口

你所忽略的Linux系统安全及应用(最全面)_杨文_34

你所忽略的Linux系统安全及应用(最全面)_系统_35

Filtered表示可能被防火墙过滤

3) 检查哪些主机提供了ftp服务

你所忽略的Linux系统安全及应用(最全面)_系统_36

4) 检测192.168.0.0网段中有哪些存活主机(能ping通)

你所忽略的Linux系统安全及应用(最全面)_linux_37

5) 检测192.168.0.1-254主机是否开启文件共享服务

你所忽略的Linux系统安全及应用(最全面)_linux_38

综合实战演练:

实验环境:

某公司新增了一台企业级服务器,已安装运行RHEL 6操作系统,由系统运维部、软件开发部、技术服务部共同使用。由于用户数量众多,且使用时间不固定,要求针对账号和登录过程采取基本的安全措施。

需求描述:

1、允许radmin使用su命令进行切换,其他用户一律禁止切换身份

2、授权zhangsan管理员工的账号,但禁止其修改root用户的信息

3、授权lisi能够执行/sbin/,/usr/sbin目录下的所有特权命令,不需要密码验证

4、所有的su、sudo操作,必须在系统日志文件中进行记录

5、禁止使用ctrl+alt+del快捷键,只开放tty3,tty5终端,为grub引导菜单设置密码

A、设置使用su命令

(1)修改认证文件/etc/pam.d/su,启用pam_wheel.so认证模块。

你所忽略的Linux系统安全及应用(最全面)_系统_39

(2)将radmin用户加入到wheel组。

你所忽略的Linux系统安全及应用(最全面)_系统_40

(3)验证除了root、radmin以外,其他用户均不能使用su进行切换。

你所忽略的Linux系统安全及应用(最全面)_linux_41

B、设置sudo授权

(1)授权用户zhangsan使用useradd、userdel、passwd、usermod命令,但禁止其执行“passwd root”、“usermod * root”操作。(2)授权lisi用户使用/sbin/*、/usr/sbin/*命令,添加NOPASSWD:以取消验证。(3)添加“Defaults logfile”配置行,以启用sudo日志。

你所忽略的Linux系统安全及应用(最全面)_杨文_42

(4)分别以zhangsan、lisi用户登录,验证授权的sudo操作,并查看日志。

你所忽略的Linux系统安全及应用(最全面)_系统_43

你所忽略的Linux系统安全及应用(最全面)_杨文_44

C、限制引导及登录过程

(1)禁用Ctrl+Alt+Del热键,禁用tty1、tty2、tty4、tty6这四个终端。

你所忽略的Linux系统安全及应用(最全面)_系统_45

(2)在grub.conf文件中的第一个title行之前添加密码配置。

你所忽略的Linux系统安全及应用(最全面)_系统_46

你所忽略的Linux系统安全及应用(最全面)_linux_47

(3)重启后进入到GRUB菜单界面,验证直接按e键已无法编辑引导参数。

谢谢观看 由衷的希望能帮到大家!