前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统安全及应用基础

系统安全及应用基础

作者头像
章工运维
发布2023-05-19 17:55:55
5930
发布2023-05-19 17:55:55
举报
文章被收录于专栏:章工运维章工运维

# 一、账号安全控制

# 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、密码安全控制

/etc/pam.d/password-auth

代码语言:javascript
复制
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=  difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 
  • difok= 定义新密码中必须要有几个字符和旧密码不同
  • minlen = 新密码的最小长度
  • ucredit= 新密码中可以包含的大写字母的最大数目。-1 至少一个
  • lcredit = 新密码中可以包含的小写字母的最大数
  • dcredit = 定新密码中可以包含的数字的最大数目

注:这个密码强度的设定只对 "普通用户" 有限制作用,root 用户无论修改自己的密码还是修改普通用户的时候,不符合强度设置依然可以设置成功

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

代码语言:javascript
复制
# vim /etc/login.defs              //适用于新建的用户
PASS_MAX_DAYS   30
# chage -M 30 lisi             //适用于已有的用户

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

代码语言:javascript
复制
# chage -d 0 lisi
# 3、命令历史、自动注销

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

代码语言:javascript
复制
# vim /etc/profile             //适用于新登录用户
HISTSIZE=200
# export HISTSIZE=200             //适用于当前用户

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

代码语言:javascript
复制
# vim ~/.bash_logout 
history -c
clear

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

代码语言:javascript
复制
# vim /etc/profile             //适用于新登录用户
export TMOUT=600
# export TMOUT=600             //适用于当前用户

# 2、用户切换与提权

# 1、su 命令:切换用户
代码语言:javascript
复制
# su - root

借助于 pam_wheel 认证模块,只允许极个别用户使用 su 命令进行切换

将授权使用 su 命令的用户添加到 wheel 组,修改 /etc/pam. d/su 认证配置以启用 pam_wheel 认证

代码语言:javascript
复制
# gpasswd -a zhangsan wheel
正在将用户“zhangsan”加入到“wheel”组中
# grep wheel /etc/group
wheel:x:10:lisi,zhangsan
# vim /etc/pam.d/su
auth            required        pam_wheel.so use_uid             //去掉此行开头的#号

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

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

# 2、 用户帐号限制

  • /etc/login.defs 配置文件是设置用户帐号限制的文件,可配置密码的最大过期天数,密码的最大长度约束等内容。
  • 该文件里的配置对 root 用户无效。此文件中的配置与 /etc/passwd/etc/shadow 文件中的用户信息有冲突时,系统会以 /etc/passwd/etc/shadow 为准。
  • /etc/login.defs 文件用于在 Linux 创建用户时,对用户的一些基本属性做默认设置,例如指定用户 UID 和 GID 的范围,用户的过期时间,密码的最大长度,等等。

设置项

含义

MAIL_DIR /var/spool/mail

创建用户时,系统会在目录 /var/spool/mail 中创建一个用户邮箱,比如 lamp 用户的邮箱是 /var/spool/mail/lamp。

PASS_MAX_DAYS 99999

密码有效期,99999 是自 1970 年 1 月 1 日起密码有效的天数,相当于 273 年,可理解为密码始终有效。

PASS_MIN_DAYS 0

表示自上次修改密码以来,最少隔多少天后用户才能再次修改密码,默认值是 0。

PASS_MIN_LEN 5

指定密码的最小长度,默认不小于 5 位,但是现在用户登录时验证已经被 PAM 模块取代,所以这个选项并不生效。

PASS_WARN_AGE 7

指定在密码到期前多少天,系统就开始通过用户密码即将到期,默认为 7 天。

UID_MIN 500

指定最小 UID 为 500,也就是说,添加用户时,默认 UID 从 500 开始。注意,如果手工指定了一个用户的 UID 是 550,那么下一个创建的用户的 UID 就会从 551 开始,哪怕 500~549 之间的 UID 没有使用。

UID_MAX 60000

指定用户最大的 UID 为 60000。

GID_MIN 500

指定最小 GID 为 500,也就是在添加组时,组的 GID 从 500 开始。

GID_MAX 60000

用户 GID 最大为 60000。

CREATE_HOME yes

指定在创建用户时,是否同时创建用户主目录,yes 表示创建,no 则不创建,默认是 yes。

UMASK 077

用户主目录的权限默认设置为 077。

USERGROUPS_ENAB yes

指定删除用户的时候是否同时删除用户组,准备地说,这里指的是删除用户的初始组,此项的默认值为 yes。

ENCRYPT_METHOD SHA512

指定用户密码采用的加密规则,默认采用 SHA512,这是新的密码加密模式,原先的 Linux 只能用 DES 或 MD5 加密。

# 二、系统引导和登录控制

# 1、开关机安全控制

# 1、调整 BIOS 引导设置
  • (1)将第一优先引导设备 (First Boot Device) 设为当前系统所在磁盘。
  • (2)禁止从其他设备 (如光盘、U 盘、网络等) 引导系统,对应的项设为 "Disabled"。
  • (3)将 BOS 的安全级别改为 "setup",并设置好管理密码,以防止未授权的修改。
# 2、禁止 Ctrl+Alt+Del 快捷键重启
代码语言:javascript
复制
# systemctl mask ctrl-alt-del.target              //禁止Ctrl+Alt+Del快捷键重启
Created symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null.
# systemctl daemon-reload              //刷新配置
# systemctl unmask ctrl-alt-del.target             //开启Ctrl+Alt+Del快捷键重启
# systemctl daemon-reload             //刷新配置
# 3、限制更改 GRUB 引导参数
代码语言:javascript
复制
# grub2-mkpasswd-pbkdf2 
输入口令:
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.0231854D0AD301240629102B62FCFB09E7347E7E3254E34ACE0186A41BA65A2A749B6A5F59AC37B6431649D5D0F3238CFC2ED92C407468C0CE2B29C2F3FFF9A8.1906AC682652E7EEC736AC3F4E866D2C5038EB4AED72D980331CE80ED4D05A9929F043A5EB7190FD3775294CE50FCFA745C16E783A93E52F77E0D3A9695C246A
# 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"
password_pbkdf2 root grub.pbkdf2.sha512.10000.0231854D0AD301240629102B62FCFB09E7347E7E3254E34ACE0186A41BA65A2A749B6A5F59AC37B6431649D5D0F3238CFC2ED92C407468C0CE2B29C2F3FFF9A8.1906AC682652E7EEC736AC3F4E866D2C5038EB4AED72D980331CE80ED4D05A9929F043A5EB7190FD3775294CE50FCFA745C16E783A93E52F77E0D3A9695C246A
EOF
# 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

# 2、终端登录控制

1、禁止 root 用户登录

代码语言:javascript
复制
# vim /etc/securetty             //禁止root用户从tty5、tty6登录
tty1
tty2
tty3
tty4
#tty5
#tty6
tty7
tty8

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

代码语言:javascript
复制
# touch /etc/nologin

#

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

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

安装 John the Ripper

查看已破解出的账户列表

使用密码字典文件

清空己破解出的账户列表后重新分析

# 2、网络扫描 ——NMAP

# 1、安装 NMAP 软件包
代码语言:javascript
复制
# yum -y install nmap

1

参数

说明

参数

说明

-p

指定扫描的端口

-n

禁用反向 DNS 解析(以加快扫描速度)

-sS

查看目标端口是否正在监听,并立即断开连接;否则认为目标端口并未开放

-sT

查看目标端口正在监听服务,否则认为目标端口并未开放

-sF

间接检测防火墙的健壮性

-sU

探测目标主机提供哪些 UDP 服务

-sP

快速判断目标主机是否存活

-P0

跳过 ping 检测

扫描常用的 TCP 端口

扫描常用的 UDP 端口

例如:

检查 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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 一、账号安全控制
    • # 1、基本安全措施
      • # 1、系统账号清理
      • # 2、密码安全控制
      • # 3、命令历史、自动注销
    • # 2、用户切换与提权
      • # 1、su 命令:切换用户
    • # 2、 用户帐号限制
    • # 二、系统引导和登录控制
      • # 1、开关机安全控制
        • # 1、调整 BIOS 引导设置
        • # 2、禁止 Ctrl+Alt+Del 快捷键重启
        • # 3、限制更改 GRUB 引导参数
      • # 2、终端登录控制
      • #
        • # 1、弱口令检测 ——John the Ripper
          • # 2、网络扫描 ——NMAP
            • # 1、安装 NMAP 软件包
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档