概述
目录
一、系统的安全隐患
1.1 系统账号清理与管理
1.2 密码安全控制
1.3 历史命令安全配置
二、用户安全操作
2.1 用户切换配置
2.2 限制使用命令的用户
三、PAM安全认证
3.1 查看su的PAM配置文件
四、使用命令机制提升权限
4.1 使用sudo提升权限
一、系统的安全隐患
世界上没有绝对安全的系统,即使是普遍认为稳定的Linux系统,在管理和安全方面也存在不足之处。我们期望让系统尽量在承担低风险的情况下工作,这就要加强对系统安全的管理。
防御措施:让系统只能硬盘启动,给予一定的权限让root用户不在随意的修改密码,定时管理查看服务器内用户账户与权限设置,定时查看日志任务,购买防火墙抵御外来攻击。
1.1 系统账号清理与管理
将非登录用户的shell设为/sbin/nologin:usermod -s /sbin/nologin
锁定长期不使用的的账号:usermod -L 用户名 、passwd -l
解锁账户:passwd -u、usermod -U
删除无用的账户:userdel[-r]
锁定账户文件passwd(存放用户信息)、shadow(存放密码信息)
chattr +i /etc/passwd /etc/shadow :锁定文件
lsattr /etc/passwd /etc/shadow :查看文件状态
chattr -i /etc/passwd /etc/shadow:解锁文件
此时添加用户与密码都不可以修改
1.2 密码安全控制
修改已创建用户的密码期限
chage -M +时间 +用户名
chage -d 0 +用户名 每次登录都需要该密码
修改新建用户密码期限
vim /etc/login.defs
1.3 历史命令安全配置
查看历史命令:history
临时清除密码:history -c (缺点是如果重启历史命令还在)
减少历史命令条数
vim /etc/profile 修改它默认的历史条数,默认为1000条
清空历史命令
修改文件:vim ~/.bashrc 并添加:echo “” > ~/bash_history 最后切换一下用户或者重启即可。
终端自动注销
修改文件:vim ~/.bash_profile
添加:eport TMOUT=设置的时间,单位秒
二、用户安全操作
2.1 用户切换配置
su:目标用户环境会改变
su -:目标用户环境会改变
echo $PATH:系统中所在的环境
查看登录用户
[liu@localhost ~]$ whoami
liu
[liu@localhost ~]$
2.2 限制使用命令的用户
将允许使用su命令的用户加入wheel组,启用pam_wheel认证模块
首先修改su命令:切换到cd /etc/pam.d 查看并修改vim su 修改第六行去除注释,开启pam认证模块(只有wheel组中才能使用这个命令)
(如果注释第二行,将只有wheel组中才能使用su命令,如果2与6都注释掉,都可以使用su命令,但root切换用户需要密码)
将用户加入wheel组可以使用su命令(默认情况下任何人都可以使用su登入,root切换用户不需要密码)
[root@localhost pam.d]# gpasswd -a liu wheel
正在将用户“liu”加入到“wheel”组中
[root@localhost pam.d]#
[root@localhost pam.d]# su lisi 没有加入wheel组中的用户
[lisi@localhost pam.d]$ su liu
密码:
su: 拒绝权限
[lisi@localhost pam.d]$ su root
密码:
su: 拒绝权限
[lisi@localhost pam.d]$
[root@localhost ~]# su liu 加入wheel组中的用户
[liu@localhost root]$ su root
密码:
[root@localhost ~]#
查看切换操作记录
cat /var/log/secure
三、PAM安全认证
PAM认证模块,叫做可插拔式的认证模块。一项重要的功能就是为了加强su命令的使用控制,可以借助于PAM认证模块,只允许极个别用户使用su命令进行切换。PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录(telnet,rlogin,fsh,ftp),su等应用程序中,系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。
3.1 查看su的PAM配置文件
文件位置:cat /etc/pam.d/su
四、使用命令机制提升权限
4.1 使用sudo提升权限
普通用户使用sudo时没有权限
[lili@localhost root]$ ifconfig ens33:1 192.168.100.200/24 创建一块虚拟网卡配置IP
SIOCSIFADDR: 不允许的操作
SIOCSIFFLAGS: 不允许的操作
SIOCSIFNETMASK: 不允许的操作
[lili@localhost root]$ sudo ifconfig ens33:1 192.168.100.200/24
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] lili 的密码:
lili 不在 sudoers 文件中。此事将被报告。
如果将一个用户加入wheel组中此时具有权限
[liu@localhost root]$ ifconfig ens33:1 192.168.100.100/24 创建配置虚拟网卡的IP
SIOCSIFADDR: 不允许的操作
SIOCSIFFLAGS: 不允许的操作
SIOCSIFNETMASK: 不允许的操作
[liu@localhost root]$
[liu@localhost root]$ sudo ifconfig ens33:1 192.168.100.100/24
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] liu 的密码:
[liu@localhost root]$ ip a 查看网卡 (此时这里多一块ens33:1的虚拟网卡)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:e4:4e:df brd ff:ff:ff:ff:ff:ff
inet 192.168.26.100/24 brd 192.168.26.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.100.100/24 brd 192.168.100.255 scope global ens33:1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fee4:4edf/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
[liu@localhost root]$
编辑visudo文件,将不能使用此命令的用户授权可以使用
格式:用户名 + 主机名 +命令的绝对路径
[root@localhost ~]# visudo
lili localhost=(root) /sbin/ifconfig
此时这个用户可以成功创建
[lili@localhost root]$ sudo ifconfig ens33:2 192.168.100.200/24
[sudo] lili 的密码:
您在 /var/spool/mail/root 中有新邮件
[lili@localhost root]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:e4:4e:df brd ff:ff:ff:ff:ff:ff
inet 192.168.26.100/24 brd 192.168.26.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.100.100/24 brd 192.168.100.255 scope global ens33:1
valid_lft forever preferred_lft forever
inet 192.168.100.200/24 brd 192.168.100.255 scope global secondary ens33:2
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fee4:4edf/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
[lili@localhost root]$
五、系统的弱口令检测
5.1 软件介绍
John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。
5.2 实验配置
配置前需要准备john编译的安装包
[root@localhost run]# rz 导入安装包
[root@localhost opt]# tar zxvf john-1.8.0.tar.gz 将tar包解开
等待解包
[root@localhost opt]# ls 此时安装包成功解开
john-1.8.0 john-1.8.0.tar.gz
[root@localhost src]# yum install gcc gcc-c++ make -y 安装运行程序的编译包
已加载插件:fastestmirror, langpacks
[root@localhost src]# make clean linux-x86-64 进行编译安装
[root@localhost run]# cp /etc/shadow ./shadow.txt 复制文件到当前目录下
[root@localhost run]# ./john /opt/john-1.8.0/shadow.txt 运行程序将密码强破解
Loaded 2 password hashes with 2 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:06 54% 1/3 0g/s 374.6p/s 374.6c/s 374.6C/s Li99999..liu9999901
0g 0:00:00:09 67% 1/3 0g/s 372.5p/s 372.5c/s 372.5C/s rootO..R99999P
0g 0:00:00:10 72% 1/3 0g/s 372.5p/s 372.5c/s 372.5C/s -root99999-..root30
0g 0:00:00:13 90% 1/3 0g/s 372.0p/s 372.0c/s 372.0C/s Root99999000000..r999991986
0g 0:00:00:14 94% 1/3 0g/s 371.8p/s 371.8c/s 371.8C/s 999992010..r999991955
0g 0:00:00:15 99% 1/3 0g/s 371.8p/s 371.8c/s 371.8C/s 999991931..r999991907
123456 (root)
123456 (liu)
2g 0:00:00:16 100% 2/3 0.1233g/s 365.3p/s 371.2c/s 371.2C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed
六、网络端口扫描
6.1 概述
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
6.2 实验配置
首先使用yum仓库下载软件
[root@localhost yum.repos.d]# yum install nmap* -y
已加载插件:fastestmirror, langpacks
centos7 | 3.6 kB 00:00:00
(1/2): centos7/group_gz | 156 kB 00:00:00
(2/2): centos7/primary_db | 3.1 MB 00:00:00
Determining fastest mirrors
软件包 2:nmap-ncat-6.40-7.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 nmap.x86_64.2.6.40-7.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================================================================
Package 架构 版本 源 大小
=======================================================================================================================================
正在安装:
nmap x86_64 2:6.40-7.el7 centos7 4.0 M
事务概要
=======================================================================================================================================
安装 1 软件包
总下载量:4.0 M
安装大小:16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 2:nmap-6.40-7.el7.x86_64 1/1
验证中 : 2:nmap-6.40-7.el7.x86_64 1/1
已安装:
nmap.x86_64 2:6.40-7.el7
完毕!
[root@localhost yum.repos.d]
常用选项
命令格式: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通而放弃扫描。 |
例如:
查看192.168.26.0/24这个网段有那些活跃的主机
[root@localhost yum.repos.d]# nmap -n -sP 192.168.26.0/24
Starting Nmap 6.40 ( http://nmap.org ) at 2021-09-24 15:40 CST
Nmap scan report for 192.168.26.1
Host is up (0.0010s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.26.2
Host is up (0.00015s latency).
MAC Address: 00:50:56:E0:E1:3F (VMware)
Nmap scan report for 192.168.26.254
Host is up (0.00032s latency).
MAC Address: 00:50:56:EF:A9:16 (VMware)
Nmap scan report for 192.168.26.100
Host is up.
最后
以上就是苹果草莓为你收集整理的账号与密码安全 一、系统的安全隐患 二、用户安全操作 四、使用命令机制提升权限 五、系统的弱口令检测 六、网络端口扫描的全部内容,希望文章能够帮你解决账号与密码安全 一、系统的安全隐患 二、用户安全操作 四、使用命令机制提升权限 五、系统的弱口令检测 六、网络端口扫描所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复