共计 5067 个字符,预计需要花费 13 分钟才能阅读完成。
近期接连爆出的多起重大且具深远影响的安全门事件,使得信息安全越来越受重视,个人隐私保护是一方面,考虑到国情,个人隐私不是丢失多少的问题,而是还能保留多少,很多情况下无法左右,所以多数人都是抱着无所谓的心态。不过做为系统管理员,就不能也这样想喽,自己所管理的服务器的安全可是不容小视,若有丢失,那影响可就大了。
同样是基于国情,我们知道国内金融等领域推出的硬件验证码颇具实效,每次使用网银时,必须要插入一个小设备,并且需要将这个设备中生成的随机验证码,做为登录的重要条件输入成功之后,才能正常使用系统功能。
对于屌丝管理员,我们不太可能为我们管理的服务器申请这类设备,不过,通过一些技术应用,我们可以将手机也变成一个类似随机验证码生成器 (感谢 Google),每次登录系统时,除了常规的用户 / 密码验证外,还需要绑定了指定密钥的手机上生成的验证码,才能顺利登录系统。若有此机制的话,那么即使密钥泄露,除非获取到密码的那个人,同时也拿到你的手机,否则因为它没有验证码,仍然无法登录执行破坏,系统就是安全的。同学们,动心了没有,如果好奇心没有完全泯灭的话,就继续往下看吧。
如何从 Web 浏览器远程监视 Linux 服务器和桌面 http://www.linuxidc.com/Linux/2014-05/101790.htm
以我手边的某台 Linux 服务器为例。下载 Google 的身份验证模块:
# wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
解压缩并编译安装,操作步骤如下:
# tar xvf libpam-google-authenticator-1.0-source.tar.bz2
# cd libpam-google-authenticator-1.0
# make
# make install
而后,google 的验证模块就会被复制到 /lib64/security 目录下,而用来生成密钥的可执行程序:google-authenticator,则复制到 /usr/local/bin 目录下,方便调用。
提示:编译安装 google-authenticator 需要 pam-devel 依赖包,如果没有的话,请首先安装该依赖包哟。
比如,我们想为 jss 用户增加一层额外的验证机制,则先通过 google-authenticator 生成密钥:
[www.linuxidc.com@localhost ~]$ google-authenticator
Do you want authentication tokens to be time-based (y/n) y
首先会提示你,是否要基于时间生成令牌,选择 Y,然后它会生成密钥,以及紧急状态使用的验证码 (有 5 个,谨当无法获取验证码时使用,注意这些紧急验证码用一次就少一个的哟,所以这几个紧急验证码一定要保存好,关键时刻要派上大用场的),详细信息如下:
https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth://totp/jss@localhost.localdomain%3Fsecret%3D3V7K2ONO55DE56SD
Your new secret key is: 3V7K2ONO55DE56SD
Your verification code is 424380
Your emergency scratch codes are:
96307775
87311306
56915688
84694809
27875014
然后会提示你是否要更新验证文件,必须更新啊:
Do you want me to update your “/home/jss/.google_authenticator” file (y/n) y
提示是否禁止多次使用相同的令牌登录:
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/101791p2.htm
默认情况下,令牌只在 30 秒内有效,由于客户端和服务器时间不完全一致的因素,可以将时间窗口加大到最长 4 分钟,是否要这么做:
By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y
是否限制尝试次数,每 30 秒只能尝试最多 3 次:
If the computer that you are logging into isn’t hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y
密钥生成好之后,下面修改 PAM 中关于 ssh 的配置,编辑 /etc/pam.d/sshd 文件:
# vim /etc/pam.d/sshd
增加一行:
auth required pam_google_authenticator.so
接下来再修改 ssh 的配置文件,编辑 /etc/ssh/sshd_config 文件:
# vim /etc/ssh/sshd_config
将 ChallengeResponseAuthentication no 修改为 ChallengeResponseAuthentication yes
然后重新启动 ssh 服务:
当再次使用 jss 用户以 SSH 方式登录时,就会提示输出验证码:
[root@mysqldb02 ~]# ssh jss@192.168.30.249
Verification code:
那么,验证码从哪里来呢,朋友,您这算是问到点儿上了。拿出你的手机,安装一款名叫:Google 身份验证器的应用。在打开的应用界面中新增帐户,然后会出现两个选择:扫描条形码 (二维码),或者选择输出提供的密钥,任选其一即可。
有同学可能会问,这两项信息从哪里来呢,同学,请你再仔细看下,执行 google-authenticator 命令后首先输出的信息,那个 HTTP 的网址,打开你就会发现,原来它是个图片二维码,扫描即可。若网址打不开也没关系,选择密钥就是了嘛。
帐户添加完成后,您应该就能在手机上看到它生成的验证码了,先输入验证码,然后再输入密码,只有验证码和密码都输入正确,才能正常登录。
Password:
Last login: Tue Jan 14 10:14:33 2014 from 192.168.30.246
注意哟,输入验证码的时间最长只有 30 秒钟,超时之后该验证码就失效,需要到手机端获取新的验证码才行。
近期接连爆出的多起重大且具深远影响的安全门事件,使得信息安全越来越受重视,个人隐私保护是一方面,考虑到国情,个人隐私不是丢失多少的问题,而是还能保留多少,很多情况下无法左右,所以多数人都是抱着无所谓的心态。不过做为系统管理员,就不能也这样想喽,自己所管理的服务器的安全可是不容小视,若有丢失,那影响可就大了。
同样是基于国情,我们知道国内金融等领域推出的硬件验证码颇具实效,每次使用网银时,必须要插入一个小设备,并且需要将这个设备中生成的随机验证码,做为登录的重要条件输入成功之后,才能正常使用系统功能。
对于屌丝管理员,我们不太可能为我们管理的服务器申请这类设备,不过,通过一些技术应用,我们可以将手机也变成一个类似随机验证码生成器 (感谢 Google),每次登录系统时,除了常规的用户 / 密码验证外,还需要绑定了指定密钥的手机上生成的验证码,才能顺利登录系统。若有此机制的话,那么即使密钥泄露,除非获取到密码的那个人,同时也拿到你的手机,否则因为它没有验证码,仍然无法登录执行破坏,系统就是安全的。同学们,动心了没有,如果好奇心没有完全泯灭的话,就继续往下看吧。
如何从 Web 浏览器远程监视 Linux 服务器和桌面 http://www.linuxidc.com/Linux/2014-05/101790.htm
以我手边的某台 Linux 服务器为例。下载 Google 的身份验证模块:
# wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
解压缩并编译安装,操作步骤如下:
# tar xvf libpam-google-authenticator-1.0-source.tar.bz2
# cd libpam-google-authenticator-1.0
# make
# make install
而后,google 的验证模块就会被复制到 /lib64/security 目录下,而用来生成密钥的可执行程序:google-authenticator,则复制到 /usr/local/bin 目录下,方便调用。
提示:编译安装 google-authenticator 需要 pam-devel 依赖包,如果没有的话,请首先安装该依赖包哟。
比如,我们想为 jss 用户增加一层额外的验证机制,则先通过 google-authenticator 生成密钥:
[www.linuxidc.com@localhost ~]$ google-authenticator
Do you want authentication tokens to be time-based (y/n) y
首先会提示你,是否要基于时间生成令牌,选择 Y,然后它会生成密钥,以及紧急状态使用的验证码 (有 5 个,谨当无法获取验证码时使用,注意这些紧急验证码用一次就少一个的哟,所以这几个紧急验证码一定要保存好,关键时刻要派上大用场的),详细信息如下:
https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth://totp/jss@localhost.localdomain%3Fsecret%3D3V7K2ONO55DE56SD
Your new secret key is: 3V7K2ONO55DE56SD
Your verification code is 424380
Your emergency scratch codes are:
96307775
87311306
56915688
84694809
27875014
然后会提示你是否要更新验证文件,必须更新啊:
Do you want me to update your “/home/jss/.google_authenticator” file (y/n) y
提示是否禁止多次使用相同的令牌登录:
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/101791p2.htm