Ken*_*h L 5 ssh security authentication
我认为我的 Ubuntu 机器坏了,黑客试图用我的电脑发送垃圾邮件(通过端口 25)。
部分/var/log/auth.log提取如下(我将实际用户更改为myuser,将一些外部IP地址更改为1.2.3.x):
Feb 20 06:07:12 ubuntu systemd-logind[954]: New session 77 of user myuser.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.4 port 25: failed.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.5 port 25: failed.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.5 port 25: failed.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.6 port 25: failed.
...(thousands of similar lines follows)...
Run Code Online (Sandbox Code Playgroud)
由于错误消息是由 生成的sshd,我认为黑客是通过以myuser. 其各自的记录/etc/passwd如下:
myuser:x:1003:1004:myuser:/home/myuser:/bin/false
Run Code Online (Sandbox Code Playgroud)
我想黑客应该无法像myuseris的 shell 那样登录/bin/false,也就是说,即使他可以登录,也应该立即将其踢出。我也无法myuser通过 PuTTY登录。我自己登录的登录记录是这样的:
Feb 22 10:26:58 ubuntu sshd[3653]: pam_unix(sshd:session): session opened for user myuser by (uid=0)
Feb 22 10:26:58 ubuntu systemd-logind[734]: New session 2 of user myuser.
Feb 22 10:26:58 ubuntu sshd[3653]: pam_unix(sshd:session): session closed for user myuser
Run Code Online (Sandbox Code Playgroud)
所以,显然我的设置有问题,和/或/bin/false在/etc/passwd文件中不起作用。我目前的设置有什么问题,我应该如何修复漏洞?
commandline.ninja 中关于 /bin/false、/sbin/nologin 和 SSH 的这篇文章似乎回答了您的问题。
黑客可以通过以下命令/bin/false使用端口转发绕过用作该用户的 shell的保护ssh:
[user@panel~] ssh -N testacct@linuxserver.cconn.info -L 2525:127.0.0.1:25
Run Code Online (Sandbox Code Playgroud)
如果在您的场景中可能的话,最简单和最激烈的方法是在您的
sshd配置文件中(/etc/ssh/sshd_config在许多系统上)简单地禁用 TCP 端口转发:Run Code Online (Sandbox Code Playgroud)AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no
/etc/shadow并设置用户密码为*影子口令
具有*如在加密的密码/etc/shadow装置,该帐户被锁定时,用户将无法登录在通过口令认证,但是其它的方法(例如SSH密钥)可以被仍允许。
有关 /bin/false、/sbin/nologin 和 SSH 的更多信息,请访问commandline.ninja。
| 归档时间: |
|
| 查看次数: |
2510 次 |
| 最近记录: |