系统安全

目录:
 
 
账号基本安全措施:系统账号清理、密码安全控制、命令历史清理、自动注销
 

为文件设置密码:

grub2 -setpassword
设置后 进入单用户会要求输入密码:
0

系统账号清理:

将非登录用户的shell设为/sbin/nologin
锁定长期不适用的账号
删除无用的账号
锁定账号文件passwd、shadow
chatter 锁定配置文件

 

 

锁定后能读不能改
解锁: +i换成-i
0
0
last查看用户最后登录时间
 

密码安全控制

1、设置密码有效期 2、要求用户下次登录时修改密码
新建用户:
vim /etc/login.defs
0
对于已有用户可以使用chage命令
chage
chage 选项 用户
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期
-d 0
chage -d 0 abc //abc用户下次登录改密码
强制改密码:先输的是当前密码,之后是更改密码
 

命令历史限制

历史默认记录1000条

临时生效:

history -c

永久更改:

vim /etc/profile
//在HISTSIZE那改,并且前面加export和空格
export HISTSIZE=200
其中200是变量,可以根据自己的需要更改
0
为什么export:在当前文档设置 只对这个文档设置,加入export对所有的文档都生效
 

开机后清除历史命令

.bashrc 开机后会自动 执行此文件中的命令
.bash_logout 登出会自动执行此文件里的内容
history的命令实际上是存在.bash_history
可以在.bashrc和bash_logout那设置
vim ~/.bash_logout //关机清除
echo " " >~/.bash_history (关机清除实验后没有变化不知道为什么)
vim ~/.bashrc //开机清除
echo " " >/~/.bash_history (这个成功了)
0
0
设置长时间未使用进行登出:
vim /etc/profile
export TMOUT=30s (30s后退出)
source /etc/profile //刷新一下
 

su命令切换用户

可以无限试su(容易被黑客试密码)
格式:su -目标用户 直接su就是切换到root
有无-的区别是,加了-,连你的bash环境也切换,比如root切普通用户,你还是在root目录,加了-,那你目录也自动切成普通用户,完整的切换。
0
0
密码验证:
root切任意用户不用密码
普通用户切其他用户要密码
 
限制使用su命令的用户
将允许使用su命令的用户加入wheel组
gpasswd -a a wheel
0
启用pam_wheel
vim /etc/pam.d/su
更改的是第二和第六行,给他们+上#
2 # auth sufficient pam_ rootok.so
6 #auth required pam_ wheel.so use_ _uid
 
a)以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
b)两行都注释也是允许所有用户都能使用su命令,但root'下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
c)如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令
d)如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
0
0
wheel 组 在linux中是超级管理员组
加到超级超级管理员组
gpasswd -a zhangsan wheel
 
 

PAM认证

PAM 只关注如何为服务验证用户的 API,通过提供一些动态链接库和一套统一的API 接口,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序一种认证框架,自身不做认证。
一般遵循的顺序:Service(服务)→PAM(配置文件)→pam_*.so
rpm -qi pam 查看当前pam模块
相关文件:
包名: pam
模块文件目录:/lib64/security/*.so
特定模块相关的设置文件:/etc/security/
应用程序调用PAM模块的配置文件:/etc/pam.d/APP_NAME
  1. 主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置
  2. 为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME
  3. 注意:如/etc/pam.d存在,/etc/pam.conf将失效
auth身份认证 account有效期 passwd密码规则 session会话 control控制
control:
required 一旦失败,立即返回,最后给结果
requisite 一旦失败立即返回
sufficient 一旦成功立刻返回
option 可选项
开发出很多程序 许多功能 是所有程序都需要有的
第一步: 先确定你要什么服务程序
 
pam_securetty.so 模块
功能:只允许root用户在/etc/securetty列出的安全
 
 

sudo

特性:
sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440
 
root ALL=(ALL) ALL
使用命令的用户 主机名=谁的身份执行(不写默认root) 路径(使用绝对路径)
用途:以其他用户身份执行授予权限
0
配置sudo授权
visudo 有纠错提示,推荐使用 -c检查
vim /etc/sudoers 无提示,有的需要强制选项,不推荐
格式:
用户 主机名列表 = (代表用户) 命令程序
user host runas command
root ALL = (root)
lisi ALL = /usr/bin/mount(这个是命令,写的是绝对路径) /dev/sr0 /mnt(挂载到哪里,如果你不写,就是随便挂)
写完后:
sudo mount /dev/sr0 /mnt (写的要和上面写的一样,不能少1个符号)
user: 运行命令者的身份
host: 通过哪些主机 多个 192.168.91.100 - 110 localhost
(runas):以哪个用户的身份 不写默认是以root身份运行
command: 运行哪些命令 支持通配符 !是取反
command中如果有多个命令,在后面的优先级高
多个命令:lisi ALL=(root) /usr/bin/mount /dev/cdrom /mnt/,/usr/bin/mount /mnt/
可以对组进行操作:%wheel ALL=(ALL) ALL
 
可以有子配置文件:注意权限一样,是440,防止别人修改,子配置文件位置/etc/sudoers/test(随便 取,这里是test)(你直接visudo修改文件,太多人改了,可以额外的弄个子配置文件)
vim /etc/sudoers/test
123123 ALL= /usr/sbin/reboot (不知道reboot路径可以which reboot)
0
visudo -c
权限要和 /etc/sudoers一样
0
0
切换到123123用户
sudo reboot
0
 
%:组
User和runas:
username(用户名)
#uid(id号)
%group_name(组名)
%#gid(组id)
 
root ALL=(ALL) ALL 有意义,黑客可以建root的用户来行使权限,尽管这个root是普通用户
小心*背刺,*代表任意,有时候后面跟陆续的命令也算是*里面的,这样那个用户等于
sudo -l 可以看sudo的操作日志
 

别名

种类:
User_Alias(用户)
Runas_Alias(代表用户)
Host_Alias(登录主机)
Cmnd_Alias(命令)
cd /etc/sudoers.d/
0
可以用数字,但是必须先在后面。必须大写字母
MYUSER MYHOST=NOPASSWD:MYCMD
 
暴力破解
系统弱口令破解
JR:
安装:make clean 系统类型
 
网络端口扫描
NMAP:yum install nmap -y
 
 

安全加固

shadow passwd /etc/fstab +i 锁定重要文件比如这里的fstab
尽量使用非登录用户来 shell→ /sbin/nologin
设置密码有效期
设置grub密码
sudo 提权时尽量给最小的
尽量不要使用root用户
清空历史命令 尽量缩短记录历史命令的条数
修改端口
bios引导 关闭除了硬盘启动外的(光驱 udisk)
 
posted @ 2022-10-23 01:17  七分人格  阅读(210)  评论(0编辑  收藏  举报