首页 > 技术文章 > 系统安全及应用(二)

aacoffee 2021-06-25 12:30 原文

目录:

一、开关机安全控制

1、调整BIOS引导设置

2、GRUB限制

二、终端登录安全控制

1、 限制root只在安全终端登录

2、禁止普通用户登录

三、系统弱口令检测

1、Joth the Ripper,简称为 JR

2、 安装JR工具

3、 检测弱口令账号

4、密码文件的暴力破解

四、网络端口扫描

1、 网络扫描NMAP

2、 常用的选项和扫描类型

 

总结

 

 

一、开关机安全控制

1、调整BIOS引导设置

  • 将第一引导设备设为当前系统所在硬盘
  • 禁止从其他设备(光盘、U盘、网络)引导系统
  • 将安全级别设为setup,并设置管理员密码

2、GRUB限制

  • 使用grub2-mkpasswd-pbkdf2生成密钥
  • 修改/etc/grub.d/00_header文件中,添加密码记录
  • 生成新的grub.cfg配置文件

 

限制更改GRUB 引导参数

通常情况下在系统开机进入GRUB菜单时,按 e 键可以查看并修改GRUB引导参数,这对服务器是–个极大的威胁

可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数

grub2 -mkpasswd-pbkdf2
#根据提示设置GRUB菜单的密码

PBKDF2 hash of your password is grub. pbkdf2...
#省略部分内容为经过加密生成的密码字符串

cp /boot/grub2/grub.cfg /boot/grub2/grub. cfg .bak
cp /etc/grub.d/00_ header /etc/grub.d/00_ header . bak

vim /etc/grub.d/00_ header
cat << EOF

set superusers=" root "
#设置用户名为root

password_ pbkdf2 root grub . pbkdf2....
#设置密码,省略部分内容为经过加密生成的密码字符串
EOF

grub2-mkconfig -o /boot/grub2/grub.cfg 
#生成新的 grub.cfg 文件

重启系统进入GRUB菜单时,按e键将需要输入账号密码才能修改引导参数

 

 

 

 

二、终端登录安全控制

1、限制oot只在安全终端登录

安全终端配置∶/etc/securetty

vi /etc/securetty

#tty5
#tty6

2、禁止普通用户登录

建立/etc/nologin文件

删除nologin文件或重启后即恢复正常

touch /etc/nologin
##禁止普通用户登录
rm -rf /etc/nologin
##取消限制

举例

vim /etc/securetty
限制root只在安全终端登录

 

 

 

 

 

 

 

建立/etc/nologin文件
禁止普通用户登录

 

 

 

 

 

 

 

三、系统弱口令检测

1、Joth the Ripper,简称为 JR

●一款密码分析工具,支持字典式的暴力破解

●通过对shadow文件的口令分析,可以检测密码强度

●官方网站∶ htp∶//www.openwall.com/john/

2、安装JR工具

  • 安装方法    make clean 系统类型
  • 主程序文件为 john 

3、检测弱口令账号

  • 获得Linux/Unix服务器的shadow文件
  • 执行john程序,将shadow文件作为参数

4、密码文件的暴力破解

  • 准备好密码字典文件,默认为password.Ist
  • 执行john程序,结合-wordlist=字典文件

 

cd /opt
tar zxvf john-1.8.0.tar.gz
#解压工具包

yum install -y gcc gcc-c++ make
#安装软件编译工具

cd /opt/john-1.8.0/src
#切换到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
#查看E破解出的账户列表

#使用密码字典文件
 > john.pot
#清空已破解出的账户列表,以便重新分析

./john --wordlist=. /password.lst /opt/shadow.txt
#使用指定的字典文件进行破解

举例

 

 

 

 

 

 

 

 

四、网络端口扫描

1、网络扫描NMAP

 

namp 【扫描类型】【选项】<扫描目标>

  • 一款强大的网络扫描、安全检测工具
  • 官方网站: htp://nmap.org/
  • CentOS 7.3光盘中安装包nmap-6.40-7.el7 .x86_ 64.rpm

NMAP 是一个强大的端口扫描类安全评测工具,支持 ping 扫描、多端口检测等多种技术。

#安装 NMAP 软件包
rpm -qa | grep nmap
yum install -y nmap   

 

2、nmap命令常用的选项和扫描类型

  • -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通而放弃扫描。

netstat命令常用选项∶

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

 

netstat -natp

查看正在运行的使用TCP协议的网络状态信息

 

 

netstat -naup

查看正在运行的使用UDP协议的网络状态信息

 

 

 

 

#分别查看本机开放的TCP端口、UDP端口

nmap -sT 127.0.0.1

nmap -sU 127.0.0.1

 

 

 

 

 

 

#检测192.168.80.0/24网段有哪些主机提供HTTP服务

nmap -p 80 192.168.80.0/24

 

 

 

 

#检测192.168.80.0/24网段有哪些存活主机

nmap -n -sP 192.168.80.0/24

 

 

 

 

总结
1、开关机安全控制(主要是为了限制更改GRUB引导参数)
2、终端登录安全控制
&&限制root只在安全终端登录/etc/securetty
&&禁止普通用户登录
  •  建立/etc/nologin文件
  •  删除nologin文件或重启后即恢复正常
3、系统弱口令检测
使用密码字典(包含各种密码组合的列表文件)来进行暴力破解
make clean 系统类型,主程序文件为john
tar zxvf john-1.8.0.tar.gz
#解压JR工具包
yum install -y gcc gcc-c++ make
#安装软件编译工具
cd /opt/john-1.8.0/src
#切换到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
#查看E破解出的账户列表
4、网络端口扫描
nmap常用选项:-p、-n、-sS、-sT、-sF、-sU、-sP、-P0
netstat -natp
查看正在运行的使用TCP协议的网络状态信息
netstat -naup
查看正在运行的使用UDP协议的网络状态信息

 

 

 

 

 

 

 

  

  

  

 

 

 

  

推荐阅读