Linux——系统安全

系统安全及应用

  • 账号安全控制
    • 账号安全基本措施
  • 系统引导和登录控制
    • 使用su命令切换用户
    • PAM安全认证流程
      • 认证类型
      • 控制类型
    • Linux中的PAM安全认证
    • PAM认证原理
    • PAM认证的构成
    • 使用sudo机制提升权限
    • 开关机安全控制
    • 终端登录安全控制
  • 弱口令检测
  • 端口扫描

账号安全控制

账号安全基本措施

系统账号清理
1、将非登录用户的Shell设为/sbin/nologin
2、锁定长期不使用的账号
3、删除无用的账号
4、锁定账号文件passwd、shadow
==chattr +i /etc/passed/etc/shadow ==设定文件/etc/passwd、/etc/shadow文件不能被修改、删除、创建链接
==lsattr /etc/passwd /etc/shadow ==查看效果

chattr命令的用法
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
chattr命令不能保护/、/dev、/tmp、/var目录。
密码安全控制
1、设置密码有限期
2、要求用户下次登陆时修改密码
命令历史限制
1、减少记录的命令条数
2、注销时自动清空命令历史

系统引导和登录控制

使用su命令切换用户

用途及用法
用途:Substitute User,切换用户
格式:su-目标用户
密码验证
1、root→任意用户,不验证密码
2、普通用户→其他用户,验证目标用户的密码
限制使用su命令的用户
将允许使用su命令的用户加入sheel组
启用pam_wheel认证模块
vi /etc/pam.d/su
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid

PAM安全认证流程

认证类型

认证管理:接受用户名和密码,进而对该用户的密码进行认证
账户管理:检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间段的限制等
密码管理:主要是用来修改用户的密码
会话管理:主要是提供对会话的管理和记账

控制类型

控制类型也称为Control Flags,用于PAM验证类型的返回结果
1、required 验证失败时仍然继续,但返回Fail
2、requsite 验证失败则立即结束整个验证过程,返回Fail
3、sufficient 验证成功则立即返回,不再继续,否则忽略结果并继续
4、optional 不用于验证,只是显示信息(通常用于session类型)

Linux中的PAM安全认证

su命令的安全隐患
1、默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
2、为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
PAM可插拔式认证模块
1、是一种高效而且灵活便利的用户级别的认证方式
2、也是当前linux服务器普遍使用的认证方式

PAM认证原理

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

PAM认证的构成

查看某个程序是否支持PAM认证,可以用ls命令
示例:查看su是否支持PAM模块认证
ls /etc/pam.d | grep su
查看su的PAM配置文件:cat /etc/pam.d/su
每一行都是一个独立的认证过程
每一行可以区分为三个字段
认证类型
控制类型
PAM模块及其参数

使用sudo机制提升权限

su命令的缺点
sudo命令的用途及用法
用途:以其他用户身份(如root)执行授权的命令
用法 :sudo授权命令
配置sudo授权
visudo或者vi /etc/sudoers
记录格式:用户 主机名列表=命令程序列表
查看sudo操作记录
需启用Defaults logfile 配置
默认日志文件: /var/log/sudo
查询授权的sudo操作
sudo -l

开关机安全控制

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

GRUB限制
1、使用grub2-mkpasswd-pbkdf2生成密钥
2、修改/etc/grub.d/00_header文件中,添加密码记录
3、生成新的grub.cfg配置文件

终端登录安全控制

限制root只在安全终端登录
安全终端配置:/etc/securetty
禁止普通用户登录
建立/etc/nologin文件
touch /etc/nologin
删除nologin文件或重启后即恢复正常
rm-rf /etc/nologin

弱口令检测

系统弱口令检测
Joth the Ripper,简称为JR
1、一款密码分析工具,支持字典式的暴力破解
2、通过对shadow文件的口令分析,可以检测密码强度
3、官方网站:http://www.openwall.com/john/

命令:

tar zxvf john.tar.gz
cd john-1.8.0
cd src
make clean linux-x86-64 执行编译文件
ls . ./run/john 查看是否生成john程序
cp /etc/shadow /root/shadow.txt 复制密码文件
cd ../run
./john  /root/shadow.txt 破译账户弱密码
./john --show /root/shadow.txt 查看已破译出的账户列表

端口扫描

NMAP
1、一款强大的网络扫描、安全检测工具
2、官方网站:http://nmap.org/
3、CentOS 7.3光盘中安装包 nmap-6.40-7.el7.x86_64.rpm
NMAP的扫描
nmap[扫描类型][选项]<扫描目标…>
rpm -ivh /mnt/Packages/nmap-xxx.rpm 安装nmap软件包

常用的扫描类型
Linux——系统安全_第1张图片

你可能感兴趣的:(Linux——系统安全)