系统安全:
保护数据安全:组织和个人进入互联网行业必须要有的基础设施之一
客户数据 财务信息 知识产权
法律法规:法律要求组织和个人必须具备保护网络安全和信息安全,以及系统安全的资质
保护品牌形象:数据泄露,安全漏洞
linux的账号安全防护
账号安全:
锁定长期不使用的账号
passwd -l 用户名
passwd -u 用户名
usemod -L 用户名
usemod -U 用户名
把账号设置为非登录用:
usermod -s nologin 用户名
删除无用的账号
userdel -r 用户名删除无用账户
密码的安全控制:
从密码的有效期来进行控制
新建用户的密码有效期控制
vim /etc/login.defs
25 PASS_MAX_DAYS 30 #后面的天数改掉
限新建用户,对已有用户不受影响
对已有用户的密码有效期进行修改:
chage -M 30 dn
锁定重要文件:
passwd shadow fstab
isattr /etc/passwd 查看文件的状态
chattr +i /etc/shadow 锁定文件,不能会文件内容进行任何操作
chattr -i /etc/shadow 解除锁定
httpd nginx
历史命令进行限制
history -c临时清除历史记录
vim /etc/profile
HISTSIZE=80
sourcre /etc/profile
设置登录的超时时间
vim /etc/profile
在配置文件添加内容一律在最后一行,不要再文本中间添加
TMOUNT=30 (秒)
sourcre /etc/profile
禁止用户进行账号切换:
PAM认证 su 切换靠的就是PAM认证
wheel组
group组是一样的
wheel组的作用就是用来控制系统管理员的访问权限
一旦加入wheel组,可以被授权使用一些系统管理员才能够使用的访问命令和文件。
sudo 就是授权方式 这个必须要加入wheel组,还需要其他的配置
wheel默认为空,需要管理员手动添加用户,配置相应的sudo访问规则
配置的时候一定要注意,配置的时候有限放开原则
vim /etc/pam.d/su
第六行取消注释
wq!
gpasswd -a dn wheel #放开权限的用户
PAM安全认证
提供了一种标准的身份认证的接口,允许管理员定制化配置各种认证配置和方法
可插拔式的认证模块
PAM的认证模块有四个不同的类型:
认证模块:用于验证用户的身份,基于密码来对用户身份进行验证
授权模块:控制用户对于系统资源的访问权限,文件权限 进程权限等
账户管理模块:管理用户的账户信息 ,密码策略,账户锁定策略
会话管理模块:管理用户的会话,记录会话信息,注销用户会话,远程终端连接
service(服务) PAM(配置文件) pam *.so
su 这个程序----匹配pam.d目录下的配置文件----su
su -- pam.d 找配置文件-------su--------lib64/security-----调用认证模块
ls /etc/pam.d #配置文件
ls /lib64/security # 认证模块的位置
system-auth 系统的认证配置文件 管理用户登录 密码认证 账号授权等相关的策略
第一列:type类型
第二列:控制位
第三列:PAM模块
type类型
auth:用户身份认证 基于密码
account:账户有效性 限制/允许用户访问某个服务,限制用户的登陆位置
root 只能从控制台登录,必须输入密码
passwd:用户修改密码时,对密码的机制进行校验。
session:会话控制,最多能打开的文件数,最多能打开的进程数
控制位:
required:一票否绝 这个模块在认证中必须返回成功才能通过认证,但是如果认证返回失败,继续向下认证,失败结果不会通知用户,所有type中的模块全部认证完毕,最后再把结果反馈给用户
requisite:一票否绝 必须返回成功才能通过认证,一旦返回失败不会再向下执行其他模块,而时直接结束。
sufficient:一票通过 如果返回成功 表示通过了身份认证的要求。不会在执行同一类型的相同模块
如果返回失败,忽略,继续执行同一类型中的其他模块
equired和requisteoptional:可选模块,即便返回失败,也可以忽略。
include:可选项,调用其他配置文件中自定义的配置
optional:可选项
sudo 机制:
sudo 授权普通用户可以使用管理员的命令和文件
ifconfig ens33:0 192.168.233.100/24 添加虚拟网卡
和网卡在同一网段,0表示虚拟网卡编号,添加多个的时候不要重复
vim /etc/sudoers
dn ALL=(root) /sbin/ifconfig
dn这个普通用户可以和root一样拥有管理员权限,但是只限于ifconfig命令
限制一些命令,即使用户在wheel组,也不可以使用sudo进行操作
reboot poweroff init rm
开关机的安全控制
grub菜单加密
grup2-setpassword
总结
1、账号控制:4种
passwd -l
usermod -L
userdel -r 删除
密码控制
vim /etc/login.defs:只对新用户生效,老用户没有效果
锁定重要文件
passwd shadow fstab
chattr +i
-i
lsattr #查看文件状态
修改history
history -c 临时清除
vim /etc/profile
HISSIZE=1000 80
远程连接超时时间
vim /etc/profile
在文件内容的最后一行添加
TMOUNT=15
限制用户切换
su
vim /etc/pam.d/su
把第六行取消注释
所有的普通用户都将不能切换用户,无法使用su命令
gpasswd -a dn wheel
加如wheel组的用户才可以切换
sudo机制
dn ALL=(root) /bin/ifconfig
这个时候权限虽然放开了,但是还要输入密码
系统安全加固面试题
你做过哪些系统加固,系统安全?
1、账号和密码进行安全加固
账号锁定,密码锁定
定期修改密码
2、修改历史记录的保存数目
3、sudo的机制,在配置普通用户拥有sudo权限的时候,进行有限开放的原则,需要哪些就给那些
4、grup菜单编辑加密
5、可以通过弱口令检测工具,巡检当中的简单密码,然后修改掉,保证账号安全
6、锁定重要文件,/etc/passwd /etc/shadow /etc/fatab niginx.conf httpd.conf 重要的配置文件或者系统文件,进行锁定 chatt +i 锁定问件,防止误操作
7、强化密码策略,把木马设置复杂一点
8、配置防火墙策略
9、定期备份
10、系统定期更新,修复系统中的漏洞
11、安装杀毒软件
12、改掉一i额大家都知道的服务端口 httpd nginx 80 ssh 22 10022 mysql 3306 33006
13、设置日志文件的权限,只有管理员可以读,其他用啥也没有用
14、禁止普通用户切换到root用户
网络扫描工具:NMAP
可以进行网络扫描 安全检测
-p:扫描端口
-sT:扫描tcp连接
-sU:扫描UDP连接
-n:禁用反向DNS解析、
正向:域名解析程IP地址
反向:ip地址解析哼域名
-sP:ICMP扫描 和ping是一样的,快速判断主机是否存活
nmap -p 80 192.168.233.0/24
扫描80端口,查询整个网段
http:超文本传输协议1.1版本
打开网页都是http协议
https:加密的超文本传输协议 443
查看网段中存活的主机
nmap -n -sP 192.168.233.0/24
查看本机开放的tcp或者udp端口
nmap -sT 127.0.0.1 或者192.168.233.10 查看tcp
nmap -sU 127.0.0.1 查看本机的udp端口