--------陕西省第二届工业互联网安全赛项

注:本资料为赛前临时准备资料(持续更新)

一、Linux安全加固

1.1 登录失败处理功能

针对最大尝试次数和尝试失效以后的锁定时间

Linux安全加固_配置文件

# 第一条为查看锁定时间的命令,显示>=10分钟,实验环境中(kali, 下同)采用的单位是分钟,主机系统Ubuntu应该是秒,所以需要用60×分钟数

# 第二条为查看最大错误次数的命令,要求<=5,设置时可以尽可能小。

# 命令本质为查看/etc/ssh/sshd_config文件中的内容,可以直接打开文件进行编辑或查询。

具体可以依照题目要求,使用vi或vim进行设置。

// 查看锁定时间的命令为

more /etc/ssh/sshd_config | grep -v "'#" | grep LoginGraceTime | cut -d '' -f2

// 查看锁定次数的命令为

more /etc/ssh/sshd_config | grep -v "'#" | grep MaxAuthTries | cut -d '' -f2



1.2 查看是否允许root用户远程登录

说明:一般禁止远程的root登录会提高Linux系统的安全性

Ubuntu命令为:
more /etc/ssh/sshd_config | grep -v "^*\|^#\|^$" | grep PermitRootLogin | cut -d " "  -f2

# 在kali当中没有“#PermitRootLogin no”选项 所以在演示中没有正常输出。在系统操作过程中应该显示为 no,如果题目要求,需要改成no

Linux安全加固_配置文件_02

1.3 用户策略

1.3.1 限制默认账户的访问权限,重命名系统默认账户,修改这些账户的默认口令

# 在Linux账户管理系统中,root用户为最高用户,UID=0,1-1000的账户(如:bin等)为默认账户。

为了保护系统的安全,应该限制默认账户的访问权限。重命名默认账户或修改默认账户的口令

# 查询是否有默认账户的访问权限

cat /etc/passwd | grep -v "^*\|^#\|^$" | cut -d : -f1 | grep "bin\|deamon\|lp\|uucp\|games\|news"

在这里查询的结果应该为空。(由于Kali中没有设置,所以有回显)

Linux安全加固_配置文件_03

我们通过命令 usermod -l 重命名 原名 的方式改变默认用户的口令(进行重命名)。修改命名方式以后并不会修改用户的UID,用户命令的原本的功能没有被修改,还可以通过新的口令进行调度。

Linux安全加固_配置文件_04


1.3.2 删除非必要用户

1.3.2.1 删除除root外的用户
awk -F ‘($3 == 0) (print $1)’ /etc/passwd

Linux安全加固_重命名_05

# userdel 非必要的默认账户


1.3.2.2 限制su-root 禁止普通用户通过su升级成root用户

setup1:

vim /etc/pum.d/su

Linux安全加固_配置文件_06

setup2:

取消注释

Linux安全加固_重命名_07

setup3:

在/etc/login.defs 文件中加入一下项

Linux安全加固_访问权限_08



1.4  保护审计记录

审计记录中包含了Linux中的所有的行为,应修改其权限使得其不被修改、删除。

审计记录文件为:

Linux安全加固_配置文件_09

查看权限的命令:ls -l

修改权限命令chmod

1.5 设置登录超时

配置文件:/etc/profile

# 在文件中加入export TMOUT=180

# 备份文件 (cp /etc/profile /etc/profile_bak)

1.6 配置管理

设置密码最长周期、最短周期、最小长度、到期前提醒

配置文件:/etc/login.defs

Linux安全加固_访问权限_10

1.7  主机配置

1.7.1 通过echo $SHELL查看当前使用的shell

Linux安全加固_重命名_11

1.7.2 设置rm别名,设置成交互型删除

命令:alias rm=”rm -i”

Linux安全加固_访问权限_12

Linux安全加固_重命名_13


1.7.3 设置配置文件的默认值

/etc/login.defs /etc/profile /etc/csh 等配置文件后加入umask 027,使得用户和组内成员都没有写入甚至读取的权力

手动命令 :chmod 027

1.8 网络配置,修改ssh端口

配置文件:/etc/sshd/ssh_config

1.8.1 ssh端口转发

ssh -L 8080:192.168.1.6:80 root@192.168.1.7   # 正向代理

ssh -R 8080:192.168.1.6:80 root@192.168.1.7  # 反向代理

ssh -D 1080 -fN 192.168.1.7   



1.9查看网络信息

指令如下:

netstat -antup   
netstat -tulpn   
lsof -i :80   
grep 80 /etc/services   
ss -nt