124,253
社区成员




一、前言
因最近防勒索病毒的要求,故想加固服务器登录,尤其服务器横向网络,考虑把Linux服务器做双因子身份验证(Two-Factor Authentication,2FA),它可在登录时要求提供两个不同的身份验证因素,以增加账户的安全性,依据网络经验,还是选用 Google Authenticator 来作为本次双因子身份验证的功能实现。
二、部署配置
1、首先需要启用epel仓库,执行: yum install epel-release
2、配置时间同步:内网机器间建议不超过30S),yum -y install ntp ntpdate;ntpdate ntp1.aliyun.com
3、接安装google验证器 :
# 查看版本信息
yum list google-authenticator
# 安装
yum install google-authenticator
#或编译安装 github地址: https://github.com/google/google-authenticator-libpam
4、安装完成之后进行初始化配置,执行:
google-authenticator
---------------------------- Do you want authentication tokens to be time-based (y/n) y //上述共需回答5个y
第1个:问你是否想做一个基于时间的令牌 y (需要记录二维码,或者URL,或者口令)
第2个:是否更新你的google认证文件,由于第一次设置,所以一定选 y
第3个:是否禁止口令多用,这里选择y,禁止它,以防止中间人欺骗。y
第4个:默认情况,1个口令的有效期是30s,这里是为了防止主机时间和口令客户端时间不一致,设置的误差,可以选择y,也可选n,看要求严谨程度 y
第5个:是否打开尝试次数限制,默认情况,30s内不得超过3次登录测试,防止别人暴力破解。y
5、给ssh启用google验证:
echo "auth required pam_google_authenticator.so" >> /etc/pam.d/sshd
6、修改ssh的配置文件/etc/ssh/sshd_config,将下列参数调整为yes
ChallengeResponseAuthentication yes
7、重启ssh服务 :
systemctl restart sshd