首页 > 电脑常识 > 运维

系统安全由我不由他!Linux账号安全及登录控制详细介绍,让你的服务器稳如碉堡!

admin 运维 2021-04-26 15:57:34 linux   安全   运维   账号安全  
后台-系统设置-扩展变量-手机广告位-内容正文底部

账号安全和登录控制

  • 一、账号安全控制
    • 1.1 账号安全的基本措施
      • 1.1.1 将非登录用户的Shell设为nologin
      • 1.1.2 锁定长期不使用的账号
      • 1.1.3 删除无用的账号
      • 1.1.4 锁定账号文件
      • 1.1.5 密码安全控制
      • 1.1.6 命令历史记录限制
      • 1.1.7 终端自动注销
      • 1.1.8 使用su命令切换用户
      • 1.1.9 限制使用su命令的用户
      • 1.1.10 Linux中的PAM安全认证
      • 1.1.11 使用sudo机制提升权限
  • 二、系统引导和登录控制
    • 2.1 开关机安全控制
    • 2.2 限制root只在安全终端登录
    • 2.3 禁止普通用户登录
    • 2.4 系统弱口令检测(Joth the Ripper,检测JR)
    • 2.5 网络端口扫描

在这里插入图片描述

一、账号安全控制

1.1 账号安全的基本措施

1.1.1 将非登录用户的Shell设为nologin

[root@hostname ~]# usermod -s nologin 用户名						#格式
[root@cheng0307 ~]# usermod -s nologin zhangsan					#实际操作

在这里插入图片描述

1.1.2 锁定长期不使用的账号

[root@cheng0307 ~]# usermod -L lisi			#锁定账户方式一
[root@cheng0307 ~]# usermod -U lisi			#解锁账户方式一
[root@cheng0307 ~]# passwd -l lisi			#锁定账户方式二
[root@cheng0307 ~]# passwd -u lisi			#解锁账户方式二

在这里插入图片描述

1.1.3 删除无用的账号

[root@hostname ~]# userdel 用户名			#格式
[root@cheng0307 ~]# userdel lisi			#实际操作

在这里插入图片描述

1.1.4 锁定账号文件

[root@cheng0307 ~]# lsattr /etc/passwd /etc/shadow				#查看文件的状态
[root@cheng0307 ~]# chattr +i /etc/passwd /etc/shadow			#锁定文件
[root@cheng0307 ~]# chattr -i /etc/passwd /etc/shadow			#解锁文件

在这里插入图片描述

1.1.5 密码安全控制

  • 设置密码有效期
  • 要求用户下次登录时修改密码

1.格式:

1.适用于新建用户
[root@cheng0307 ~]# vim /etc/login.defs 			#修改配置文件
-----此处省略部分注释及配置-------
PASS_MAX_DAYS   30									#修改密码有效期为30天

2.适用于已有用户
[root@cheng0307 ~]# chage -M 30 zhangsan			#修改密码有效期

3.强制在下次登录成功时修改密码(/etc/shadow第三个字段被修改为0)
[root@cheng0307 ~]# chage -d 0 zhangsan				#设置下次登录强制修改密码

2.实例1:修改密码配置文件,要求新创建的用户密码有效期都为30天
在这里插入图片描述
在这里插入图片描述
3.实例2:将现有用户zhangsan的密码有效期也修改为30天。
在这里插入图片描述

4.实例3:将现有用户zhangsan设置为强制下次登录时需要修改密码。
在这里插入图片描述
登录时输入密码后,需要设置新的密码才可以。
在这里插入图片描述

1.1.6 命令历史记录限制

  • 减少记录的命令条数;
  • 登录时自动清空命令历史 ;
  • 系统默认保存1000条历史命令记录;
  • history -c 命令只可以临时清除记录,重启后记录还在。

1.格式:

1.对历史命令的数量进行限制
[root@cheng0307 ~]# vim /etc/profile		#修改配置文件
export HISTSIZE=200					#修改命令历史记录数量最大为200,前面添加export为全局有效
source /etc/profile 				#刷新配置文件,立即生效

2.设置登录时自动清空命令历史
vim .bashrc 					#修改/etc/profile配置文件(每次切换bash都执行)
或
vim /etc/profile				#修改/etc/profile配置文件(执行一次)
echo " " > ~/.bash_history		#

2.实例1:修改历史命令记录为200条,并设置全局有效,并验证
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
3.实例2:设置登录时自动清空命令历史
在这里插入图片描述
在这里插入图片描述

1.1.7 终端自动注销

  • 闲置 [ n ] 秒后自动注销。(n为数字)

1.格式:

[root@cheng0307 ~]# vim /etc/profile			#编辑/etc/profile文件
export TMOUT=100								#设置全局自动注销时间

2.案例1:设置100s秒终端自动注销
在这里插入图片描述

1.1.8 使用su命令切换用户

1.用途和用法

  • 用途:Substitute User,切换用户
  • 格式:su - 目标用户(横杠“ - ”代表切换到目标用户的家目录)

2.密码验证

  • root - - - >任意用户,不验证密码
  • 普通用户- - - >其他用户,验证目标用户的密码
  • 带 “ - ” 表示将使用目标用户的登录Shell环境

3.格式:

1.切换用户
[root@cheng0307 ~]# su - zhangsan			#root切换普通用户
[zhangsan@cheng0307 ~]$ su - root			#普通用户切换其他用户

2.查看当前登录的用户
[root@cheng0307 ~]# whoami					#显示当前登录的用户

4.案例:测试用户之间切换
在这里插入图片描述

1.1.9 限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组中;
  • 启用pam_wheel 认证模块

1.格式:

[root@cheng0307 ~]# vim /etc/pam.d/su			#编辑/etc/pam.d/su配置文件
[root@cheng0307 ~]# gpasswd -a zhangsan wheel	#将希望可以使用su命令的用户加入到wheel组中
auth  required  pam_wheel.so use_uid			#将此行的注释取消即可

2.实例:有zhangsan和lisi两个用户,要求设置zhangsan可以使用su命令切换用户,lisi用户不允许使用。
在这里插入图片描述
在这里插入图片描述
3. 实例2:查看su操作记录
在这里插入图片描述

1.1.10 Linux中的PAM安全认证

1.su命令的安全隐患

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

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

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

3.PAM认证原理:

  • PAM认证一般遵循的顺序: Service (服务) --> PAM (配置文件) --> pam_*.so;,
  • PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证模块(位于/lib64/security/下)进行安全认证。
  • 用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同的。
  • 如果想查看某个程序是否支持PAM认证,可以用ls命令进行查看/etc/pam.d/
  • PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用.

在这里插入图片描述

1.1.11 使用sudo机制提升权限

1.sudo命令的用途及用法

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

2.配置sudo授权
- visudo或者vi /etc/sudoers(此文件默认权限为440,保存时必须 wq!强制执行操作)
- 记录格式:用户 主机名=命令程序列表
- 可以使用通配符“ * ”号任意值和“ !”号进行取反操作。
- 权限生效后,输入密码后5分钟可以不用重新输入密码。

3.语法格式:

用户 主机名=命令程序列表
用户 主机名=(用户)命令程序列表
zhangsan ALL=(root) /sbin/ifconfig				#实际操作
  • 用户: 直接授权指定的用户名,或采用“&组名"的形式(授权一个组的所有用户)。
  • 主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机。
  • (用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令。
    命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号“。"进行分隔。ALL则代表系统中的所有命令

4.启用sudo操作日志

  • 需启用Defaults logfile配置
  • 默认日志文件:/var/log/sudo
  • 操作:在/etc/sudoers末尾添加Defaults logfile="/var/log/sudo"

5.查询授权的sudo操作

  • sudo -l

6.实例1:查看当前sudo配置文件。
在这里插入图片描述

实例2:配置相关文件,使得zhangsan可以通过sudo命令使用ifconfig。

  1. 切换到zhangsan用户进行测试。
    在这里插入图片描述

  2. 末尾插入下列配置,然后强制保存并退出。
    在这里插入图片描述

  3. 进行测试。
    在这里插入图片描述

实例3:设置wheel组进行sudo操作时无需密码验证,并将lisi用户添加到wheel组中测试。
在这里插入图片描述
这里是sudo配置文件 /etc/sudoers 内的具体修改步骤:
在这里插入图片描述
实例4:使用关键字来进行设置别名,批量控制用户进行sudo操作时无法使用重启(reboot)、关机(poweroff)、切换init和无法删除。
第一步:vim /etc/sudoers 或者visudo 修改配置文件(这里我使用的是第一种)
在这里插入图片描述
第二步:添加配置
在这里插入图片描述
第三步:使用普通用户进行测试
在这里插入图片描述
第四步:查看zhangsan和lisi的可使用权限。
在这里插入图片描述
实例5:修改实例4,使zhangsan和lisi用户可以无需密码使用sudo可以使用的权限为/sbin下所有。
在这里插入图片描述

实例6: 在/car/log下创建sudo日志文件,用来存储用户使用的sudo命令记录。
在这里插入图片描述

二、系统引导和登录控制

2.1 开关机安全控制

1.调整BIOS引导设置

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

2.GRUB限制

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

3.限制更改GRUB引导参数
通常情况下在系统开机进入GRUB菜单时,按e键可以查看并修改GRUB引导参数,这对服务器是一个极大的威胁。可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数。

4.实例:为GRUB菜单设置密码
第一步:我们先来看一下未设置之前的状态
在这里插入图片描述
第二步:使用grub2-mkpasswd-pbkdf2生成密钥并复制,然后备份两个配置文件。
在这里插入图片描述
第三步:修改/etc/grub.d/00_ header文件中, 添加密码记录,并存并退出
在这里插入图片描述
第四步:生成新的grub.cfg文件,然后重启系统
在这里插入图片描述
第五步:验证结果
在这里插入图片描述

2.2 限制root只在安全终端登录

  • 安全终端配置:/etc/securetty
  • tty1~ 6是文本型控制台,tty7 是X Window图形显示管理器。可以通过CtrI+Alt+F1 (F1-F7键) 切换到对应的登录控制台。

实例:禁止root在tty3终端登录
第一步:更改相关配置文件
在这里插入图片描述
第二步:切换至tty3进行测试
在这里插入图片描述
第三步:切换至其他终端进行测试
在这里插入图片描述

2.3 禁止普通用户登录

  • 建立/etc/nologin文件
  • 删除nologin文件或者重启后即恢复正常

1.格式

[root@cheng0307 ~]# touch /etc/nologin			#禁止普通用户登录
[root@cheng0307 ~]# rm -rf /etc/nologin 		#删除后即可恢复

2.禁止普通用户登录系统
第一步:创建/etc/nologin文件
在这里插入图片描述
第二步:使用普通用户进行测试
在这里插入图片描述
第三步:使用root进行测试
在这里插入图片描述

2.4 系统弱口令检测(Joth the Ripper,检测JR)

1.介绍:

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

2.安装JR工具

  • 安装方法 make clean 系统类型
  • 主程序文件为john

3.检测弱口令账户

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

4.密码文件的暴力破解

  • 准备好密码字典文件,默认为psaaword.lst
  • 执行john程序,结合--wordlist=字典文件(有更强大的字典可以使用).

第一步:将john-1.8.0.tar.gz安装包拖入Linux系统内。
在这里插入图片描述
第二步:移动至/opt 然后解压

在这里插入图片描述
第三步:编译安装指定程序
在这里插入图片描述
第四步:添加三个用户并设置简单密码,用于下面测试破解
在这里插入图片描述
第五步:将/etc/shadow 文件复制到/opt下进行暴力破解
在这里插入图片描述
第六步:可以使用--show进行查看破解处的密码
在这里插入图片描述

2.5 网络端口扫描

1.NMAP

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

2.格式:

nmap [扫描类型]  [选项]  <扫描目标>
netstat natp											#查看正在运行的使用TCP协议的网络状态信息
[root@cheng0307 ~]# netstat -natp | grep httpd			#实际操作(httpd换成80也可以)

netstat -naup											#查看正在运行的使用UDP协议的网络状态信息

3.常见的选项

常见的选项选项的作用-p指定扫描的端口。-n禁用反向DNS 解析(以加快扫描速度)-sSTCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。-sTTCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。-sFTCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。-sUUDP扫描,探测目标主机提供哪些UDP 服务,UDP扫描的速度会比较慢。-sPICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。-P0跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描。

4.natstat命令常用选项:

常用选项作用-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。-n以数字的形式显示相关的主机地址、端1等信息。-t查看TCP相关的信息。-u显示UDP协议相关的信息。-p显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)-r显示路由表信息。-l显示处于监听状态的网络连接及端口信息。

5.实例1:开启本机的httpd,然后进行扫描
第一步:查询并安装nmap和httpd程序
在这里插入图片描述
在这里插入图片描述
第二步:开启httpd服务,然后对httpd进行扫描查看网络状态
在这里插入图片描述
实例2:查看本机开放的TCP和UDP端口
在这里插入图片描述
实例3:查看192.168.80.0/24网段内有多少存活主机。
第一步:开启另一台虚拟机进行查看ip地址测试
在这里插入图片描述
第二步:返回原虚拟机进行扫描测试
在这里插入图片描述

实例4:查看192.168.80.0/24网段内有哪些主机提供HTTP服务
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_45551608/article/details/116052610

后台-系统设置-扩展变量-手机广告位-内容正文底部
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:https://jcdi.cn/diannaochangshi/fwq1/717.html

留言与评论(共有 0 条评论)
   
验证码:
后台-系统设置-扩展变量-手机广告位-评论底部广告位

教程弟

https://www.jcdi.cn/

统计代码 | 京ICP1234567-2号

Powered By 教程弟 教程弟

使用手机软件扫描微信二维码