[if !supportLists]第17章 [endif]密-非对称加密-md5-数字证书
本节所讲内容:
17.1 Linux系统安全概述-su-sudo授权
17.2 pam认证机制概述
17.3 对称加密-非对称加密方法
17.4 md5-sha1-哈希算法使用方法
17.5 CA证书的作用
本节所使用实验环境:RHEL 7 (如有使用RHEL 6,会特别注明)
17.1 Linux系统安全概述-sudo授权
17.1.1 Linux第三阶段资深知识整体概述:
/安全、稳定
/可用性-网络(协议)
/ \易用、易维护
/ \系统调优 (高性能、低成本)
应用/服务
\
\ /要想性能提升:硬件升级
\扩展性 -集群
\存储
\云/虚拟化
常见攻防手段:
1. 防防范手段整体分两部分
/技术
防范手段
\法规(规章制度)社会工程学
技术层面:
/OS漏洞
/1.系统安全-密码验证
|\权限
|/程序的配置文件(如ftp的黑白名单 samba的...)
安全意识< 2.服务安全-防火墙iptables
|\TCP wrapper
|\程序漏洞 例:nginx 0day 漏洞
|
|/攻击、防范方法
\3.网络安全-用户验证
\伪装截获
1 ) 进入到图形界面
[root@xuegod1 ~]# authconfig-tui
2 ) [root@xuegod1 ~]# ls /etc/passwd*
/etc/passwd /etc/passwd-
3 ) system-config-authentication 用户 密码配置 // 如果没有此命令需要安装
查看是否一样
[root@xuegod1 ~]# diff /etc/passwd /etc/passwd-
45d44
< nginx:x:1001:1001::/home/nginx:/sbin/nologin
密码:/etc/shadow- 是/etc/shadow 文件备份
查看是否一样:
[root@xuegod63 ~]# diff /etc/shadow /etc/shadow-
[root@xuegod63 ~]# diff /etc/passwd /etc/passwd-
或
[root@xuegod63 ~]# vimdiff /etc/passwd /etc/passwd-
密码加密技术:
RHEL5 使用 MD5 对/etc/shadow中密码加密
RHEL6 使用sha512对/etc/shadow中密码加密
查看是用哪一种来加密的
[root@xuegod1 ~]# grep shadow /root/anaconda-ks.cfg
auth --enableshadow --passalgo=sha512
17.1.3 授权 su /sudo 权限
/su - root
su - 必须知道root的密码
\ 拥有root用户权限
/ 不需要知道root密码
sudo - 仅拥有授权的用户权限
\ 配置简单
17.1.4
sudo 是在不切换用户的情况下,以其他用户的身份执行一个命令。它能够限制指定用户在指定的主机上运行某些指定的命令。
/etc/sudoers是sudo命令的配置文件
打开配置文件
[root@xuegod1 ~]# vim /etc/sudoers
sudo都提供了一个编辑该文件/etc/sudoers的命令:visudo来对该文件/etc/sudoers进行修改。使用visudo命令修改sudoers配置,因为它会帮你校验文件配置是否正确,如果不正确,在保存退出时就会提示你哪段配置出错的。
在bin 下有很多命令
方法2 直接编辑 /etc/sudoers
vim /etc/sudoers
[root@xuegod1 ~]# groupadd stu 创建用户组
[root@xuegod1 ~]# useradd -g stu liv 添加到liv
[root@xuegod1 ~]# useradd -g stu poppy 添加用户到stu
[root@xuegod1 ~]# echo 123456 | passwd --stdin liv 设置交互密码
更改用户 liv 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@xuegod1 ~]# echo 123456 | passwd --stdin poppy
更改用户 poppy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
切换用户
[liv@xuegod1 ~]$ fdisk -l 打不开
fdisk: 打不开 /dev/sr0: 权限不够
fdisk: 打不开 /dev/sda: 权限不够
2 让liv 具有root的权限
修改配置文件
sudo -k 锁上密码
在添加几个命令
[root@xuegod1 ~]# visudo
在末尾添加
表示不适用密码
,NOPASSWD:/usr/bin/systemctl,/usr/sbin/lsof,/usr/sbin/service,/usr/sbin/ifconfig,/usr/bin/mount
[liv@xuegod1 ~]$ sudo mount /dev/cdrom /opt/
mount: /dev/sr0 写保护,将以只读方式挂载
pam 认证机制
进入配置文件中
[root@xuegod1 etc]# vim /etc/pam.d/su
查看pam 的模块
[root@xuegod1 ~]# ldd /bin/login | grep pam
libpam.so.0 => /lib64/libpam.so.0 (0x00007f9bb13d4000)
libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x00007f9bb11d0000)
可以查看到pam 相关的库,说它支持pam 支持
查看用户和多少位的
[root@xuegod1 ~]# uname -a
17.2.1 pam 模块位置
[root@xuegod1 ~]# ls /lib64/security/
相关的配置文件
[root@xuegod1 ~]# ls /lib64/security/pam_access.so
/lib64/security/pam_access.so
[root@xuegod1 ~]# ls /etc/security/access.conf
ls /etc/security/access.conf
例:[root@iZ25b6alxstZ ~]# vim /etc/pam.d/sshd #每个服务器的pam配置文件一般以服务名开头
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
# Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
[root@xuegod1 ~]# vim /etc/pam.d/login
添加
[root@xuegod1 ~]# ls /lib64/security/pam_access.so
/lib64/security/pam_access.so
[root@xuegod1 ~]# ls /etc/su
subgid subuid subversion/ sudo.conf sudoers sudoers.d/ sudo-ldap.conf
[root@xuegod1 ~]# ls /etc/security/access.conf
/etc/security/access.conf