ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

账号安全基本措施

2021-05-18 22:29:49  阅读:205  来源: 互联网

标签:措施 命令 etc 账号 用户 su 安全 root PAM


账号安全基本措施

● 系统账号清理

  • 将非登录用户的Shell设为/sbin/nologin
  • 锁定长期不使用的账号
  • 删除无用的账号
  • 锁定账号文件passwd、shadow
[root@localhost~]# chattr-i /etc/passwd /etc/shadow      解锁文件井查看状态
[root@localhost~]# Isattr /etc/passwd /etc/shadow
 ---------------/etc/passwd
 ---------------/etc/shadow'

在这里插入图片描述
得出结论,由于/etc/passwd和/etc/shadow都存放的用户账号信息,所以两个缺一不可,少一个都无法创建用户与更改密码

● 密码安全控制

chage -M 日期 用户               设置用户密码有效期
chage -E xxxx-xx-xx             设置过期日期

在这里插入图片描述

  • 设置密码有效期
  • 要求用户下次登录时修改密码
[root@localhost~]# vi /etc/login.defs   适用于新建用户
 ......
 PASS_MAX_DAYS 30   适用于已有用户
[root@localhost~]# chage-M 30 lisi

[root@localhost~]# chage-d 0 zhangsan强制在下次登录时更改密码

在这里插入图片描述

  • 强制下次登陆更换密码
chage -d 0 用户                    强制在下次登陆时更改密码               
cat /etc/shadow | grep 用户        shadow文件中的第三个字段被修改为0

● 命令历史限制

  • 减少记录的命令条数
    /etc/profile这个文件是系统全局变量配置文件,可以通过重启系统或者执行source /etc/profile命令使文件被读取重载。
[root@localhost ~]# vi /etc/profile              #编辑全局变量配置文件    
export HISTSIZE=200                              #输入export HISTZIZE=200
[root@localhost ~]# source /etc/profile          #相当于使/etc/profile内的命令重载一遍
  • 登陆时自动清空历史命令
    ~/.bashrc文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行
echo " " > ~/.bash_history       

配置文件,:vim /etc/profile(对全局配置):查看缓存多少条的bash
默认缓存1000条历史命令
在这里插入图片描述

● 终端自动注销

  • 闲置600秒后自动注销
vi /etc/profile        #编辑全局变量配置文件
export TMOUT=600       #输出timeout=600

● 常用选项

chage
设置账号的属性以及查看
chage -l usrname:查看用户的账户信息
chage -h:查看帮助
chage -d 0 usrname:比较特殊,表示下一次登录必须修改用户密码

在这里插入图片描述

使用su命令切换用户

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

  • 密码验证
    ①root→任意用户,不验证密码
    ②普通用户→其他用户,验证目标用户的密码

[jerry@localhost ~]$ su - root    带-选项表示将使用目标用户的登陆Shell环境
口令:
[root@localhost ~]# whoami
root

限制用户使用su命令
①将允许使用su命令的用户加入wheel组
②启用pam_wheel认证模块

●su命令具有安全隐患:
su命令使得每个用户都具有反复尝试其他用户的登陆密码,若是root用户,则风险更大。
所以需要加强su命令的使用控制,可以借助PAM认证模块,仅允许极个别指定用户可使用su命令进行切换。

[root@localhost ~]# gpasswd -a admin wheel              
将用户“admin”加入到whell组中

在/etc/pam.d/su文件里设置禁止用户使用su命令

vim /etc/pam.d/su
在这里插入图片描述
【1】以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。

【2】两行都注释也是允许所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码
(pam_rootok.so模块的主要作用是使uid为0的用户,即 root用户能够直接通过认证而不用输入密码)

【3】如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令。

【4】如果注释第一行,开启第二行,表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令。

linux中的PAM安全认证

◾ su命令的安全隐患

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

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

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

◾ 查看su操作记录

安全日志文件:/var/log/secure

PAM认证原理

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

PAM安全认证流程

认证流程四个过程

  • 程序开始
  • 验证开始
  • 验证结束
  • 程序后续动作
    认证流程的四个状态
  • required:验证失败也继续下一步,走完四个流程–>验证结束
  • requisite:验证失败直接–>验证结束
  • sufficient:验证失败也继续下一步,走完流程
  • optional:不论失败成功,已经是最后一个流程,–>验证结束
    在这里插入图片描述

使用sudo机制提权

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

1、配置sudo授权

● visudo或者vi /etc/sudoers(此文件的默认权限为 440,保存退出时必须执行“:wq!”命令来强制操作)

在这里插入图片描述

2、语法格式

用户 主机名=命令程序列表
用户 主机名=(用户) 命令程序列表

①用户:直接授权指定的用户名,或采用“%组名”的形式(授权一个组的所有用户)。

②主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机

③(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令

④命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号“,”进行分隔。ALL则代表系统中的所有命令

3、别名创建

用户别名 User_Alias
主机别名 Host_Alias
命令别名 Cmnd_Alias

开关机安全控制

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

系统弱口令检测

操作步骤

cd /opt                                  
tar zxvf john-1.9.0.tar.gz               #解压工具包 
yum -y install gcc gcc-c++ make          #安装软件编译工具 

cd /opt/john-1.9.0/src
make clean linux-x86-64                  #切换到src子目录,进行编译安装

cp /etc/shadow /opt/shadow.txt           #准备待破解的密码文件
 
cd /opt/john-1.9.0/run                   
./john /opt/shadow.txt                   #切换到run子目录,执行暴力破解

./john --show /opt/shadow.txt            #查看已破解出的账户列表

网络端口扫描

NMAP

  • 是一个强大的端口扫描类安全评测工具,支持 ping 扫描、多端口检测等多种技术

  • 官方网站:http://nmap.org/

  • 安装 NMAP 软件包

mount /dev/sr0 /mnt       #先进行本地磁盘挂载
yum install -y nmap       #然后安装nmap软件包

命令常用选项与对应扫描类型

nmap [扫描类型][选项] <扫描目标...>
-sU ip地址:扫描udb端口
-sP:p相当于ping
-P:只ping 检查主机是否存活,后面跟ip地址-机器数;1-30或者245.0-24/表示一个网段的30/255台机器都扫描
-sP -n:加速ping
-n:加速;不进行域名解析增加速度
-P0 :扫描之前不建立三次握手连接,即不操作ping,直接扫描
-A:扫描显示的非常完全 
-sS:只执行两次握手,没有最好一次握手(确认过程);S:syn的缩写
-sT:完整的三次握手过程,扫描TCP
-sF:只检测FIN包
-p 端口号 IP地址:指定端口扫描

标签:措施,命令,etc,账号,用户,su,安全,root,PAM
来源: https://blog.csdn.net/niu0426/article/details/116901360

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有