云计算【第一阶段(23)】Linux系统安全及应用

发布于:2024-06-29 ⋅ 阅读:(25) ⋅ 点赞:(0)

一、账号安全控制

1.1、账号安全基本措施


1.1.1、系统账号清理

  • 将非登录用户的shell设为/sbin/nologin
  • 锁定长期不使用的账号
  • 删除无用的账号
1.1.1.1、实验1

用于匹配以/sbin/nologin结尾的字符串,$ 表示行的末尾。

(一般是程序用户改为nologin)

grep "/sbin/nologin$" /etc/passwd

usermod -s /sbin/nologin 用户名

 改回去

 1.1.1.2、实验2

 账号锁住
usermod -L wangwu #锁定账号 

或passwd -l wangwu锁定用户账户
passwd -S wangwu# 查看账号状态

解锁(需要有密码不然要加p)

usermod -U wangwu
passwd -u wangwu

 1.1.1.3、实验3

删除无用账号

 1.1.1.4、锁定文件

attr 属性名

如果服务器中的用户账号已经固定,不再进行更改,还可以采取锁定账号配置文件的方法。使用 chattr 命令,分别结合“+i”“-i”选项来锁定、解锁文件,使用 lsattr 命令可以查看文件锁定情况

锁  chattr +i /etc/passwd   /etc/shadow

 测试添加一个用户

 

查 lsattr  /etc/passwd  /etc/shadow

解 chattr -i  /etc/passwd  /etc/shadow

1.1.2、密码安全控制

  • 设置密码有效期
  • 要求用户下次登录时修改密码
1.1.2.1、实验1

vim /etc/login.defs

对新建的用户有效  

其中PASS_MIN_LEN:指定密码的最小长度,默认不小于 5 位,但是现在用户登录时验证已经被 PAM 模块取代,所以这个选项并不生效。

企业会把密码有效期改为30  60 90 天这样

1.1.2.1、实验2

密码失效时间M       m是需要修改密码的最小间隔,也就是几天可以修改一次密码(0表示随时可以修改)

 当使用 -d 0  的时候,下一次登录需要强制修改密码(d本身代表密码最近一次被更改的日期)

 

1.1.3、命令历史限制

历史命令会翻到诸如密码或其他操作,我们要减少历史记录的数量

  • 减少记录的命令条数
  • 注销时自动清空命令历史
  • 终端自动注销
  • 闲置600秒后自动注销

history -c 临时的清除

1.1.3.1、实验1

用于将来的新登录的用户

在vim /etc/profile

改成10

需要重启后生效

1.1.3.2、实验2

在.bash_history删除

或者

echo " " > .bash_history  #清空记录

这个记录不影响然当前 shell 会话中 history 命令的输出,因为 history 命令显示的是当前 shell 会话中存储的历史记录,而不是从 .bash_history 文件中读取的内容。

并且当 shell 会话结束时,这些记录会被追加到 .bash_history 文件中,但是还是要清。

其他办法

如果需要每个用户登出时都清除输入的命令历史记录,可以在/etc/skel/.bash_logout文件中添加下面这行rm -f $HOME/.bash_history 。这样,当用户每次注销时,.bash_history文件都会被删除

1.1.3.3、实验3

或者写在其他.bash_profile或者.bashrc 下

关于环境变量的读取顺序:
/etc/profile   -->   .bash_profile     -->   .bashrc    -->    /bin/bash

修改/etc/profile文件需要管理员权限

1.1.4、终端自动注销

需要注意的是,当正在执行程序代码编译、修改系统配置等耗时较长的操作时,应避免设置 TMOUT 变量。必要时可以执行“unset TMOUT”命令取消 TMOUT 变量设置

 1.1.4.1、实验1

将后面新登录用户都有这个设置

vim /etc/profile

G到最后一行补充

1.1.5、权限的限制

限制su命令用户

默认情况下,任何用户都允许使用 su 命令,从而有机会反复尝试其他用户(如 root) 的登录密码,这样带来了安全风险。为了加强 su 命令的使用控制,可以借助于 pam_wheel 认证模块,只允许极个别用户使用 su 命令进行切换。

1.1.5.1、实验1

在/etc/pam.d/su文件里设置禁止用户使用su命令

a、以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
b、两行都注释也是运行所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
c、如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令
d、如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
 

实现过程如下:将授权使用 su 命令 的用户添加到 wheel 组,修改/etc/pam.d/su 认证配置以启用 pam_wheel 认证。

锁定文件

二、系统引导和登录控制

三、弱口令检测

JohntheRipper是一款开源的密码破解工具,可使用密码字典(包含各种密码组合的列表文件)来进行暴力破解。

切换到 /opt目录下

1.解压工具包

2.安装软件编译工具

3.切换到src子目录,进行编译安装

4.准备待破解的密码文件

5.执行暴力破解

6.查看已破解出的账户列表

#使用程序前的一些准备
tar -zxvf john-1.8.0.tar.gz
yum install -y gcc gcc-c++ make
cd /opt/john-1.8.0/src
make clean linux-x86-64

#准备文件
cp /etc/shadow /opt/shadow.txt

#运行破解
cd /opt/john-1.8.0/run
./john   /opt/shadow.txt

#查看
./john --show /opt/shadow.txt


#指定的字典
/john --wordlist=./password.lst /opt/shadow.txt 

 

四、端口扫描


网站公告

今日签到

点亮在社区的每一天
去签到