我只是检查我的日志在我的契约服务器上,我发现auth.log有一些奇怪的日志: Jun 17 22:27:01 mutualab CRON[16249]: pam_unix(cron:session): session opened for user user by (uid=0) Jun 17 22:27:01 mutualab CRON[16249]: pam_unix(cron:session): session closed for user user Jun 17 22:28:01 mutualab CRON[16253]: pam_unix(cron:session): session opened for user user by (uid=0) Jun 17 22:28:01 mutualab CRON[16253]: pam_unix(cron:session): session closed for user alain Jun 17 22:29:01 mutualab CRON[16257]: pam_unix(cron:session): […]
我正在通过一个强化我的服务器安全性的过程来防止将服务器附加到IP并给它一个域名时出现的每日黑客攻击。 我可以每天从1到8次的暴力破解试图以root身份或者蛮力尝试不同的名字来访问SSH,而这是在没有公开声誉的服务器上运行(它没有运行任何大型网站等)。 由于我configuration了我的SSH服务器的方式,我敢肯定,这些尝试也将失败,但我真的不喜欢让别人尝试。 当然,我也为包括SSH在内的更敏感的服务设置了连接速率限制。 我现在在做什么: 我可以从我的auth.log中看到, PAM确实获得了那些试图login的远程IP地址,而且我正在使用一个脚本,它定期扫描这些失败的尝试,并添加一个IP阻止防火墙。 我想要做什么: 我想要做的是使这个IP禁止过程更快地做出回应。 这不是等待轮询脚本来接收它,我想要一个PAM模块来计算从IP(而不是服务或用户)连续失败的尝试,并采取一些行动,如: 拒绝来自该IP的所有未来login尝试 发出一个命令,将添加一个规则到防火墙,以完全禁止IP 问题: 是否已经有一个很好的PAM模块可以注意到IPauthentication失败,或者我需要自己写吗?
我使用pam_tally2来locking每个策略3次login失败后的帐户,但是,连接用户没有收到指示pam_tally2操作的错误。 (通过SSH。) 我期望看到第四次尝试: Account locked due to 3 failed logins 没有必要或必要的组合或在文件中的顺序似乎有所帮助。 这是在Red Hat 6下 ,我正在使用/etc/pam.d/password-auth 。 locking按预期工作,但用户不会收到上述错误。 这导致了很多困惑和挫折,因为他们没有办法知道为什么authentication失败,当他们确定他们正在使用正确的密码。 实施遵循NSA的红帽企业Linux 5安全组合指南 。 (第45页)我的理解是, PAM中唯一改变的是/etc/pam.d/sshd现在包含/etc/pam.d/password-auth而不是system-auth 。 如果您的安全策略需要多次错误的login尝试后locking帐户,请实施pam_tally2.so。 要强制密码locking,请将以下内容添加到/etc/pam.d/system-auth。 首先,添加到auth行的顶部: auth required pam_tally2.so deny=5 onerr=fail unlock_time=900 其次,添加到帐户行的顶部: account required pam_tally2.so 编辑: 在其中一次login尝试期间,通过重置pam_tally2来获取错误消息。 user@localhost's password: (bad password) Permission denied, please try again. user@localhost's password: (bad password) Permission denied, please […]
因此,在提出这个问题之后,我一直在testing驾驶FreeIPA作为基于这个问题的中央authentication源: pipe理对多个linux系统的访问 我遇到的一个问题是,如果一个用户被授予本地root权限,他们可以依次loginFreeIPA目录中的任何用户。 即使该用户无法通过HBAC规则访问该特定计算机。 示例场景: FreeIPA客户机PC1 。 FreeIPA中的两名用户:Bob和Alice。 Alice不允许通过HBAC规则访问PC1。 Bob在PC1上有本地根目录。 Bob可以在PC1上成为Alice。 我能find的唯一信息是在/etc/pam.d/su中注释掉这一行: auth sufficient pam_rootok.so 如果他试图:爱丽丝,现在问爱丽丝的密码的本地根 但是,如果Bob有root权限,他可以轻松地启用上面的PAM / su行。 FreeIPA不应该阻止Alice的账户访问PC1,无论是通过直接login企图还是本地root访问? 如何阻止本地根可以以任何FreeIPA用户身份login?
从任何服务升级到Debian 7.4密码authentication后需要很长时间。 对于SSHlogin,通过dovecot进行sudo'ing和身份validation(configuration为使用PAM),这是正确的。 我能够反向查询DNS条目,这似乎不是问题。 这感觉就像一些authentication机制运行到超时。 我试图启用pam_debug,但是我没有看到任何debugging输出。 下面是一个例子,需要多长时间才能完成一个sudo(在sudocaching密码的时候提供密码提示,它会立即生效): ceicke@h1633420:~$ time sudo who [sudo] password for ceicke: ceicke pts/0 2014-08-01 09:19 (80.131.XXX.XXX) real 0m27.976s user 0m0.009s sys 0m0.014s 同时用我的私人密钥SSH进入箱子立即工作。 所以真的密码检查过程需要很长时间。 我还有什么可以尝试的,特别是因为PAM模块非常默默无闻。 更新#1 这里是strace的输出: http : //pastebin.com/dRvqsrcd 有很多 time(null)的调用time(null) ,我猜得到当前的Unix时间戳。 似乎有些事情正在主动检查超时。 我注意到两件事情: time(null)调用往往是打开/dev/urandom ,可以是我的服务器正在等待收集足够的熵? 在各个地方有很多对krb5的引用。 我不使用Kerberos进行身份validation,我可以简单地从我的pam configs中取出pam_krb5.so吗? 我没有很多准备strace输出的经验,也许你可以看到更多? 更新#2 服务器上的熵值相当低,在100-200之间。
当我使用正确的密码login到Ubuntu 8.10中时,系统几乎可以即时计算出密码是否正确并将其login。但是,如果提供的密码不正确,则需要更长时间才能确定密码不正确,向我显示login屏幕。 为什么是这样? 两种情况下都不应该花费相同的时间? – 谢谢
我有一个运行Ubuntu 14.04.4 LTS的VPS; 它与OVH的Plesk整体安装在一起。 我正确地做了apt-get upgrade ,并且在某个时候我有一个关于PAM的消息。 该系统是法文,但基本上它说: /etc/pam.d/common-{auth,account,password,session至less有一个文件在本地修改。 请注明是否应该丢弃本地更改并坚持标准configuration。 否则,你将不得不自己configurationauthentication系统。 我决定保留本地的变化,APT也报道: pam-auth-update: Local modifications to /etc/pam.d/common-*, not updating. pam-auth-update: Run pam-auth-update –force to override. 我想知道本地更改和更新想要设置的文件之间有什么区别。 我怎样才能做到这一点?
我想configurationsecuretty来限制root用户直接访问。 现在我清楚,如果我补充说: auth required pam_securetty.so 进入/etc/pam.d/system-auth,并在/ etc / securetty中只保留“console”,sshlogin也会被禁止。 如果我添加: auth required pam_securetty.so 进入/etc/pam.d/login,并且只保留在/ etc / securetty中的“console”,sshlogin不会被禁止。 现在我不清楚/etc/pam.d/login和/etc/pam.d/system-auth之间的区别。 任何人都可以给我一些参考或指导? 非常感谢! PS /etc/pam.d/login与/etc/pam.d/system-auth也有一点关系,但我想更多地让我更清楚。
我正在尝试提高ubuntu机器上所有用户的打开文件描述符最大值。 这个问题有点跟随这个问题。 即使在需要pam_limits.so时,ulimit也不会读取打开的文件描述符limits.conf设置 除了我已经在limits.conf中添加了所需的“根”条目 这里是条目 * soft nofile 100000 * hard nofile 100000 root soft nofile 100000 root hard nofile 100000 与pam_limits.so相关的pam_limits.so /etc/pam.d/中的所有相关文件中都未被注释,而fs.file-max已在/etc/sysctl.conf中正确设置 但是,我仍然看到 abc@machine-2:/etc/pam.d$ ulimit -n 1024 重启后。 可能是什么问题呢? 我的默认shell是/ bin / sh,我不能使用chsh来更改我的默认shell,因为我的用户在机器上是通过一些分布式身份validationscheme进行身份validation的。
我有一个工作AD / Linux / LDAP / KRB5目录和身份validation设置,只有一个小问题。 当一个账户被禁用时,SSH公钥authentication仍然允许用户login。 很明显,kerberos客户端可以识别一个禁用的帐户,因为kinit和kpasswd返回“客户端凭证已经被撤销”,没有进一步的密码/交互。 是否可以configurationPAM(在sshd_config中使用“UsePAM yes”)禁止login已禁用的帐户,其中身份validation是由publickey完成的? 这似乎不工作: account [default=bad success=ok user_unknown=ignore] pam_krb5.so 请不要在你的答案中引入winbind – 我们不使用它。