Linux操作文档——系统安全及应用基础

文章目录

    • 一、账号安全控制
      • 1、基本安全措施
      • 2、密码安全控制
      • 3、命令历史、自动注销
    • 2、用户切换与提权
      • 1、su命令:切换用户
      • 2、sudo命令:提升执行权限
      • 3、通过sudo执行特权命令
    • 二、系统引导和登录控制
      • 1、开关机安全控制
      • 2、终端登录控制
    • 三、弱口令检测、端口扫描
      • 1、弱口令检测——John the Ripper
      • 2、网络扫描——NMAP


一、账号安全控制

1、基本安全措施

1、系统账号清理
grep “/sbin/nologin$” /etc/passwd //查找登录Shell是/sbin/nologin的用户
usermod -L 账号名称 //锁定账号
passwd -S 账号名称 //查看账号状态
usermod -U 账号名称 //解锁账号
chattr +i /etc/passwd /etc/shadow //锁定文件
Isattr /etc/passwd /etc/shadow //查看为锁定的状态
chattr -i /etc/passwd /etc/shadow //解锁文件
Isattr /etc/passwd /etc/shadow //查看为解锁的状态

2、密码安全控制

1、将密码的有效期设为30天,

[root@localhost ~]# vim /etc/login.defs              //适用于新建的用户
PASS_MAX_DAYS   30
[root@localhost ~]# chage -M 30 lisi             //适用于已有的用户

2、强制要求用户下次登录时重设密码

[root@localhost ~]# chage -d 0 lisi

3、命令历史、自动注销

1、设置最多只记录200 条历史命令

[root@localhost ~]# vim /etc/profile             //适用于新登录用户
HISTSIZE=200
[root@localhost ~]# export HISTSIZE=200             //适用于当前用户

2、当用户退出已登录Bash环境以后,所记录的历史命令将自动清空

[root@localhost ~]# vim ~/.bash_logout 
history -c
clear

3、当超过指定的时间没有任何输入时即自动注销终端,闲置超时由变量TMOUT来控制,默认单位为秒估)

[root@localhost ~]# vim /etc/profile             //适用于新登录用户
export TMOUT=600
[root@localhost ~]# export TMOUT=600             //适用于当前用户

2、用户切换与提权

1、su命令:切换用户

[root@localhost ~]# su - root

借助于pam_wheel认证模块,只允许极个别用户使用su命令进行切换
将授权使用su命令的用户添加到wheel组,修改 /etc/pam. d/su认证配置以启用pam_wheel认证

[root@localhost ~]# gpasswd -a zhangsan wheel
正在将用户“zhangsan”加入到“wheel”组中
[root@localhost ~]# grep wheel /etc/group
wheel:x:10:lisi,zhangsan
[root@localhost ~]# vim /etc/pam.d/su
auth            required        pam_wheel.so use_uid             //去掉此行开头的#号

启用pam_wheel认证以后,未加入到wheel组内的其他用户将无法使用su命令

[root@localhost ~]# su - zhangsan
[zhangsan@localhost ~]$ su - root
密码:
上一次登录:四 7月 16 20:31:08 CST 2020pts/0 上
[root@localhost ~]# su - wangwu
[wangwu@localhost ~]$ su - root
密码:
su: 拒绝权限

2、sudo命令:提升执行权限

在配置文件/etc/sudoers中添加授权
在这里插入图片描述
格式:用户(%组名) 主机=命令
例如:
授权用户jerry能够执行ifconfig命令来修改IP地址,而wheel组的用户无需验证密码即可执行任何命令
在这里插入图片描述
用户、主机、 命令部分都可以定义为别名(必须为大写),分别通过关键字User_Alias、 Host_Alias、Cmnd_Alias来进行设置
允许用户jerrys,tom,tsengyia在主机smtp、pop中执行rpm、yum命令
在这里插入图片描述
通配符"*"、取反符号"!"
授权用户synaner可以执行/sbin/目录下除ifconfig、 route以外的其他所有命令程序
在这里插入图片描述
启用sudo日志记录以备管理员查看
在这里插入图片描述

3、通过sudo执行特权命令

查看用户获得哪些sudo授权
Linux操作文档——系统安全及应用基础_第1张图片
查看用户的sudo操作记录
Linux操作文档——系统安全及应用基础_第2张图片

二、系统引导和登录控制

1、开关机安全控制

1、调整BIOS引导设置
(1)将第一优先引导设备(First Boot Device)设为当前系统所在磁盘。
(2)禁止从其他设备(如光盘、U盘、网络等)引导系统,对应的项设为"Disabled"。
(3)将BOS的安全级别改为"setup",并设置好管理密码,以防止未授权的修改。
2、禁止Ctrl+Alt+Del快捷键重启

[root@localhost ~]# systemctl mask ctrl-alt-del.target              //禁止Ctrl+Alt+Del快捷键重启
Created symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null.
[root@localhost ~]# systemctl daemon-reload              //刷新配置
[root@localhost ~]# systemctl unmask ctrl-alt-del.target             //开启Ctrl+Alt+Del快捷键重启
[root@localhost ~]# systemctl daemon-reload             //刷新配置

3、限制更改GRUB引导参数

[root@localhost ~]# grub2-mkpasswd-pbkdf2 
输入口令:
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.0231854D0AD301240629102B62FCFB09E7347E7E3254E34ACE0186A41BA65A2A749B6A5F59AC37B6431649D5D0F3238CFC2ED92C407468C0CE2B29C2F3FFF9A8.1906AC682652E7EEC736AC3F4E866D2C5038EB4AED72D980331CE80ED4D05A9929F043A5EB7190FD3775294CE50FCFA745C16E783A93E52F77E0D3A9695C246A
[root@localhost ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@localhost ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
[root@localhost ~]# vim /etc/grub.d/00_header
......
cat<<  EOF
set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.0231854D0AD301240629102B62FCFB09E7347E7E3254E34ACE0186A41BA65A2A749B6A5F59AC37B6431649D5D0F3238CFC2ED92C407468C0CE2B29C2F3FFF9A8.1906AC682652E7EEC736AC3F4E866D2C5038EB4AED72D980331CE80ED4D05A9929F043A5EB7190FD3775294CE50FCFA745C16E783A93E52F77E0D3A9695C246A
EOF
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.8.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.8.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1062.18.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1062.18.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-fc8e001937cb4a35b289459e53090806
Found initrd image: /boot/initramfs-0-rescue-fc8e001937cb4a35b289459e53090806.img
done

Linux操作文档——系统安全及应用基础_第3张图片

2、终端登录控制

1、禁止root用户登录

[root@localhost ~]# vim /etc/securetty             //禁止root用户从tty5、tty6登录
tty1
tty2
tty3
tty4
#tty5
#tty6
tty7
tty8

2、禁止普通用户登录(root用户不受限制),当手动删除/etc/nologin文件或者重新启动主机以后,即可恢复正常。

[root@localhost ~]# touch /etc/nologin

三、弱口令检测、端口扫描

1、弱口令检测——John the Ripper

安装John the Ripper
在这里插入图片描述
Linux操作文档——系统安全及应用基础_第4张图片
查看已破解出的账户列表
Linux操作文档——系统安全及应用基础_第5张图片
使用密码字典文件
清空己破解出的账户列表后重新分析
Linux操作文档——系统安全及应用基础_第6张图片

2、网络扫描——NMAP

1、安装NMAP软件包

[root@localhost ~]# yum -y install nmap
参数 说明 参数 说明
-p 指定扫描的端口 -n 禁用反向DNS解析(以加快扫描速度)
-sS 查看目标端口是否正在监听,并立即断开连接;否则认为目标端口并未开放 -sT 查看目标端口正在监听服务,否则认为目标端口并未开放
-sF 间接检测防火墙的健壮性 -sU 探测目标主机提供哪些UDP服务
-sP 快速判断目标主机是否存活 -P0 跳过ping检测

扫描常用的TCP端口
Linux操作文档——系统安全及应用基础_第7张图片
扫描常用的UDP端口
Linux操作文档——系统安全及应用基础_第8张图片
例如:
检查192.168.4.0/24网段中有哪些主机提供FTP服务:nmap -p 21 192.168.4.0/24
检测192.168.4.0/24网段中有哪些存活主机(能ping通):nmap -n -sP 192.168.4.0/24
检测IP地址位于192.168.4.100-200的主机是否开启文件共享服务:nmap -p 139,445 192.168.4.100-200

你可能感兴趣的:(linux,运维,centos)