如何在Ubuntu 18.04上使用端口敲序列进一步保护SSH

介绍

除了更改SSH的默认端口并使用密钥对进行身份验证之外,端口终止还可以用于进一步保护(或更准确地说,掩盖)您的SSH服务器。它通过拒绝与SSH网络端口的连接来工作。这实际上掩盖了您正在运行SSH服务器的事实,直到对预定义端口进行了一系列连接尝试为止。端口敲除非常安全且易于实施,是保护服务器免受恶意SSH连接尝试的最佳方法之一。

先决条件

  • 运行Ubuntu 18.04的Vultr服务器。
  • 须藤访问。

在执行以下步骤之前,如果您没有以root用户身份登录,请通过运行sudo -i并输入密码来获取临时root shell 。或者,您可以添加sudo本文中显示的命令。

步骤1:Knockd安装

Knockd是与iptables结合使用的软件包,用于在服务器上实现端口敲除。iptables-persistent还需要' '软件包。

apt update
apt install -y knockd iptables-persistent

步骤2:iptables规则

按顺序运行以下命令:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables-save > /etc/iptables/rules.v4

这些命令将分别执行以下操作:

  • 指示iptables使现有连接保持活动状态。
  • 指示iptables断开与端口tcp / 22的任何连接(如果SSH守护进程正在侦听22以外的端口,则应相应地修改上述命令。)
  • 保存这两个规则,以便它们在重新启动后仍然存在。

步骤3:Knockd配置

使用您选择的文本编辑器,打开文件/etc/knockd.conf

您将看到以下内容:

[openSSH]
sequence    = 7000,8000,9000
seq_timeout = 5
command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags    = syn

您应该更改端口顺序(选择上面的端口号,1024并选择其他服务未使用的端口号),并安全地存储它。此组合应被视为密码。如果忘记了,您将无法访问SSH。我们将把这个新序列称为x,y,z

seq-timeout行是Knockd等待客户端完成端口敲除序列的秒数。将其更改为更大的值是个好主意,尤其是如果端口敲接将手动完成。但是,较小的超时值更安全。15建议将其更改为,因为我们将在本教程中手动进行设置。

将打开顺序更改为您选择的端口:

[openSSH]
sequence    = x,y,z

将命令值更改为以下内容:

command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

现在相应地更改关闭顺序:

[closeSSH]
sequence    = z,y,x

保存更改并退出,然后打开文件/etc/default/knockd

  • 替换START_KNOCKD=0START_KNOCKD=1
  • 将以下行添加到文件的末尾:(如果不同,请用公共网络接口的名称KNOCKD_OPTS="-i ens3"替换ens3。)
  • 保存并退出。

现在启动Knockd:

systemctl start knockd

如果你现在从你的服务器断开,你将不得不敲港口xy以及z再次连接。

步骤4:测试

现在,您将无法连接到SSH服务器。

您可以使用telnet客户端测试端口爆震。

Windows用户可以从命令提示符启动telnet。如果未安装telnet,请访问“控制面板”的“程序”部分,然后找到“打开或关闭Windows功能”。在功能面板上,找到“ Telnet客户端”并启用它。

在终端/命令提示符下,键入以下内容:

telnet youripaddress x
telnet youripaddress y
telnet youripaddress z

在15秒内完成所有操作,因为这是配置中施加的限制。现在,尝试通过SSH连接到服务器。它将可访问。

要关闭对SSH服务器的访问,请以相反的顺序运行命令。

telnet youripaddress z
telnet youripaddress y
telnet youripaddress z

结论

使用端口敲门最好的部分是,如果将它与私钥身份验证一起配置,除非有人知道您的端口敲门序列并拥有您的私钥,否则几乎没有其他人可以进入。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。