欢迎留言: | Guestbook |

linux远程登录安全配置

 两个需求:
1. linux中操作系统用户登录主机,密码输入错误超过3次后,该用户锁定5分钟。

2. linux中操作系统用户登录进入主机后,若是在3分钟之 内,无任何操作,自动锁定(必须重新输入密码后才能进入)

第一个需求:
利用pam搞定,在/etc/pam.d/system-auth中添加如下:
auth        required      pam_tally2.so  deny=3 unlock_time=300
注意这里添加不是随便加到什么地方,而是必须加到auth        required      pam_env.so 这一行下面。
否则不起作用。
64位系统中,通过路径/lib/security/pam_tally2.so添加到其他位置,貌似生效,但超过设置解锁时间后还是登录不 上,甚至用其他帐号登录也不行。
原因可以通过/var/log/secure看到,在登录时报如下错误:
error: /lib/security/pam_tally.so: wrong ELF class: ELFCLASS32
是因为64位系统中找64位的pam库文件,而不是/lib中32位的。
如果不放到指定位置,即使添加完整/lib64/security/pam_tally2.so也无法实现用户锁定。

注意这里的账户锁定无法通过passwd -S USERNAME查看,而是通过
pam_tally2 -u USERNAME查看,比如:
[root@db]# pam_tally2 -u oracle
Login           Failures Latest failure     From
oracle              3    01/01/12 17:48:12  192.168.0.18

如果在unlock_time时间内想手工解锁,可以使用如下命令:
[root@db]# pam_tally2 -u oracle -r
Login           Failures Latest failure     From
oracle              3    01/01/12 17:48:12  192.168.0.18

这时候再查看:
[root@db]# pam_tally2 -u oracle
Login           Failures Latest failure     From
oracle              0

如果通过错误的配置方式实现“锁定”,用pam_tally2查看不到用户的失败信息的。

利用pam_tally.so也是如此,一定注意在system-auth中的位置。
以上对vnc同样生效。

第二个需求:
可以通过设置用户的time out实现,最简单的方法比如对oracle用户限制,则在oracle的.bash_profile中设置参数:
TMOUT=180
达到时间后session自动退出,进入必须重新登录输入密码。
当然如果执行监控比如tail -f  alter.log、top等,算是有活动会话,不会退出的。
以上设置针对单个用户,也可在/etc/profile中设置,比如添加如下:
if [ $USER != "root" ];then
   TMOUT=180
fi

则对除root用户外,所有其他用户生效。如果去掉if语句,只保留TMOUT=180,则对所有用户生效。
注意这种方式对vnc不生效。如果相对vnc设置超时锁定,需要启用并设置屏幕保护用来锁屏。
这里存在一个问题就是屏幕保护默认情况不对root用户锁屏的,因此安全起见,要禁用root的vnc登录。

相关文章:

One Response to “linux远程登录安全配置”

Leave a Reply

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • 网站分类

  • 最近发表

  • 最近留言

  • 最新评论及回复