系统安全及应用

1.系统账户清理

(1):将非登录用户的shell设置为/sbin/nologin

/sbin/nologin禁止普通用户登录

vim   /etc/passwd

reboot重启后发现zhangsan用户无法登录

输入正确的密码发现仍然无法登录

(2):锁定长期不用的账户

锁定账户的方法:    passwd  -l  用户名      或      usermod   -L    用户名

解锁账户的方法:    passwd  -u  用户名      或      usermod   -U   用户名

使用lisi账户无法登录

此时,可以使用lisi账户登录了

(3):删除无用的账户

userdel   用户名     或者    userdel   -r    用户名

userdel   用户名只删除用户,userdel    -r   用户名会删除用户及用户的家目录

(4):锁定文件passwd和shadow

锁定/etc/passwd和/etc/shadow文件:    chattr   +i   /etc/passwd   /etc/shadow
查看/etc/passwd和/etc/shadow文件状态:     lsattr   /etc/passwd   /etc/shadow

此时无法修改passwd和shadow文件 

解锁/etc/passwd和/etc/shadow文件:    chattr   -i   /etc/passwd   /etc/shadow
查看/etc/passwd和/etc/shadow文件状态:     lsattr   /etc/passwd   /etc/shadow

此时就可以修改passwd和shadow文件了(没有只读标志)

2.秘密安全控制

(1):设置密码有效期

  • 新用户

vim   /etc/login.defs

       修改该文件中的PASS_MAX_DAYS的值,默认PASS_MAX_DAYS的值为99999(默认永不失效),可以将PASS_MAX_DAYS的值设为42,因为Windows中默认的密码失效日期为42天。

  • 老用户

chage   -M   密码有效天数   用户名(用户必须要事先存在)

(2):强制用户在下次登录时修改密码

chage   -d   0    用户名

 使用lisi账户登录时发现必须修改密码

3.历史命令限制

(1):减少记录的命令条数

vim    /etc/profile

默认历史条数为1000条,修改HISTSIZE的值来修改历史命令条数 

(2):注销时自动清空历史命令(使用普通用户进行尝试,不要使用root用户去测试)

vim   ~/.bash_logout    (~/.bash_logout文件,账户每次退出时执行)

       在Linux中,所有执行过的历史命令都会存放在~/.bash_history文件中,而且每次登录上来之后都可以通过查看~/.bash_history这个文件或者按上键或者在命令行输入history都可以查看之前的历史命令,这就存在一个很大的安全隐患,因此应该在注销时自动清空历史命令。

然后关闭计算机,再次启动登录后在命令行输入history,发现无法查询之前的历史命令

4.终端自动注销(使用普通用户进行尝试,不要使用root用户去测试)

(1):修改配置文件

vim  ~/.bash_profile

(2):在里面添加内容如下 

        这个数值不要给的太小,如果数值给的是1,那么这个计算机就会在一瞬间关机,只要你有一秒没有进行操作,那么计算机就会关机。建议测试完成后去掉这条语句。

(3):等待两分钟(但是我似乎等的时间大于两分钟,尽量多等会),然后会出现如下页面,系统自动注销了终端

5.使用su命令切换用户

(1):用途及用法

  • 用途:Substitute   User 切换用户
  • 格式:su  -   目标用户

(2):密码验证

  • root --->  任意用户,不需要验证密码
  • 普通用户   --->  其他用户,需要验证目标用户的密码

       但这仍然存在安全问题,试想一下,任意一个普通用户都可以切换到root用户,那么如果被攻击者拿到一个普通用户的账户和口令,那么入侵者就有机会可以切换到root用户(当然了,入侵者必须要知道root的密码,这里说的是入侵者最起码有资格可以切换到root用户),其实,在一般的企业中,管理员会创建一个普通用户,一般情况下管理员都是以普通用户身份进行登录,如果需要进行一些只要root用户才可以进行的操作的话,才会切换到root用户,这样可以防止错误操作对系统造成破坏(例如以root用户进行rm  -rf   *)。因此,只要个别普通用户才可以有权利切换到root用户,其余的普通用户没有权利切换到root用户。这就需要启用pam_wheel认证模块。

(3):限制使用su命令的用户

  • 启用pam_wheel认证模块
  • 将允许使用su命令的用户加入到wheel组

1>:修改配置文件

vim   /etc/pam.d/su

2>:修改内容如下

将红色方框中的内容前面的注释去掉 

3>: 将zhangsan用户加入到wheel组中(wheel组与生俱来就存在,wheel组存在于/etc/group中)

gpasswd  -a   zhangsan  wheel

4>:验证

"su  -"是以目标用户的shell登录,"su"是以当前用户的shell登录。

        当启用了pam_wheel认证之后,root用户可以切换到任意其他普通用户,但是只要加入到wheel组的用户才可以切换到root用户。如上图,zhangsan用户加入到了wheel组中,因此可以使用su命令切换到root用户,但是,lisi用户并没有加入到wheel组,因此无法切换到root用户。

(4):查看su操作记录

  • 查看安全日志文件:/var/log/secure

tail   /var/log/secure

6.使用sudo机制提升权限

(1):sudo命令的用途及用法

  • 用途:以其他用户身份(root)执行授权的命令
  • 用法:sudo  授权命令

(2):配置sudo授权

  • visudo 或者   vim   /etc/sudoers
  • 记录格式:用户      主机名列表=命令程序列

1>:测试zhangsan用户的权限

2>:修改配置文件

visudo

3>:修改内容如下

zhangsan         localhost=/usr/sbin/useradd

4>:验证(使用zhangsan用户去添加用户)

       如图,zhangsan用户成功创建了wangwu用户。但是,此时wangwu用户并没有设置密码,如果zhangsan用户去为wangwu用户设置密码会报错,因为在刚才只授予了zhangsan用户添加用户的权力,没有授予zhangsan用户为新用户设置密码的权力。

(3):查看sudo操作记录

  • 需要启用Defaults   logfile配置
  • 默认日志文件:/var/log/sudo

1>:修改配置文件

visudo

2>:修改内容如下

3>:查看日志文件(在执行这一步之前,一定要先使用su命令进行用户的切换,这样才能生成/var/log/sudo文件,否则文件不存在)

(4):查看授权的sudo操作

sudo  -l

7.调整BIOS引导设置

(1):将第一引导设备设为当前系统所在硬盘

(2):禁止从其他设备(光盘、U盘、网络)引导系统

 将对应的项设为“Disabled”

(3):将安全级别设为setup,并设置管理员密码

1>:设置超级账户密码

2>:确认要设置超级账户密码

3>:将passwd on boot设置为Enablesd(启用状态),这样每次进入到BIOS之前都要先输入密码才能进去。

4>:验证:重新进入BIOS时需要先输入密码才能进去

8.禁用重启热键Ctrl+Alt+Del功能

(1):打开配置文件

vim   /etc/init/control-alt-delete.conf

(2):修改配置文件如下

(3):重启计算机

reboot

重启计算机之后发现热键不能使用。

9.grub菜单限制

        通过grub引导可以来修改root密码,这样对我们造成了便利,如果密码遗忘,我们可以通过grub引导来修改密码(详细内容和方法可以看本人之前的博客常见系统故障修复(三)——root密码遗忘),但是这也为入侵者提供了方便,入侵者通过grub引导就可以进入系统并且修改root密码,这是十分严重的危险。因此需要设置密码来限制grub菜单。

        grub密码记录的位置:
                未经授权禁止修改启动参数(全局部分(第一个“title”之前))
                未经授权禁止进入指定系统(系统引导部分(每个“title”部分之后))

(1):生成md5加密的密码串

(2):修改grub的配置文件

vim /boot/grub/grub.conf

修改内容如下

password --md5 $1$4INbR0$xDd1ZcDm5wFZ2oMslOePl.     ----在第一个title之前添加这样一句话。

 (3):重启计算机,进入grub引导模式需要输入密码(可以看本人之前的博客常见系统故障修复(三)——root密码遗忘)

reboot

10.终端登录安全控制

(1):减少终端数量

Linux默认开放6个终端,这样可能会引起一些安全性问题,所以可以关闭一些终端来提高安全性。

1>:修改配置文件

vim   /etc/init/start-ttys.conf

修改内容如下

2>:重启计算机

reboot

3>:验证:按Ctrl+Alt+F1、Ctrl+Alt+F2、Ctrl+Alt+F3(有些计算机还需要按住Fn)来检测是否禁用了tty1、tty2、tty3。

(2):限制root只能在安全端登录

1>:修改配置文件

vim   /etc/securetty

修改内容如下

2>:进入tty5,然后使用root进行登录,登录失败,使用其他普通用户登录,登录成功。

(3):禁止普通用户登录

1>:新建一个文件/etc/nologin

touch  /etc/nologin(新建的文件里面没有任何内容,相当于禁止所有普通用户)

2>:重启计算机

reboot

3>:使用普通用户进行登录(无法登录)

4>:删除/etc/nologin文件

rm   -f    /etc/nologin

5>:重启计算机

reboot

6>:重新使用普通用户进行登录(此时可以成功登录)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值