系统安全及应用,理论和实验的结合 冲☞

系统安全及应用

前言:

作为一种开放源代码的操作系统,Linux服务器以其安全,高效和稳定的显著优势得以广泛应用

可以从账号安全控制,系统引导和登录控制的角度控制Linux系统的安全优化

还可以使用基于Linux系统环境的弱口令检测,网络扫描等安全工具,查找隐患,及时采取有针对性的防护措施

1.基本安全措施:

1.1系统账号清理

系统安全及应用,理论和实验的结合 冲☞
在Linux系统中,除了用户手动创建的各种账号外,还包括随系统或程序安装过程而生成的其他大量账号,除了超级用户root外,其他大量账号只是用来维护系统运作,启动进程。一般不允许登录的,因此称位非登录用户。
系统安全及应用,理论和实验的结合 冲☞
对于Linux服务器中长期不用的用户账号,若无法确定是否该删除,可以暂时将其锁定。例如:锁定,解锁名为tom的用户账号,可以执行以下操作:
系统安全及应用,理论和实验的结合 冲☞
如果服务器中用户账户已经固定,不再进行更改,还可以采用锁定账号配置文件的方法。使用chattr命令,分别结合“+i” “-i” 选项来锁定,解锁文件,使用lsattr命令可以查看文件锁定情况
系统安全及应用,理论和实验的结合 冲☞
当帐号文件被锁定时就无法再添加删除账号,也不能更改用户登陆的密码,登录shell
系统安全及应用,理论和实验的结合 冲☞
注:加了注释就是不能登录的账户
系统安全及应用,理论和实验的结合 冲☞

1.2 密码安全控制

在不安全的网络环境中,为了降低密码被猜出或者被**的风险,用户应该养成定期更改密码的习惯,这时候管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登陆时被要求重设密码,否则将拒绝登录。
系统安全及应用,理论和实验的结合 冲☞
执行以下操作可将密码的有效期设为30天,适用于新用户
系统安全及应用,理论和实验的结合 冲☞
用于已有的用户系统安全及应用,理论和实验的结合 冲☞
执行以下操作可以强制要求用户tom下次登陆时重设密码
系统安全及应用,理论和实验的结合 冲☞

1.3历史命令限制

Shell环境的历史命令机制为用户提供了很大的便利,但另一方面也给用户带来了潜在风险,假如获得用户的命令历史文件,该用户的命令操作过程就会被泄露。在BASH终端环境中,历史命令记录条数由变量HISTSIZE控制,默认是1000条。通过修改/etc/profile文件中的HISTSIZE变量值,可以影响系统中的所有用户。
系统安全及应用,理论和实验的结合 冲☞
例如可以设置最多记录200条历史命令
系统安全及应用,理论和实验的结合 冲☞
适用于当前用户
系统安全及应用,理论和实验的结合 冲☞
除此之外,还可以修改用户宿主目录中的~ /.bash_logout文件,添加清空历史命令的操作语句,这样当用户退出已登录的Bash环境以后,所记录的历史命令将自动清空
系统安全及应用,理论和实验的结合 冲☞
注:还需rm -rf .bash history删除文件,登出后再次进入查看命令就消失了
系统安全及应用,理论和实验的结合 冲☞

1.4终端自动注销

Bash终端环境中,还可以设置一个闲置的超长时间,当超过指定时间没有任何输入即自动注销终端,这样可以有效避免当管理员不在时其他人员对服务器的误操作风险。
系统安全及应用,理论和实验的结合 冲☞
适用于新用户:
系统安全及应用,理论和实验的结合 冲☞
适用于当前用户:
系统安全及应用,理论和实验的结合 冲☞
注意当正在执行的等耗较长时间的操作时,应该避免设置TMOUT变量。必要时执行
unset TMOUT命令取消TMOUT变量。

2.用户切换与提权:

大多数Linux服务器并不建议用户以root用户进行登录。一方面可以大大减少因操作失误而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。Linux系统提供了su sudo两种命令,其中su命令主要用来切换用户,而sudo命令用来提升执行权限

2.1 su命令

使用su命令可以切换为指定用户,从而具有该用户的所有权限。切换时需要对目标目录进行验证。例如从tom用户切换为root用户
系统安全及应用,理论和实验的结合 冲☞
默认情况下,任何用户都允许使用su命令,从而会带来风险。为了加强su命令的使用控制,可以借助于pam_wheel认证模块,只允许极个别用户使用su命令进行切换,未加入到wheel组内的其他用户将无法使用su命令

例如:
1.先创建一个普通用户radmin,设置密码
系统安全及应用,理论和实验的结合 冲☞
2.将用户radmin加入到wheel组中,并且查看wheel组中是否有radmin的用户
系统安全及应用,理论和实验的结合 冲☞
3.修改/etc/pam.d/su 认证配置以启用pam_wheel认证
系统安全及应用,理论和实验的结合 冲☞
4.加入wheel组的用户radmin可以使用su命令,没有加入的使用不了
系统安全及应用,理论和实验的结合 冲☞

2.2sudo命令-提升执行权限

通过su命令可以非常方便的切换为另一个用户,但前提条件是必须知道目标用户的登陆密码,有一种方法,既可以让普通用户拥有一部份权限管理,又不需要将root用户密码告诉他,使用sudo命令可以提升执行权限
配置sudo授权
系统安全及应用,理论和实验的结合 冲☞
visudo 或者 vi /etc/sudoers :sudo机制的配置文件为/etc/sudoers,文件的默认权限是440,需要使用专门的visudo工具进行编辑。若使用vi编辑,保存时必须执行“:w!”命令强制操作,否则系统将提示为只读文件而拒绝保存
授权配置主要包括用户 主机 命令三部分
系统安全及应用,理论和实验的结合 冲☞
sudo配置记录的命令允许使用通配符*,取反符号“!”,当需要授权某个目录下的所有命令或取消取消其中个别命令时特别有用。
例如:若要授权用户tom可以执行/sbin/目录下除ifconfig route以外的其他所有程序
系统安全及应用,理论和实验的结合 冲☞
若要启用sudo日志记录以备管理员查看,应在/etc/sudores文件中增加“Defaults logfile”设置
系统安全及应用,理论和实验的结合 冲☞
2.3sudo实验:允许用户lisi通过sudo方式执行特权命令
1.创建用户lisi,并将其加入到wheel组中
系统安全及应用,理论和实验的结合 冲☞
2.允许lisi用户可以执行特权命令
系统安全及应用,理论和实验的结合 冲☞
3切换到lisi用户中,使用sudo -l命令查看自己的sudo配置
系统安全及应用,理论和实验的结合 冲☞

2.4查看用户获得哪些sudo授权

可以使用sudo - l的命令
查看sudo操作记录
需启用Defaults logfile 配置
默认日志文件:/var/log/sudo

3.PAM安全认证:

Su命令的安全隐患

系统安全及应用,理论和实验的结合 冲☞
PAM可插拔式认证模块
系统安全及应用,理论和实验的结合 冲☞
PAM认证原理
系统安全及应用,理论和实验的结合 冲☞
系统安全及应用,理论和实验的结合 冲☞
PAM认证的构成
每一行都是一个独立的认证过程

每一行可以区分为三个字段
系统安全及应用,理论和实验的结合 冲☞
PAM认证类型
认证管理 账户管理 密码管理 会话管理
系统安全及应用,理论和实验的结合 冲☞
PAM安全认证流程
系统安全及应用,理论和实验的结合 冲☞

4.系统引导和控制登录:

4.1开关机安全控制

1.调整BIOS引导设置
系统安全及应用,理论和实验的结合 冲☞
2.限制更改GRUB引导参数
系统安全及应用,理论和实验的结合 冲☞

4.2实验:为GRUB引导菜单启用密码设置

1.为grub引导菜单启用密码,生成grub密码,查看是否添加,最后重启电脑认证
系统安全及应用,理论和实验的结合 冲☞
2.重启电脑按e键进入这里,输入刚刚设置的用户名和密码
系统安全及应用,理论和实验的结合 冲☞
默认是先硬盘启动
系统安全及应用,理论和实验的结合 冲☞

5. 终端及登录控制:

5.1减少开放的tty终端个

通过修改/etc/init/start-ttys.conf和/etc/sysconfig/init,可以减少开放的tty终端数量,例如只希望开启tty4 tty5 tty6三个终端,修改操作:
系统安全及应用,理论和实验的结合 冲☞

5.2禁止普通用户登录

系统安全及应用,理论和实验的结合 冲☞

5.3禁止root用户登录

若要禁止root用户从tty5 tty6登录,可以修改/etc/securetty 文件,将tty5 6注释掉
系统安全及应用,理论和实验的结合 冲☞

6.弱口令检测:

*Joth the Ripper,简称为 JR*
系统安全及应用,理论和实验的结合 冲☞

6.1弱口令检测推荐步骤

1.安装JR工具
系统安全及应用,理论和实验的结合 冲☞
2.检测弱口令账号
系统安全及应用,理论和实验的结合 冲☞
3.密码文件暴力**
系统安全及应用,理论和实验的结合 冲☞

6.2弱口令检测实验

1.先用xshell软件将jhon软甲引到centos中
系统安全及应用,理论和实验的结合 冲☞
解压安装包,并进入这个目录系统安全及应用,理论和实验的结合 冲☞
3.查看目录中信息
系统安全及应用,理论和实验的结合 冲☞
4.切换到src子目录并执行 make clean linux-x86-64的命令,执行编译过程
系统安全及应用,理论和实验的结合 冲☞
5.准备带**的密码文件,执行暴力**
系统安全及应用,理论和实验的结合 冲☞
6.查看已经**的账户列表
系统安全及应用,理论和实验的结合 冲☞

7.网络扫描–NAMP:

一款强大的网络扫描,安全检测工具

可以探测局域网中那些主机在线,或者某台主机中开了那些端口

NMAP的扫描语法

nmap [扫描类型] [选项] <扫描目标…>

常用的扫描类型

-sS,-sT,-sF,-sU,-sP,-P0

-sT:TCP端口

-sU:UDP端口

-sP:ping

1.先用yum工具安装nmap工具
系统安全及应用,理论和实验的结合 冲☞
2.扫描本机的TCP端口号
系统安全及应用,理论和实验的结合 冲☞
3.扫描常用的UDP端口
系统安全及应用,理论和实验的结合 冲☞
4.扫描常用的TCP端口
系统安全及应用,理论和实验的结合 冲☞