> 文章列表 > Linux操作基础(系统安全及应用)

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

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操作基础(系统安全及应用)

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

Linux操作基础(系统安全及应用)
(3)删除无用账号

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

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

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

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

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

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

1.2 密码安全控制

1.21 设置密码有效期

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

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

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

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

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

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

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

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

1.3 命令历史限制

1.31 修改history命令条数

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

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

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

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

1.32 清空history的方式

临时清空历史命令history -c

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

自动清空的方式 :

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

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

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

1.33 设置终端自动注销

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

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

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

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

二 、使用su命令切换用户

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

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

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

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

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

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

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

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

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

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操作基础(系统安全及应用)

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

编译完成后再次执行sudo

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

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

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

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

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

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

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

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

三 、系统引导和登录控制

3.1开关机安全控制

调整BIOS引导设置原则

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

GRUB菜单设置

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

GRUB限制的实现

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

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

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

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

在尾行添加密码记录

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

Linux操作基础(系统安全及应用)
在此页面按e可以进入GRUB菜单
Linux操作基础(系统安全及应用)

输入账号密码

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

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

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

3.2 终端登录安全控制

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

1、更改相关配置文件

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

我将tty3给注释掉

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

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

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

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

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

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

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

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

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

4.1弱口令检测—Joth the Ripper

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

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

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

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

2、 安装软件编译工具

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

3、 进行编译安装

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

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

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

5、执行暴力破解

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

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

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

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操作基础(系统安全及应用)

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

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

总结

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

在线植物大战僵尸