安全
账号安全
1将用户设置为无法登录
利用chsh -s 将用户的shell更改为/sbin/nologin
[root@localhost ~]# useradd aa
[root@localhost ~]# tail -1 /etc/passwd
aa:x:1002:1002::/home/aa:/bin/bash
[root@localhost ~]# chsh -s /sbin/nologin aa
Changing shell for aa.
Shell changed.
[root@localhost ~]# tail -1 /etc/passwd
aa:x:1002:1002::/home/aa:/sbin/nologin
2锁定用户
使用命令passwd -l 用户名 来锁定用户密码
[root@localhost ~]# passwd -l asdjkl
锁定用户 asdjkl 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -u asdjkl
解锁用户 asdjkl 的密码。
passwd: 操作成功
3删除账户
定期删除不用的账户以防其他人通过不用的账户登录服务器修改数据
4锁定配置文件
配置文件内有系统的基本配置,若其他人通过打开配置文件。修改配置文件来更改系统 ,从而使服务器系统文件破坏。
密码安全控制
通过定期修改密码来保护服务器安全
passwd #来更改登录用户密码
[root@localhost ~]# tail -5 /etc/shadow
#修改密码有效期限,促使用户定期 修改密码
对于新建用户
可以修改 /etc/login.defs 文件里的内容来设置密码规则从而 促使用户修改密码
tail -5 /etc/shadow 修改密码有效期限
chage [选项] 用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
[root@localhost ~]# chage -M 30 aa
[root@localhost ~]# cat /etc/shadow|tail -1
aa:!!:19831:0:30:7:::
[root@localhost ~]# chage -d 0 aa
切换用户
su命令即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令
[root@localhost ~]# su asdjkl
[asdjkl@localhost root]$ su root
密码:
[root@localhost ~]#
PAM相关文件
PAM(可插拔认证模块)将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。
1.作用
提供不同 的插件来提供
2.认证原理
认证顺序Service(服务)-----PAM(配置文件)------pam_*.so
3.认证的构成
查看su的PAM配置 文件
[root@localhost ~]# cat /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth substack system-auth
auth include postlogin
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session include postlogin
session optional pam_xauth.so
4.认证的类型
(1)认证管理
对用户的密码进行管理和认证
(2)账户管理
检查账户是否被允许登录系统,账户是否过期,账户的 登录时间限制
(3)密码管理
修改用户的密码
(4)会话管理
提供对会话的管理和记帐
5.控制类型
required:无论验证失败或成功仍然继续,但错误输出结果不变
requisite:验证失败则立即结束整个验证过程
sufficient:验证成功 则立即返回,不再继续,否则忽略结果并继续
optional:不用于验证,只是显示信息
sudo
通过sudo命令授权用户使用某些命令
sudo 的配置文件所存放的位置默认是在/etc/sudoers,属性必须为0440,除了超级管理员以外的都不可以更改
[root@localhost ~]# vim /etc/sudoers
## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
##
## Examples are provided at the bottom of the file for collections
## of related commands, which can then be delegated out to particular
## users or groups.
##
## This file must be edited with the 'visudo' command.
-------------------------------------------------------------------------------------
aa@localhost root]$ vim /etc/sudoers
~
~
~
~
~
~
"/etc/sudoers" [权限不足]
通过vim /etc/sudoers或visudo进入配置文件中
[root@localhost ~]# visudo
.....
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL #在这行下添加sudo 的命令
lisi ALL= /usr/bin/mount /dev/sr0 /mnt/
用户名 登录主机 (代表用户) 执行的命令
添加成功后示列:
[root@localhost ~]# su lisi
[lisi@localhost root]$ mount /dev/sr0 /mnt/
mount: 只有 root 能执行该操作
[lisi@localhost root]$ sudo mount /dev/sr0 /mnt/
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] lisi 的密码:
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt 忙
/dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
/dev/sr0 已经挂载到 /mnt 上
子目录
在/etc/sudoers.d/下建立子目录
grub 加密
Linux中在进入系统时可以通过e键进入grub界面
在grub界面可以强制更改系统指令,有危害系统安全的情况,所以通过对grub加密进行安全防护
定义每个菜单项的所有脚本都存放在/etc/grub.d目录中
文件 | 描述 |
---|---|
00_header | 设置grub默认参数 |
10_linux | 系统中存在多个linux版本 |
20_ppc_terminfo | 设置tty控制台 |
30_os_prober | 设置其他分区中的系统(硬盘中有多个操作系统时设置) |
40_custom和41_custom | 用户自定义的配置 |
暴力破解密码
[root@localhost ~]# cd data
[root@localhost data]# rz -E #将文件下载下来
rz waiting to receive.
[root@localhost data]# ls
john-1.8.0.tar.gz
[root@localhost data]# tar xf john-1.8.0.tar.gz
#解压工具包
[root@localhost data]# ls
john-1.8.0 john-1.8.0.tar.gz
[root@localhost data]# cd john-1.8.0/
[root@localhost john-1.8.0]# yum install -y gcc gcc-c++ make
#安装软件编译工具
[root@localhost john-1.8.0]# ls
doc README run src
[root@localhost john-1.8.0]# cd src
#切换到src子目录
[root@localmake clean linux-x86-64
#进行编译安装
[root@localcp /etc/shadow /opt/shadow.txt
#准备待破解的密码文件
[root@localhost ~]# cd /root/data/john-1.8.0/run
#切换到data/john-1.8.0/run下
[root@localhost run]# ./john /opt/shadow.txt
#执行暴力破解,需要等待时间,密码越简单速度越快
Loaded 3 password hashes with 3 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
123 (lisi)
123 (asdjkl)
123 (root)
3g 0:00:00:23 100% 2/3 0.1279g/s 378.4p/s 386.6c/s 386.6C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed
链接:https://www.cnblogs.com/zhj0708/p/18152009
(版权归原作者所有,侵删)