LINUX系统安全及应用

本文详细介绍了LINUX系统的安全措施,包括账号安全、su命令使用、PAM认证和sudo权限管理。讲解了如何清理和锁定账号,设置密码有效期,限制命令历史,以及如何启用sudo操作日志。此外,还探讨了系统引导和登录控制,如GRUB限制和限制root只在安全终端登录。最后,提到了弱口令检测工具Joth the Ripper的使用和网络端口扫描工具NMAP的应用。

LINUX系统安全及应用

账号安全基本措施

系统账号清理:

将非登录用户的shell设为/sbin/nologin

在这里插入图片描述

举例:usermod -s /sbin/nologin 用户名

锁定长期不使用的账号:

举例:usermod -L 用户名 usermod -U 用户名 passwd -l 用户名 passwd -u 用户名 passwd -S 用户名

在这里插入图片描述

删除无用的账号:

举例:userdel [-r] 用户名

在这里插入图片描述

锁定账号文件passwd,shadow

chattr +i /etc/passwd /etc/shadow 锁定文件

lsattr /etc/passwd /etc/shadow 查看文件状态

chattr -i /etc/passwd /etc/shadow 解锁文件

举例:在这里插入图片描述

密码安全控制:

设置密码有效期

要求用户下次登录时修改密码:

[root@localhost~]#vi /etc/login.defs 修改密码配置文件,适用于新建用户

PASS_MAX_DAYS 30 修改密码有效期30天,适用于新建用户

[root@localhost~]#chage -M 30 liergou 修改密码有效期30天,适用于已有用户

[root@localhost~]#cat /etc/shadow | grep liergou

[root@localhost~]#chage -d 0 liergou 强制在下次登录时修改密码,并且shadow文件中第三个字段被修改为0

实例:新建用户修改密码配置文件

在这里插入图片描述

在这里插入图片描述

实例2:已有用户修改密码配置文件

在这里插入图片描述

在这里插入图片描述

实例3:强制用户下次登录时修改密码

在这里插入图片描述

命令历史限制

减少记录的命令条数

[root@localhost ~]#vim /etc/profile 修改配置文件

export HISTSIZE=200 修改命令历史记录数量最大200,export为全局有效

[root@localhost ~]#source /etc/profile 刷新配置文件并立即生效

登录时自动清空命令历史

[root@localhost ~]#vim ~/.bashrc 修改/etc/profile配置文件,每次切换bash都执行

vim /etc/profile 修改/etc/profile配置文件,只执行一次

echo " " > ~/.bash_history

实例:1减少记录的命令条数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实例2:自动清空历史命令

在这里插入图片描述

在这里插入图片描述

终端自动注销

闲置n秒后自动注销

[root@localhost ~]#vim /etc/profile

export tmout=100

实例1:设置100秒注销

在这里插入图片描述

在这里插入图片描述

使用su命令切换用户

用途和用法:

用途:substitute user 切换用户

格式 su - 目标用户 “-”代表切换到目标用户的家目录

密码验证:

root→任意用户,不验证密码

普通用户→其他用户,验证目标用户的密码

[jerry@localhost ~]$su - root 带“-”选项表示将使用目标用户的登录shell环境

口令:[root@localhost ~]#whoami 查看当前用户

实例:切换用户

在这里插入图片描述

限制使用su命令的用户

将允许使用su命令的用户加入wheel组

启用pam_wheel认证模块

[root@localhost ~]#gpasswd -a tsengyia wheel

正在将用户“tsengyia"加入到”wheel"组中

[root@localhost ~]#vim /etc/pam.d/su 编辑/etc/文件

实例:将liergou,lierdan用户和root用户之间切换

在这里插入图片描述

在这里插入图片描述

查看su操作记录:

在这里插入图片描述

LINUX中的PAM安全认证

su命令的安全隐患:

默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(root)的登录密码,带来安全风险

为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

PAM(Pluggable Authentication Modules)可拔插式认证模块

是一种高效而且灵活便利的用户级别的认证方式

也是当前linux服务器普遍使用的认证方式

PAM认证原理

PAM认证一般遵循的顺序:service(服务)→PAM(配置文件)→PAM_*.so;,

PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证模块(位于/lib64/security/下)进行安全认证

用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证,不同的应用程序所对应的PAM模块也是不同的

如果想查看某个程序是否支持PAM认证,可以用ls命令进行查看/etc/pam.d/

PAM的配置文件中的每一行都是一个独立的认证过程,他们按从上往下的顺序依次由PAM模块调佣

在这里插入图片描述

使用sudo机制提升权限

su命令的缺点

sudo命令的用途及用法:

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

用法:sudo 授权命令

配置sudo授权

visudo或者vi /etc/sudoers

记录格式: 用户 主机名=命令程序列表

[root@localhost ~]#visudo

可以使用通配符“*"号任意值和”!“号进行取反操作

权限生效后输入密码5分钟可以不用重新输入密码

语法格式

用户 主机名=命令程序列表

用户 主机名=(用户)命令程序列表

liergou ALL=(root) /sbin.ifconfig 实际操作

用户:直接授权指定用户名。或采用“&组名”的形式(授权一个组全部用户)

主机名:使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名就用实际主机名,ALL代表所有主机

用户:用户能够以何种身份来执行命令,此项可省略,缺省时以root用户身份运行命令

命令程序列表:允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以“,”号进行分隔,ALL则代表系统中的所有命令

启用sudo操作日志

需启用defaults logfile配置

默认日志文件:/var/log/sudo

操作:在/etc/sudoers末尾添加defaults logfile="/var/log/sudo"

查询授权的sudo操作

sudo -l

实例:查看当前sudo配置文件

在这里插入图片描述

在这里插入图片描述

实例:配置相关文件,使liergou可以通过sudo命令使用ifconfig

1.切换到liergou用户上先测试下

在这里插入图片描述

在sudo配置文件里末尾行插入下列命令

在这里插入图片描述

测试

在这里插入图片描述

在这里插入图片描述

系统引导和登录控制

1.调整BIOS引导设置

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

禁止从其他设备,如:光盘,U盘,网络等引导系统

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

2.GRUB限制

使用grub2-mkpasswd-pbkdf2生成密钥

修改/etc/grub.d/00_ header文件中, 添加密码记录

生成新的grub.cfg配置文件

3.限制更改GRUB引导参数
通常情况下在系统开机进入GRUB菜单时,按e键可以查看并修改GRUB引导参数,这对服务器是一个极大的威胁。可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数

实例操作:

1.在这里插入图片描述

在这里插入图片描述

2.使用grub2-mkpasswd-pbkdf2生成密钥并复制,然后备份两个配置文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

限制root只在安全终端登录

安全终端配置:/etc/securetty

tty1~ 6是文本型控制台,tty7 是X Window图形显示管理器。可以通过CtrI+Alt+F1 (F1-F7键) 切换到对应的登录控制台

实例:

1.更改配置文件

在这里插入图片描述

之后可以重启虚拟机用其他用户登录测试下,这里就不演示了

系统弱口令检测(Joth the Ripper,检测JR)

1.介绍:

一款密码分析工具,支持字典式的暴力破解;
通过对shadow文件的口令分析,可以检测密码强度;
官方网站:http://www.openwall.com/john
2.安装JR工具

安装方法 make clean 系统类型
主程序文件为john
3.检测弱口令账户

获得Linux/Unix服务器的shadow文件;
执行john程序,将shadow文件作为参数
4.密码文件的暴力破解

准备好密码字典文件,默认为psaaword.lst
执行john程序,结合–wordlist=字典文件(有更强大的字典可以使用).

实例操作:

1.首先将准备好的john工具包通过xshell直接拖到/opt目录下,并进行解压

在这里插入图片描述

2.编辑安装指定程序

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.准备待破解的密码文件,密码文件我们知道在/etc/passwd里面,我们复制这个文件到opt目录下面,并命名

cp /etc/shadow /opt/shadow.txt

4.运行程序进行暴力破解

cd /opt/john-1.8.0/run
/john /opt/shadow.txt

使用密码字典文件

john.pot #清空已破解出的账户列表,以便重新分析
./john --wordlist=./password.lst /opt/shadow.txt #使用指定的字典文件进行破解

网络端口扫描

NMAP

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

官方网站:http://nmap.org/

CentOS 7.3光盘中安装包 nmap-6.40-7.el7.x86_64.rpm

nmap [扫描类型] [选项] <扫描目标>
netstat natp #查看正在运行的使用TCP协议的网络状态信息
[root@cheng0307 ~]# netstat -natp | grep httpd #实际操作(httpd换成80也可以)

netstat -naup #查看正在运行的使用UDP协议的网络状态信息
————————————————
常见的选项 选项的作用
-p 指定扫描的端口。
-n 禁用反向DNS 解析(以加快扫描速度)
-sS TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sT TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。
-sF TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU UDP扫描,探测目标主机提供哪些UDP 服务,UDP扫描的速度会比较慢。
-sP ICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
-P0 跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描

natstat命令常用选项:

常用选项 作用
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n 以数字的形式显示相关的主机地址、端1等信息。
-t 查看TCP相关的信息。
-u 显示UDP协议相关的信息。
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r 显示路由表信息。
-l 显示处于监听状态的网络连接及端口信息。

行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU UDP扫描,探测目标主机提供哪些UDP 服务,UDP扫描的速度会比较慢。
-sP ICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
-P0 跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描

natstat命令常用选项:

常用选项 作用
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n 以数字的形式显示相关的主机地址、端1等信息。
-t 查看TCP相关的信息。
-u 显示UDP协议相关的信息。
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r 显示路由表信息。
-l 显示处于监听状态的网络连接及端口信息。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值