Linux系统安全及应用

目录

一、系统账号清理

二、chattr命令的用法

三、密码安全控制

四、命令历史限制

五、使用su命令切换用户

六、密码验证

七、限制使用su命令的用户

八、PAM安全认证流程

九、PAM验证的构成

十、PAM认证原理

十一、su命令的安全隐患

十二、PAM可插拔式认证模块

十三、使用sudo机制提升权限

十四、GRUB限制

十五、限制root只在安全终端登陆

十六、禁止普通用户登陆

十七、Joth the Ripper,简称JR


一、系统账号清理

1、将非登录用户的shell设为/sbin/nologin;

2、锁定长期不使用的账号;

3、删除无用账号;

4、锁定账号文件passwd,shadow

 

二、chattr命令的用法

1、“+”:在原有参数设定基础上,追加参数;

2、“-”:在原有参数设定基础上,移除参数;

3、“=”;更新为指定参数设定。

 

“A”:文件或目录的atime(access time)不可被修改(modified),可以有效预防例如手提电脑,磁盘I/O错误的发生;

“S”:硬盘I/O同步选项,功能类似sync;

“a”:即append,设定参数后,只能向文件中添加数据,而不能删除,多用来服务器日志文件安全,只有root才能设定这个属性;

“c”,即compresse,设定文件是否经压缩后再存储,读取时需要经过自动解压操作;

“d”:即no dump 设定文件不能成为dump程序的备份目标;

“i”:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对文件系统的安全设置有很大帮助;

“j”:即journal,设定此参数使得当通过mount参数:data=ordered或者data=writeback挂载的文件系统,文件在写入时会被记录(在journal中)。如果filesystem被设定参数为data=journal,则该参数自动失效;

“s”:保密性地删除文件或者目录,即硬盘空间被全部收回;

“u”:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。

 

各参数选项中常用到的是“a”和“i”。“a”选项强制只可添加不可删除,多用于日志系统的安全设定,而“i”是更为严格的安全设定,只有superuser(root)或具有CAP_Linux_IMMUYABLE处理能力(标识)的进程能够施加该选项。

 

chattr命令的应用举例:

1、设定文件/etc/passwd /etc/shadow文件不能被修改、删除、创建链接并验证

Linux系统安全及应用_第1张图片

2、解锁并yanzheng

 

三、密码安全控制

1、设置密码有效期;

2、要求用户下次登陆修改密码。

 

vi /etc/login.defs

……

PASS_MAX_DATS 30

(适用于新建用户)

 

chage –M 30 aaa  (适用于已有用户)

 

chage –d 0 aaa (强制在下次登录时更改密码)

Linux系统安全及应用_第2张图片

 

四、命令历史限制

1、减少记录的命令条数;

vi /etc/profile

HISTSIZE=200

 

2、注销时自动清空历史命令。

vi ~/.bash_logout

history -c

clear

 

history –c

该命令可以清空本次登入的所有输出命令,但不清空.bash_history文件,所以下次登陆后,旧命令还将出现,历史命令是存在于当前用户根目录下的./bash_history文件。

 

echo > $home./bash_history 

每个用户根目录下都有一个.bash_history文件用于保存历史命令,当每次注销时,本次登陆所执行的命令将被写入该文件。所以可以直接清空该文件,下次登录上次保存的命令将消失,清空效果将在下次登陆生效。

 

五、使用su命令切换用户

1、用途:Substitute User 切换用户;

2、格式:su  目标用户

 

六、密码验证

1、root——任意用户  不验证密码;

2、普通用户——其他用户  验证目标用户的密码。

 

七、限制使用su命令的用户

1、将允许使用su命令的用户加入wheel组;

2、启用pam_wheel认证模块。

 

八、PAM安全认证流程

控制类型也称做Control Flags,用于PAM验证类型的返回结果。

1、required验证失败时仍然继续,但返回Fail;

2、requisite验证失败时立即结束整个验证过程,返回Fail;

3、sufficien验证成功则立即返回,不再继续,否则忽略结果并继续;

4、optional不用于验证,只显示信息(通常用于session类型)

Linux系统安全及应用_第3张图片

 

九、PAM验证的构成

1、看某个程序是否支持PAM认证,可以用ls命令

例:查看su是否支持PAM模块认证

Linux系统安全及应用_第4张图片

 

2、查看su的PAM配置文件

Linux系统安全及应用_第5张图片

1、每一行都是一个独立的认证过程;

2、每一行可以区分为三个字段

认证类型,控制类型,PAM模块及其参数

 

PAM认证类型包括四种:

认证管理(authentication management):接受用户名称和密码,进而对该用户的密码进行认证;

账号管理(account management):检查账户是否被允许登陆系统,账号是否已经过期,账号的登陆是否有时间段的限制等;

密码管理(password management):主要用来修改用户的密码;

会话管理(session management):主要是提供对会话的管理和记账。

 

十、PAM认证原理

1、一般遵循的顺序:

Service(服务)——PAM(配置文件)——pam_*.so

2、首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证

3、用户访问服务器时,服务器的某一服务程序把用户的请求发送到PAM模块进行认证

4、不同的应用程序所对应的PAM模块是不同的

 

 

十一、su命令的安全隐患

1、默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登陆密码,带来安全风险;

2、为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换。

 

十二、PAM可插拔式认证模块

1、是一种高效而且灵活便利的用户级别的认证方式;

2、也是当前Linux服务器普遍使用的认证方式。

 

十三、使用sudo机制提升权限

1、sudo命令的用途及用法

(1)、以其他身份(如root)执行授权的命令

(2)、用法:sudo 授权命令

 

2、配置sudo授权

Linux系统安全及应用_第6张图片

 

3、4个ALL代表的含义

(1)、从左到右第一个ALL代表的是用户;

(2)、从左到右第二个ALL代表的是机器;

(3)、从左到右第三个ALL代表的是新用户身份(sun_as_user,如root);

(4)、从左到右第四个ALL代表的是命令。

 

 

Linux系统安全及应用_第7张图片

 

sudo –l可以查看结果

Linux系统安全及应用_第8张图片

4、查看sudo操作记录

(1)、需启用Defaults logfile配置;

(2)、默认日志文件:/var/log/sudo

Linux系统安全及应用_第9张图片

 

十四、GRUB限制

1、使用grub2-mkpasswd-pdkdf2生成密钥;

2、修改/etc/grub.d/00_header文件,添加密钥记录;

3、生成新的grub.cfg配置文件

Linux系统安全及应用_第10张图片

Linux系统安全及应用_第11张图片

 

十五、限制root只在安全终端登陆

1、安全终端配置:/etc/securetty

 

十六、禁止普通用户登陆

1、建立/etc/nologin文件

2、删除nologin文件或重启后恢复正常

 

十七、Joth the Ripper,简称JR

1、一款密码分析工具,,支持字典式的暴力破解;

2、通过对shadow文件的口令分析,可以检测密码强度;

3、官方网站:http://www.openwall.com/john/

Linux系统安全及应用_第12张图片

 

操作过程:

Linux系统安全及应用_第13张图片

Linux系统安全及应用_第14张图片

Linux系统安全及应用_第15张图片

Linux系统安全及应用_第16张图片

Linux系统安全及应用_第17张图片

你可能感兴趣的:(linux)