步骤一:显示当前 SSL 全局加密 SSL 的状况
# update-crypto-policies --show
DEFAULT
(补充:这里的 DEFAULT 表示可以使用 2048 位及以上位数的 SSL)
步骤二:切换当前 SSL 全局加密 SSL
# update-crypto-policies --set FUTURE
(
补充:
1) 这里以将全局加密 SSL 切换到 FUTURE 状态为例
2) 此时只能使用 4096 位及以上位数的 SSL
)
# update-crypto-policies --show
DEFAULT
(补充:这里的 DEFAULT 表示可以使用 2048 位及以上位数的 SSL)
# update-crypto-policies --set FUTURE
(
补充:
1) 这里以将全局加密 SSL 切换到 FUTURE 状态为例
2) 此时只能使用 4096 位及以上位数的 SSL
)
# vim /etc/ssh/sshd_config
将以下内容:
#Banner none
修改为:
Banner eternalcenter
或者:
# sed -i 's/.*Banner.*/Banner eternalcenter/' /etc/ssh/sshd_config
(补充:这里以将 ssh 登录提示信息修改为 eternalcenter 为例)
# systemctl restart sshd
$ echo $DISPLAY
localhost:10.0
(补充:这里的图形变量参数是 localhost:10.0)
$ su - root
(补充:这里以切换到 root 用户为例)
# export DISPLAY=localhost:10.0
(补充:这里以将图像变量设置为刚才看到的 localhost:10.0 为例)
# xclock
(补充:这里以使用 xclock 图形程序为例)
# vim /etc/pam.d/sshd
在此行:
......
auth include common-auth
......
下面添加:
......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000
......
在此行:
......
account include common-account
......
下面添加:
......
account required pam_tally2.so
......
或者:
# sed -i '/auth.*include.*common-auth/a auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000' /etc/pam.d/sshd; sed -i '/account.*include.*common-account/a account required pam_tally2.so' /etc/pam.d/sshd
(
补充:
1) 这里的 pam_tally2.so 代表使用 pam_tally2.so 模块
2) 这里的 silent 代表不会显示信息性的消息
3) 这里的 deny=15 代表输错 15 次后会禁止登录
4) 这里的 unlock_time=3000 代表禁止登录后 3000 毫秒后可以重新登录
5) 这里的 even_deny_root 代表 root 用户和其它用户一样会被锁住
6) 这里的 root_unlock_time=3000 代表禁止 root 用户登录后 3000 毫秒后可以重新登录
)
# pam_tally2 -u <user>
# pam_tally2 -u <user> -r --reset
# vim /etc/pam.d/sshd
在此行:
......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000
......
下面添加:
......
auth [success=1 default=ignore] pam_succeed_if.so user in mingyuzhu1:mingyuzhu2:mingyuzhu3
......
(补充:这里以排除用户 zhumingyu1、zhumingyu2 和 zhumingyu3 的输错密码次数限制为例)
https://access.redhat.com/solutions/62949
(注意:步骤一和步骤二只用完成其一就行)
# grub2-mkpasswd-pbkdf2
Enter password:
Reenter password:
PBKDF2 hash of your password is
grub.pbkdf2.sha512.10000.
B857B79D02FF55CA3A69B8485C1A4A427424630C804CC8A89134520A34E056D7882A778F6BC8AD856CB95DF8B99BE25F9FEAD899D826BB3915FB20BAD682D10A.4A1CF49B7F815A0578031CCA2CE98C66BDFBEAB0AE2721531BB54AFC6CFFA990FBD9062F41C006376C283B717FEC1BD9BB1AFB882AF91B5F4A812459D7974D1F
(补充:这里以生成 eternalcenter 的 GRUB2 SHA512 值为例)
(注意:grub.pbkdf2.sha512.10000……. 后面的一长串字母和数字其实是 1 行,这里因为是显示问题所以看上去是多行)
如果是 EFI 的 CentOS & RHEL:
# echo "GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.B857B79D02FF55CA3A69B8485C1A4A427424630C804CC8A89134520A34E056D7882A778F6BC8AD856CB95DF8B99BE25F9FEAD899D826BB3915FB20BAD682D10A.4A1CF49B7F815A0578031CCA2CE98C66BDFBEAB0AE2721531BB54AFC6CFFA990FBD9062F41C006376C283B717FEC1BD9BB1AFB882AF91B5F4A812459D7974D1F" > /boot/efi/EFI/redhat/user.cfg
(
补充:
1) 登录用户 root
2) 登录密码 eternalcenter
3) 这里的 grub.pbkdf2.sha512.10000.B857B…… 是由步骤一生成的
)
(注意:这里其实只有 1 行,因为是显示问题所以看上去是多行)
如果是 BIOS 的 CentOS & RHEL:
# echo "GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.B857B79D02FF55CA3A69B8485C1A4A427424630C804CC8A89134520A34E056D7882A778F6BC8AD856CB95DF8B99BE25F9FEAD899D826BB3915FB20BAD682D10A.4A1CF49B7F815A0578031CCA2CE98C66BDFBEAB0AE2721531BB54AFC6CFFA990FBD9062F41C006376C283B717FEC1BD9BB1AFB882AF91B5F4A812459D7974D1F" > /boot/grub2/user.cfg
(
补充:
1) 登录用户 root
2) 登录密码 eternalcenter
3) 这里的 grub.pbkdf2.sha512.10000.B857B…… 是由步骤一生成的
)
(注意:这里其实只有 1 行,因为是显示问题所以看上去是多行)
(注意:步骤一和步骤二只用完成其一就行)
# grub2-setpassword
Enter password: <password>
Confirm password: <password>
Run the following command to update the grub2 configuration:
# grub2-mkconfig -o /boot/grub2/grub.cfg
(步骤略)
当启动系统时按下 “E” 键
如果是 EFI 的 CentOS & RHEL:
# vim /boot/efi/EFI/redhat/grub.cfg
将以下内容:
### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
source ${prefix}/user.cfg
if [ -n "${GRUB2_PASSWORD}" ]; then
set superusers="root"
export superusers
password_pbkdf2 root ${GRUB2_PASSWORD}
fi
fi
### END /etc/grub.d/01_users ###
修改为:
### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
source ${prefix}/user.cfg
if [ -n "${GRUB2_PASSWORD}" ]; then
set superusers="eternalcenter"
export superusers
password_pbkdf2 root ${GRUB2_PASSWORD}
fi
fi
### END /etc/grub.d/01_users ###
(补充:这里以将登陆用户设置为 eternalcenter 为例)
如果是 BIOS 的 CentOS & RHEL:
# vim /boot/grub2/grub.cfg
将以下内容:
### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
source ${prefix}/user.cfg
if [ -n "${GRUB2_PASSWORD}" ]; then
set superusers="root"
export superusers
password_pbkdf2 root ${GRUB2_PASSWORD}
fi
fi
### END /etc/grub.d/01_users ###
修改为:
### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
source ${prefix}/user.cfg
if [ -n "${GRUB2_PASSWORD}" ]; then
set superusers="eternalcenter"
export superusers
password_pbkdf2 root ${GRUB2_PASSWORD}
fi
fi
### END /etc/grub.d/01_users ###
(补充:这里以将登陆用户设置为 eternalcenter 为例)
# grub2-editenv - set grub_users="root"
(补充:这里以将登录 GRUB2 Bootloader 的用户设置为 root 为例)
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/managing_monitoring_and_updating_the_kernel/assembly_protecting-grub-with-a-password_managing-monitoring-and-updating-the-kernel