几个星期前,我读了一个邮政和#34;密封系统"在大血管上伤害了人们。我有点掠过它,并认为它主要抱怨下载的大小。无论出于何种原因,那个哈丁' t对我和我的机器来说是一个问题,所以我有点把它写下。
昨晚,我申请了最新的安全补丁到达了大素版11.2.3,并意识到我应该更加关注这件事。它解释了一段时间:我的Apache Config会继续恢复的东西。
在很多年份,我已经(愚蠢地说明了)使用包含的Apache Httpd在Mac笔记本电脑上运行小localhost-ock。最近,我发现操作系统的每次升级都会恢复我的httpd.conf,它需要恢复。
这是一段时间的现状,我正在考虑沿着&#34的线路在主题上写一篇文章;你也可能放弃使用它包含的httpd,因为你对它的任何事情都会定期死亡&#34 ;。这是我对这个话题的想法,直到几分钟前我意识到别的东西可能发生了:它也恢复了我的SSHD配置。
如果sshd config被恢复,为什么重要?简单:它' s是因为股票MAC SSHD安装包括基于密码的AUT,这意味着如果他们可以在足够长的时间22上连接到您的机器,那么有人可以击败您的机器。
最后一次提出来了,我写了一个愚蠢的小检查员脚本,并保持在我的整个机器上运行它,直到他们都检查干净。所以,我在几分钟前再次跑了它,而婊子的儿子,它'宽度又开放了。
由此产生的raar我让我开始这篇文章。这也是我最终写的东西,但这强迫这个问题。
为了帮助人们的利益,这是我可怕的小脚本。它需要Bash In / Bin,Netcat为' NC'在您的路径中,SSH(显然)以及GNU Coreutils的超时。换句话说,它'旨在在Linux上运行,我忙于为其他地方进行微调,包括Mac。
如果你实际上是一个GNU-ISH设置,那么这里,你可以跑这个可怕的事情。小心,你可能无法解开这场灾难。你被警告了...
#!/ bin / bash ip = $ {1} nc -w 1 -z $ {ip} 22> / dev / null nc_code = $ {?}如果[$ {nc_code} -eq 1]那么#echo " $ {ip}:没有倾听港口22"退出0FI超时5 ssh \ -o proferentauthentions = password,键盘交互\ -o stricthostkeychecking = no $ {ip}& / dev / null ssh_code = $ {?}如果[$ {ssh_code} -eq 124]那么Echo" $ {IP}:***接受SSH登录***&#34的密码;出口0FI Echo" $ {IP}:运行SSHD但是还可以(无密码方法)"
它的起作用方式非常讨厌:它假设SSH将阻止询问密码,因此它会处理A"挂起" (超时到期)作为密码提示,这意味着它接受这两种方法之一。现在,如果它试图连接到从中或以其他方式丢弃数据包的主机,SSH也会长时间阻止了,因此脚本有一个可怕的"它会接受与ME&#34的连接吗? ;用netcat检查第一个。
但是,如果您可以' t运行此脚本,您可以通过手动进行自己的检查 - 只需在末尾键入它并添加主机名或IP地址。输入它。不要复制和粘贴。留下最后一部分。
不要副本并将其粘贴到您的shell中。输入它...并留下-ZZZZ部分。我把那里抓住了从随机网页粘贴到他们的贝壳中的人。
我可以在这个页面上运行一些可怕的javascript,劫持了您的副本机制并添加了一些令人讨厌的东西。我的意思是,我可能没有,但是你为什么相信我,或者任何可以访问此页面,服务器或您之间的互联网连接的人?
[侧边栏:认真,转到其中一个"新闻"网站,请从页面复制延伸,并注意您的光标如何有点旺盛。那个'他们注入糊状物。当你去粘贴其他地方时,它将包含你*没有*在页面上看到的东西。想象一下,如果你作为命令跑了。那个'什么我试图教你在这里。]
无论如何,如果手动运行该命令并要求密码,猜猜是什么?你也可以被强迫。
您对SSHD有非密码的登录,对吗? .ssh / authorized_keys和所有这些东西?如果没有,请首先去做,或者如果您遵循这篇文章的其余部分,您将自己锁定自己。
另一件事:如果你正在远程(!),对于所有良好和神圣的爱,都有另一个根壳打开,只需在角落里发冷,以防你拧紧配置,而不是' t关闭它,直到您已验证,您可以打开一个新连接并一直返回根壳!
假设您此时将在您的计算机中具有非密码的方式,然后继续关闭基于密码的Auth。
首先,你必须编辑/ etc / ssh / sshd_config,查找"#passwordauthentication是",取消注释它,并将其翻转到否。保存文件。由于Mac如何启动SSHD,它' ll识别它为下一个连接 - 没有那个" sshd重新加载"这里的东西。 (真的。不要尝试戳出的发射电视机或其他东西。从我的错误中吸取教训。)
再次运行检查,您会发现......它仍然接受密码身份验证。这是因为它是第二条路径,它愉快地倒回来了。你现在必须寻找" usepam是"并翻转*"没有"也是。
恭喜,您现在已停止您的Mac被互联网上的SSH扫描白痴军队剥削。 而且,请记住,下次Mac为* Point更新*出于安全原因,您可以再次完成此操作。 关于脚本的注意事项:您可能会注意到,我注意到我评论了一个主机没有在港口22举行的地方。这是因为你可以立即运行它的整个机器,而且没有听到那些 aren' t起来。 ......你知道,那种东西。 在您自己的网络上尝试,在SSH守护程序配置的可能状态下绝望。 我肯定有更好的方法来扫描这一点。 随意使用它们,然后您可以在适当的地方埋葬我的脚本。 我建议猫盒的底部。