理论+实验——Linux的系统安全及应用

前言

作为一种开放源代码的操作系统,Linux服务器以其安全、高效和稳定的显著优势而得以广泛应用。
用户账号,是计算机使用者的身份凭证或标识,每一个要访问系统资源的人,必须凭借其用户账号才能进入计算机。在Linux系统中,提供了多种机制来确保用户账户的正当、安全使用。

一、账号安全控制

1.基本安全措施

(1)系统账号清理

  • 将非登录用户的Shell设为/sbin/nologin
  • 锁定长期不使用的账号
  • 删除无用的账号
  • 锁定账号文件passwd、shadow
    在这里插入图片描述
    在这里插入图片描述

shell环境设置为/sbin/nologin,即将/bin/bash改为/sbin/nologin
例:
第一种方法:
先创建新账户zg1,然后进入/etc/passwd编辑shell环境
在这里插入图片描述在这里插入图片描述
改为/sbin/nologin,保存退出
打开zg1账户,显示被锁定不可用在这里插入图片描述
第二种方法:
直接输命令

usermod -s /sbin/nologin zg1

解锁反之,将/sbin/nologin改为/bin/bash即可

(2)密码安全控制

  • 设置密码有效期
  • 要求用户下次登录时修改密码
    在这里插入图片描述

(3)命令历史、自动注销

命令历史限制

  • 减少记录的命令条数
  • 注销时自动清空命令历史
vi /etc/profile
/HISTSIZE   ###查看这个参数,假如后面是1000
            ###把他改为100,这时记录的命令是100条
改完后:wq   ###保存下
source /etc/profile   ###把这个文件刷新,生效

终端自动注销

  • 闲置60秒后自动注销
vi /etc/profile    ###编辑这个全局变量的文件
export TMOUT=60    ###终端60秒没动,自动注销账户
source /etc/profile   ###把这个文件刷新,生效

以上的命令是全局(所有)的自动注销账户,如果是个别(个人),则敲命令vi .bash_profile,同样的编辑,刷新,就可以了。

2.用户切换与提权

(1)su命令——切换用户

用途及用法

  • 用途:Substitute User,切换用户
  • 格式:su - 目标用户

密码验证

  • root:任意用户,不验证密码
  • 普通用户:其他用户,验证目标用户的密码
    在这里插入图片描述
    限制使用su命令的用户
  • 将允许使用su命令的用户加入wheel组
  • 启用pam_wheel认证模块
    在这里插入图片描述在这里插入图片描述

查看su操作记录

  • 安全日志文件:/var/logsecure

(2)sudo命令——提升执行权限

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.PAM安全认证

(1)PAM及其作用

su命令的安全隐患

  • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
  • 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

PAM(Pluggable Authentication Modules)可插拔式认证模块

  • 是一种高效而且灵活便利的用户级别的认证方式
  • 也是当前Linux服务器普遍使用的认证方式

(2)PAM认证原理

  • 一般遵循的顺序
    Service(服务)→PAM(配置文件)→pam_*.so
  • 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/etc/security下)进行安全认证
  • 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
  • 不同的应用程序所对应的PAM模块是不同的

(3)PAM认证的构成

在这里插入图片描述
PAM安全认证流程
在这里插入图片描述

二、系统引导和登录控制

1.开关机安全控制

调整BIOS引导设置

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

GRUB限制

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

2.终端及登录控制

限制root只在安全终端登录

  • 安全终端配置:/etc/securetty
    在这里插入图片描述
    禁止普通用户登录
  • 建议/etc/nologin文件
  • 删除nologin文件或重启后即恢复正常
    在这里插入图片描述

三、系统弱口令检测

1.下载并安装John the Ripper

John the Ripper,简称JR

  • 一款密码分析工具,支持字典的暴力破解
  • 通过对shadow文件的口令分析,可以检测密码强度
  • 官方网站:http://www.openwal.com/john/
    在这里插入图片描述
    在这里插入图片描述

2.检测弱口令账号

  • 获得Linux/Unix服务器的shadow文件
  • 执行john程序,将shadow文件作为参数

3.使用密码字典文件、暴力破解

  • 准备好密码字典文件,默认为password.lst
  • 执行john程序,结合–wordlist=字典文件

实验
①下载安装JR,解压
在这里插入图片描述
②编译源代码
在这里插入图片描述在这里插入图片描述
确认已生成可执行程序john
在这里插入图片描述

③准备带破解的密码文件
在这里插入图片描述

私编辑自定义密码字典文件(其中需要有正确的密码)在这里插入图片描述
⑤开始破解
在这里插入图片描述
⑥暴力破解
先清空已破解出的账户列表,以便重新分析
在这里插入图片描述
然后直接暴力破解
在这里插入图片描述

4.网络端口扫描

NMAP

  • 一款强大的网络扫描、安全监测工具
  • 官方网站:http://nmap.orp/
  • CentOS7.3光盘中安装包nmap-6.40-7.el7.x86_64.rpm

NMAP的扫描

nmap 【扫描类型】 【选项】 <扫描目标 …>

在这里插入图片描述
扫描操作示例
实验
①扫描常用的TCP端口在这里插入图片描述
②扫描常用的UDP端口
在这里插入图片描述

③检查192.168.1.0/24网段中有哪些主机提供FTP服务
在这里插入图片描述
在这里插入图片描述
④快速检测192.168.1.0/24网段中有哪些存活主机(能ping通)
在这里插入图片描述
⑤检测IP地址位于192.168.1.100-200的主机是否开启文件共享服务
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ZG_66/article/details/107487420
今日推荐