Linux操作基础(系统安全及应用)

文章目录

  • 一 、账号安全基本措施
    • 1.1 系统账号清理
    • 1.2 密码安全控制
      • 1.21 设置密码有效期
    • 1.3 命令历史限制
      • 1.31 修改history命令条数
      • 1.32 清空history的方式
      • 1.33 设置终端自动注销
  • 二 、使用su命令切换用户
    • 2.1 限制使用su命令切换用户
    • 2.2 sudo命令—提升执行权限
  • 三 、系统引导和登录控制
    • 3.1开关机安全控制
    • 3.2 终端登录安全控制
  • 四 、弱口令检测、端口扫描
    • 4.1弱口令检测—Joth the Ripper
    • 4.2 网络扫描—NMAP
  • 总结

一 、账号安全基本措施

1.1 系统账号清理

(1)将非登录用户的shell设置成/sbin/nologin

Linux操作基础(系统安全及应用)_第1张图片

(2)锁定长期不使用账号权限

Linux操作基础(系统安全及应用)_第2张图片
(3)删除无用账号

userdel 用户名        //删除用户,但不删除用户的家目录
userdel -r 用户名     //删除用户的同时,删除他的家目录

在这里插入图片描述

(4)锁定账号文件psswd、shadow

chattr +i /etc/passwd                #锁定账号
lsattr                               #查看用户状态    i就是被锁定
chattr -i /etc/passwd                #解锁账号

Linux操作基础(系统安全及应用)_第3张图片

通过md5sum 可以查看校验和来判断文件有没有被修改过
在新添加一个用户之后,他的校验和发生了变化。
Linux操作基础(系统安全及应用)_第4张图片

1.2 密码安全控制

1.21 设置密码有效期

针对新用户
在进入vim /etc/login.defs后,将PASS_MAX_DAYS的设置进行修改
Linux操作基础(系统安全及应用)_第5张图片

修改过后发现新用户的,密码有效期发生了更改,而老用户的并没有更改

Linux操作基础(系统安全及应用)_第6张图片

针对已有的用户
可以使用chage -M 数字 用户名 来修改已有用户的没密码有效期

Linux操作基础(系统安全及应用)_第7张图片

也可以通过chage -d 0 用户名 来强制用户下次登陆修改密码,此时shadow文件中的第三个字段变成0

Linux操作基础(系统安全及应用)_第8张图片

再次登录ls账户发现用户ls需要再次修改密码
Linux操作基础(系统安全及应用)_第9张图片

1.3 命令历史限制

1.31 修改history命令条数

在默认情况下,history命令可以查看1000条命令,但是可以通过修改来改变查看命令的条数
进入vim /etc/profile 后修改文件配置
Linux操作基础(系统安全及应用)_第10张图片

将HISTSIZE=1000修改成你需要的天数即可,或者是在最后一行输入export HISTSIZE=20 也可以完成。

Linux操作基础(系统安全及应用)_第11张图片
而后输入source /etc/profile刷新加载该配置文件

Linux操作基础(系统安全及应用)_第12张图片

1.32 清空history的方式

临时清空历史命令history -c

Linux操作基础(系统安全及应用)_第13张图片

自动清空的方式 :

1. 注销时自动清空历史命令 
 [root@localhost ~]# vim ~/.bash_logout
 echo "" > ~/.bash_history
 ​
 2. 登录时自动清空历史命令
 [root@localhost ~]# vim ~/.bashrc
 echo "" > ~/.bash_history

在这里插入图片描述

Linux操作基础(系统安全及应用)_第14张图片

1.33 设置终端自动注销

[root@localhost ~]# vi /etc/profile
 
export TMOUT=n           #设置登录后无操作退出登录超时时间(n秒后自动注销)

Linux操作基础(系统安全及应用)_第15张图片

在source /etc/profile刷新后,通过echo $TMOUT可以查看到设置自动注销的时间。

Linux操作基础(系统安全及应用)_第16张图片

二 、使用su命令切换用户

su 命令:可以在终端中切换已知密码的用户,root用户默认普通用户不需要密码。普通用户之间的切换需要密码的切换

su 用户名                   #切换用户
whoami                      #查看当前使用的用户
pwd                         #查看当前路径

2.1 限制使用su命令切换用户

将信任的普通用户添加到wheel组

在这里插入图片描述

vim /etc/pam.d/su 将第二行和第六行注释打开,可以实现root和加入wheel组的用户su权限操作

Linux操作基础(系统安全及应用)_第17张图片

除了ls以外的普通用户都无法使用su命令

Linux操作基础(系统安全及应用)_第18张图片

2.2 sudo命令—提升执行权限

sudo命令的用途及用法:
用途:以其他用户身份(如root)执行授权命令
用法:sudo 授权命令

配置sudo授权
visudo 或者 vim /etc/sudoers
记录格式:
用户 主机名列表=命令程序列表
可以使用通配符“ !”号进行取反操作。
权限生效后,输入密码后5分钟可以不用重新输入密码。
配置/etc/sudoers文件,可以授权用户较多的时使用

Host_Alias MYHOST= localhost 主机名
User_Alias MYUSER = yxp,zhangsan,lisi 需要授权的用户
Cmnd_Alias MYCMD = /sbin/*,/usr/bin/passwd 授权
MYUSER MYHOST = NOPASSWD : MYCMD 授权格式

实例1:
首先切换到zs的用户下,然后创建一个新的网卡,发现不允许操作于是加上sudo后继续执行,发现还是不能执行于是切换到root用户下在sudoers中进行编辑。

Linux操作基础(系统安全及应用)_第19张图片

Linux操作基础(系统安全及应用)_第20张图片

编译完成后再次执行sudo

Linux操作基础(系统安全及应用)_第21张图片

执行ifconfig命令后发现网卡添加完成

Linux操作基础(系统安全及应用)_第22张图片

实例2:
如果想让zs和ls用户除了不能执行reboot 和 poweroff 的命令其他都能执行

首先,进入sudoers编辑,进行编辑,在设置别名的时候别名一定要大写

Linux操作基础(系统安全及应用)_第23张图片

而后,切换到zs用户下进行测试,发现无法使用

Linux操作基础(系统安全及应用)_第24张图片

三 、系统引导和登录控制

3.1开关机安全控制

调整BIOS引导设置原则

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

GRUB菜单设置

  • 使用grub2-mkpasswd-pbkdf2生成密钥
  • 修改/etc/grub.d/00_header文件中,添加密码记录
  • 生成新的grub.cfg配置文件

GRUB限制的实现

  1. 使用grub2-mkpasswd-pbkdf2生成密钥并复制,然后备份两个配置文件。

Linux操作基础(系统安全及应用)_第25张图片

  1. 修改/etc/grub.d/00_ header文件中, 添加密码记录,并保存退出

在这里插入图片描述

在尾行添加密码记录

在这里插入图片描述

Linux操作基础(系统安全及应用)_第26张图片
在此页面按e可以进入GRUB菜单
Linux操作基础(系统安全及应用)_第27张图片

输入账号密码

Linux操作基础(系统安全及应用)_第28张图片

在此页面按CTRL+x进入虚拟机

Linux操作基础(系统安全及应用)_第29张图片

3.2 终端登录安全控制

限制root用户只在安全终端登录
安全终端配置:/etc/securetty

1、更改相关配置文件

在这里插入图片描述

我将tty3给注释掉

Linux操作基础(系统安全及应用)_第30张图片

2、切换至指定终端进行测试

Linux操作基础(系统安全及应用)_第31张图片

限制普通用户进行登录
建立/etc/nologin文件

在这里插入图片描述

文件创建后普通用户也无法登录

Linux操作基础(系统安全及应用)_第32张图片
而后我将/etc/nologin文件删除,普通用户就可以完成登录

在这里插入图片描述

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

4.1弱口令检测—Joth the Ripper

  • 一款密码分析工具,支持字典式的暴力破解;
  • 通过对shadow文件的口令分析,可以检测密码强度;
  • 官方网站:John the Ripper password cracker

Joth the Ripper实例
安装方法 make clean 系统类型
主程序文件为john
1、把下载好的安装包放到opt目录下,并进行解压

Linux操作基础(系统安全及应用)_第33张图片

Linux操作基础(系统安全及应用)_第34张图片

2、 安装软件编译工具

Linux操作基础(系统安全及应用)_第35张图片

3、 进行编译安装

在这里插入图片描述

4、准备待破解的密码文件

在这里插入图片描述

5、执行暴力破解

Linux操作基础(系统安全及应用)_第36张图片

6、查看已经破解出的密码

Linux操作基础(系统安全及应用)_第37张图片

4.2 网络扫描—NMAP

NMAP的扫描
nmap [扫描类型] [选项] <扫描目标>

常见的选项 选项的作用
-p 指定扫描的端口。
-n 禁用反向DNS解析(以加快扫描速度)
-sS TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYNACK响应包就认为目标端口正在监听,并立即断开连接; 否则认为目标端口并未开放。
-sT TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否 则认为目标端口并未开放。
-sF TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而 忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU UDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。
-sP ICMP扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
-P0 跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放 弃扫描。
natstat常用选项 作用
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n 以数字的形式显示相关的主机地址、端1等信息。
-t 查看TCP相关的信息。
-u 显示UDP协议相关的信息。
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r 显示路由表信息。
-l 显示处于监听状态的网络连接及端口信息。

在安装完nmap之后可以通过nmap命令来进行相应的操作

1、分别查看本机开放的TCP端口、UDP端口

Linux操作基础(系统安全及应用)_第38张图片

2 、查看192.168.5.0/24的网段中有那些存活的主机

Linux操作基础(系统安全及应用)_第39张图片

总结

这次学习了账号安全的基本措施以及su、sudo的命令、开关机和终端的安全控制以及弱口令检测和nmap扫描

你可能感兴趣的:(Linux基础,linux,系统安全,运维)