admin管理员组文章数量:1627760
文章目录
- 引言
- 一、账号安全控制
- 1.1账号安全基本措施
- 1.2用户切换与提权
- 二、系统引导和登录控制
- 2.1开关安全控制
- 2.2 终端登录安全控制
- 三、弱口令检测、端口扫描
- 3.1弱口令检测—John the Ripper
- 3.2 John the Ripper实例
- 3.3 网络扫描—NMAP
- 总结
引言
在互联网中,大部分服务器是通过远程登录的方式来管理的,二本地引导和终端登录往往被忽视,从而留下安全隐患。特别是当服务器所在的机房环境缺乏严格、安全的管制制度时,如何防止其他用户的非授权介入,就成为了非常重要的一步,今天我就为大家介绍一下如何引导系统和控制登录。
一、账号安全控制
1.1账号安全基本措施
系统账号清理
将非登录用户的shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名 ###设置为非登录用户账号
锁定长期不使用账号
[root@localhost ~]# usermod -L 用户名 ###锁定用户账号方法一
[root@localhost ~]# passwd -l 用户名 ###锁定用户账号方法二
[root@localhost ~]# usermod -U 用户名 ###解锁用户账号方法一
[root@localhost ~]# passwd -u 用户名 ###解锁用户账号方法二
删除无用的账号
[root@localhost ~]# userdel -r kakaka
锁定账号文件passw、shadow
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow ###锁定账号文件passw、shadow
[root@localhost ~]# lsattr /etc/passwd /etc/shadow ###查看文件是否锁定
----i----------- /etc/passwd
----i----------- /etc/shadow
密码安全控制
1.设置密码有效期
2.要求用户下次登录时修改密码
[root@localhost ~]#vi /etc/login.defs
......
PASS_MAX_DAYS 30 ###修改密码有效期 适用于新建用户
[root@localhost ~]#chage -M 30 ka ###适用于已有用户
[root@localhost ~]#chage -d 0 ka ###强制在下次登录时更改密码
命令历史限制
1.减少记录的命令条数
2.注销时自动清空命令历史
[root@localhost ~]#vi /etc/profile ###修改历史缓存数为200
HISTSIZE=200
[root@localhost ~]#vi ~/.bash_logout ###登出时自动清除
history -c
clear
终端自动注销
闲置600秒后自动注销
[root@localhost ~]#vi /etc/profile
export TMOUT=600
1.2用户切换与提权
1.2.1 su命令—切换用户
1.用途及用法
用途:Substitute User,切换用户
格式:su - 目标用户(横杠“ - ”代表切换到目标用户的宿主目录)
root - - - >任意用户,不验证密码
普通用户- - - >其他用户,验证目标用户的密码
带 “ - ” 表示将使用目标用户的登录Shell环境
2. whoami 确定当前用户是谁
限制使用su命令的用户
将允许使用su命令的用户加入wheel组
启用pam_wheel认证模块
[root@localhost ~]# gpasswd -a ka wheel
正在将用户“ka”加入到“wheel”组中
[root@localhost ~]#
查看su操作记录
安全日志文件:/var/log/secure
1.2.2 sudo 命令—提升执行权限
sudo命令的用途及用法:
用途:以其他用户身份(如root)执行授权命令
用法:sudo 授权命令
1.配置sudo授权
visudo 或者 vim /etc/sudoers
记录格式:
用户 主机名 = 命令程序列表
用户 主机名 = (用户)命令程序列表
用户: 直接授权指定的用户名,或采用 “ % ” 的形式(授权一个组的所有用户)
主机名: 使用此规则的主机名。没配置过主机名时可用localhost ,配置过主机名则使用实际的主机名,ALL 代表所有主机
(用户):用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令
命令程序列表:允许授权的用户通过 sudo 方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号“,” 进行分隔(可以使用通配符 “ * ” 号任意值 和 “ !” 号进行取反操作)。ALL则代表系统中的所有命令。
sudo [参数选项] 命令
-l 列出用户在主机上可用的和被禁止的命令,一般配置好/etc/sudoers以后,要用这个命令来查看和测试是不是配置正确的
-v 验证用户的时间戳,如果用户运行 sudo 后,输入用户的密码后,在短时间内可以不用输入口令来进行sudo 操作;用 -v 可以追踪最新的时间戳
-u 指定以某个用户执行特定操作
-k 删除时间戳,下一个 sudo 命令要求提供密码
案例:ka 用户可以使用useradd usermod
配置
visudo
ka ALL=(root) /usr/sbin/useradd,/usr/sbin/usermod
如ka ALL=(root) NOPASSWD:/usr/sbin/useradd,PASSWD:/usr/sbin/usermod ###前面不需要输入密码,后面需要输入密码
配置/etc/sudoers文件,可以授权用户较多的时使用
Host_Alias MYHOST= localhost 主机名
User_Alias MYUSER = lu,zhangsan,lisi 需要授权的用户
Cmnd_Alias MYCMND = /sbin/*,/usr/bin/passwd 授权
MYUSER MYHOST = NOPASSWD : MYCMND 授权格式
二、系统引导和登录控制
2.1开关安全控制
调整BIOS引导设置原则
将第一引导设备设为当前系统所在硬盘;
禁止从其他设备(光盘、 U盘、网络)引导系统;
将安全级别设为setup,并设置管理员密码。
GRUB限制
使用grub2-mkpasswd-pbkdf2生成密钥
修改/etc/grub.d/00_header文件中,添加密码记录
生成新的grub.cfg配置文件
**GRUB限制的实现**
法一:
1. 使用grub2-mkpasswd-pbkdf2生成密钥并复制,然后备份两个配置文件。
2. [root@localhost ~]# cp /boot/grub2/grub.cfg /boot/grub2/geub.cfg.bak
[root@localhost ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
3. 修改/etc/grub.d/00_ header文件中, 添加密码记录,并存并退出
法二:
直接设置grub2—setpassword 设置grub密码
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
###生成新的grub.cfg文件,然后重启系统
2.2 终端登录安全控制
限制root用户只在安全终端登录
安全终端配置:/etc/securetty
步骤:
1.更改相关配置文件
2.切换至指定终端进行测试
3.切换至其他终端进行测试
禁止普通用户登录
建立/etc/nologin文件
删除nologin文件或者重启后即恢复正常
三、弱口令检测、端口扫描
3.1弱口令检测—John the Ripper
一款密码分析工具,支持字典式的暴力破解;
通过对shadow文件的口令分析,可以检测密码强度;
官方网站:John the Ripper password cracker
3.2 John the Ripper实例
安装方法 [make clean 系统类型]
主程序文件为john
1. 把下载好的安装包用过rz命令下到目录opt下:
[root@localhost ~]#cd /opt
[root@localhost opt]#ls
john-1.8.0.tar.gz
2. 解压
[root@localhost opt]#tar -zxvf john-1.8.0.tar.gz
3. 安装软件编译工具
[root@localhost src]#yum install gcc gcc-c++ make -y
4. 进行编译安装
[root@localhost src]#make clean linux-x86-64
5. 准备待破解的密码文件
[root@localhost src]#cd .. 切换至上级目录
[root@localhost src]#cp /etc/shadow /opt/shadow.txt 准备密码文件
6. 执行暴力破解
[root@localhost src]#cd /opt/john-1.8.0/run/
[root@localhost run]#./john /opt/shadow.txt
7.查看已经破解出的密码
[root@localhost run]#./john --show /opt/shadow.txt
使用密码字典文件
> john.pot
清空已破解出的账户列表,便重新分析
./john --wordlist=./passwd.lst /opt/shadow.txt
使用指定的字典文件进行破解
3.3 网络扫描—NMAP
一款强大的网络扫描、安全检测工具
CentOS 7.3光盘中安装包 nmap-6.40-7.el7.x86_64.rpm
控制位
常用格式:
nmap [扫描类型] [选项] <扫描目标>
netstat natp ###查看正在运行的使用TCP协议的网络状态信息
netstat -natp | grep httpd ###实际操作(httpd换成80也可以)
netstat -naup ###查看正在运行的使用UDP协议的网络状态信息
[root@localhost run]#rpm -qa|grep nmap ### 查看nmap
[root@localhost run]#yum install -y nmap ###安装nmap
示例:
分别查看本机开放的TCP端口、UDP端口
检测192.168.146.0/24网段有哪些存活主机
总结
1.账号基本安全措施
( 系统账号清理、密码安全控制、命令历史清理、自动注销 )
2.用户切换与提权
( su 、sudo )
3.开关机安全控制
(BIOS引导设置、禁止Ctrl+Alt+Del快捷键、GRUB菜单设置密码)
4.终端控制
5.namp命令
本文标签: 系统安全
版权声明:本文标题:系统安全及应用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1726387090a1068273.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论