系统安全及应用
一、系统安全的加固:
1.系统账号清理:
-
将用户设置为无法登录、
-
锁定账户
-
删除账户
-
锁定账户密码 本质锁定
问题:中病毒怎么处理?
1.使用ps或top
查找到这个异常进程 通过进程pid找到proc exe找到文件的真实位置,把他删除
2.自己建和病毒同名的文件,加上
?锁定配置文件-chattr:
-a 让文件或目录仅供附加用途。只能追加
-i 不得任意更动文件或目录。
2.密码安全控制:?
chage:
chage [选项] 用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
3.命令历史:?
history:查看历史命令,默认一千条
history -c 清空历史命令
二、su:?
su命令可以切换用户身份,并且以指定用户的身份执行命令。
pam_rootok.so? root不需要密码
pam_wheel.so? ?只有wheel组才可以切换
超级管理员的组:wheel组,权限比root组高 ?
三、PAM安全认证:
?插件式的验证模块,PAM提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录。
?查看当前系统pam:
/usr/lib64/security :存放功能模块:
/etc/pam.d/ :存放配置文件:
/etc/security :存放复杂的配置文件:
?3.1PAM相关文件:
-
包名: pam
-
模块文件目录:/lib64/security/*.so
-
特定模块相关的设置文件:/etc/security/
-
man 8 加模块名 可以查看帮助
-
应用程序调用PAM模块的配置文件
-
主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置
-
为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME
-
注意:如/etc/pam.d存在,/etc/pam.conf将失效
3.2PAM工作原理:
PAM认证一般遵循这样的顺序:Service(服务)→PAM(配置文件)→pam_*.so
PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证
PAM认证过程示例:
1.使用者执行/usr/bin/passwd 程序,并输入密码
2.passwd开始调用PAM模块,PAM模块会搜寻passwd程序的PAM相关设置文件,这个设置文件一般是在/etc/pam.d/里边的与程序同名的文件,即PAM会搜寻/etc/pam.d/passwd此设置文件
3.经由/etc/pam.d/passwd设定文件的数据,取用PAM所提供的相关模块来进行验证
4.将验证结果回传给passwd这个程序,而passwd这个程序会根据PAM回传的结果决定下一个动作(重新输入密码或者通过验证)
3.3pam的原理:
?type:指模块类型,即功能
control :PAM库该如何处理与该服务相关的PAM模块的成功或失败情况,一个关健词实现
module-path: 用来指明本模块对应的程序文件的路径名
Arguments: 用来传递给该模块的参数
4.PAM安全认证流程:?
required:一票否决,如果失败最后一定会失败,但是会继续验证
requisite:一票否决, 如果失败会立即结束验证,反馈失败
sufficient:验证成功则立即返回,不在继续,否则忽略结构并继续
optional 不用于验证,只是显示信息
四、功能模块:
1.shell模块:
功能:检查有效shell
案例:不允许使用/bin/csh的用户本地登录
2.securetty模块:
功能:只允许root用户在/etc/securetty列出的安全终端上登陆
3.pam_nologin.so 模块
功能:如果/etc/nologin文件存在,将导致非root用户不能登陆,当该用户登陆时,会显示/etc/nologin文件内容,并拒绝登陆
五、limit:
功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间
修改限制的实现方式:
(1) ulimit命令
ulimit是linux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制。
ulimit的设定值是 per-process 的,也就是说,每个进程有自己的limits值。使用ulimit进行修改,立即生效。
ulimit只影响shell进程及其子进程,用户登出后失效。
可以在profile中加入ulimit的设置,变相的做到永久生效
-H 设置硬件资源限制. -S 设置软件资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创建文件的最大值.单位:blocks -l size:设置在内存中锁定进程的最大值.单位:kbytes -m size:设置可以使用的常驻内存的最大值.单位:kbytes -n size:设置内核可以同时打开的文件描述符的最大值.单位:n -p size:设置管道缓冲区的最大值.单位:kbytes -s size:设置堆栈的最大值.单位:kbytes -t size:设置CPU使用时间的最大上限.单位:seconds -u size:最大用户进程数 -v size:设置虚拟内存的最大值.单位:kbytes unlimited 是一个特殊值,用于表示不限制
?六、sudo:
提权操作
su root 以管理员身份使用
sudo特性:
-
sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
-
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
-
sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
-
sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440
任意机器上的root用户可以在本机执行任何命令 :
七、别名:
sudo别名有四种类型:
-
User_Alias(用户)
-
Runas_Alias(代表用户)
-
Host_Alias(登录主机)
-
Cmnd_Alias(命令)
别名格式:必须大写字母,数字可以使用但是不能放在开头
八:grub-加密:
/etc/grub.d-目录
00_header | 设置grub默认参数 |
10_linux | 系统中存在多个linux版本 |
20_ppc_terminfo | 设置tty控制台 |
30_os_prober | 设置其他分区中的系统(硬盘中有多个操作系统时设置) |
40_custom和41_custom | 用户自定义的配置 |
设置GRUB 2加密
由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。
GRUB 2密码支持以下两种格式
-
明文密码:密码数据没有经过加密,安全性差
-
PBKDF2加密密码:密码经过PBKDF2哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!