SSH期间的注意事项

可能重复:
如何审核用户并访问服务器上的SSH尝试?

我最近不得不将我的Ubuntu 12.10 root密码泄露给我的一个朋友,以便他可以通过SSH连接到我的系统并向我发送一些文件。 现在他是我的朋友,我相信他,所以我不愿意分享我的密码。 之后我确实改变了它。

但它让我感到震惊的是如何查看由其他用户远程登录到我的系统执行的所有命令(显然不是我的朋友。我的意思是一般)。他们在多大程度上可以访问我的数据(特别是我的密码,例如我使用Last Pass也可以访问我的帐户密码??)如果他们在登录我的系统后打开任何浏览器,他们可以访问我的所有密码,前提是我使用chrome给出的“记住密码”选项保存了它们

当我允许某人在我的系统中远程登录时,我应该采取什么预防措施,如何跟踪他们使用的各种命令或他们在我的系统中所做的更改。 除了检查/var/log/auth.log文件之外,还有一些简单的方法可以在有人登录我的系统时收到通知吗?

在AskUbuntu上阅读这个问题并查看我的VPS之后,有一个类似的问题让我震惊,只看到了无数次的暴力尝试。 那是我决定采取行动的时候。

现在根据我链接的问题,如果您希望通过ssh看到您的计算机上的登录尝试失败(可能是powershell尝试或任何事情),请尝试键入:

grep sshd.\*Failed /var/log/auth.log | less 

如果输出由多行组成,那就是许多powershell尝试,特别是如果它们发生在短时间间隔内,您可能需要执行以下操作:

更改ssh配置文件

要执行此操作,请使用您喜欢的编辑器打开位于/ etc / ssh / sshd_config的文件,例如此vim /etc/ssh/sshd_config

1.尝试从端口22移动ssh :现在找到读取的行:

 # What ports, IPs and protocols we listen for Port 22 

并注释掉22号港口,并使用你可能喜欢的任何人。 例:

 # What ports, IPs and protocols we listen for # Port 22 Port 28934 

Please remember that ports below 1024 need special (root) permission. 我不知道这会如何干扰它,但我只是说。

2.通过ssh禁用Root登录 :由于root用户名是可预测的并提供对系统的完全访问权限,因此通过SSH提供对此帐户的不受限制的访问是不明智的。 找到读取PermitRootLogin的行并将其设置为no

 PermitRootLogin no 

3.禁用密码validation生成并使用SSH密钥登录系统。 如果未启用密码,攻击者将需要猜测(或窃取)您的SSH私钥才能访问您的服务器。 一些非常困难的事情。 继续查找读取PasswordAuthentication的行并将其设置为no

 PasswordAuthentication no 

!警告! 在此之前,请参阅此指南,了解如何设置证书身份validation。

注意:完成更改后,请使用sudo /etc/init.d/ssh restart 。 要通过ssh连接到另一个端口,请使用: ssh username@hostname.com -p

设置防火墙

请查看本指南 ,了解如何设置极其强大且有效的防火墙,该防火墙已集成到Linux, IPTables中

设置脚本以帮助您提高安全性

我个人而且很快就会想到的就是Fail2Ban 。 Fail2ban将监视您的日志文件以查找失败的登录尝试。 在IP地址超过最大validation尝试次数后,它将在网络级别被阻止,并且该事件将记录在/var/log/fail2ban.log 。 安装它: sudo apt-get install fail2ban

通过ssh检查命令历史记录

有一个名为history的linux命令,它允许您查看在此之前已输入的命令。 尝试在终端中键入history以查看到此为止的所有命令。 如果你是root用户,它会有所帮助。

搜索特定命令,请尝试: history | grep command-name history | grep command-name

列出ssh​​之后的所有命令fc -l ssh

你也可以使用vi编辑命令 (没有尝试过vim,虽然我认为它也能正常工作): fc -e vi

您还可以删除历史记录history -c

注意:如果您不是命令history的粉丝,您的主目录( cd ~ )中也有一个文件,名为.bash_history (如果您使用的是bash),您可以看到所有已在bash中输入的内容贝壳。

SSH在其默认配置中不是完全安全的。


如果您提供密码以允许远程用户通过SSH连接到您的计算机,则需要撤消这些权限以停止持续访问。

更改密码不会撤消这些权利。