5

安全运行 Linux 服务器的初学者指南

 1 year ago
source link: https://www.51cto.com/article/745139.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

安全运行 Linux 服务器的初学者指南

作者:科技狠活与软件技术 2023-01-27 14:50:45
Linux 可能是您下一个云服务器的绝佳选择。想象一下,您可以在 512 MB 和 1 核 CPU 的 90 年代硬件配置上受益于最新且满载的操作系统。

Linux 可能是您下一个云服务器的绝佳选择。想象一下,您可以在 512 MB 和 1 核 CPU 的 90 年代硬件配置上受益于最新且满载的操作系统。除了技术优势之外,它是最便宜的选择,因此您可能已决定在其上运行您的服务。尽管仅使用一行命令连接到服务器,但要确保它的安全可能有点棘手。我将介绍您需要采取的一些基本注意事项,以通过服务器强化来应对常见的安全风险。

选择一个发行版开始与 Windows 和 macOS 不同,Linux 是一个开源操作系统系列,并且已经发布了许多不同的发行版。一些最流行的 Linux 发行版是Red Hat、CentOS、Fedora、Debian、Ubuntu、Kali、Mint等。

但是,从高层次的角度来看,有两个主要的发行版家族:基于 Red Hat和Debian基于.对于很多 Linux 初学者来说,选择一个发行版作为起点是一件意义重大的事情。尽管您可以花时间彻底研究不同的选项,但最好的方法是从其中一个开始,并确保您会从所有这些选项中享受 Linux 的滋味。

如果您不知道并想开始,我建议您选择 Ubuntu,这要感谢它的社区和无数的可用文档。Ubuntu 是Canonical于 2004 年推出的基于 Debian 的 Linux 发行版。Ubuntu 共有三个版本:Desktop、Server和Core。第二版,顾名思义,被认为是用于服务器的。与 Desktop 版本相比,Ubuntu Server 不包含任何图形用户界面,您可以使用名为bash的命令行工具来管理服务器。

连接到服务器无论您选择从哪个提供商购买服务器,在订购 VPS 后,您都需要获取其连接信息。通常,它会在您检查订单后立即放入您的收件箱。然后,连接和设置您的机器所需要做的就是两件事:服务器的地址和它的root 密码。要连接到服务器,您可能需要一个支持SSH的应用程序,SSH是一种用于两台计算机之间通信的协议。不管您使用的是 Windows 还是 macOS;ssh您可以使用命令行工具中的命令连接到您的服务器,如下所示:

ssh [USER]@[SERVER_IP_Address]

供应商可能没有提及用户名,但您应该知道用户名是 root。通过执行ssh命令,系统将提示您输入密码,通过提供该密码,您将登录到梦幻般的服务器。

3255e3076665c85af6286773572fc1de684e07.jpg

Ubuntu 服务器终端Ubuntu 服务器终端登录后,您可以看到有关 Ubuntu 版本和分配的硬盘容量的一些信息,并可以开始加载您的服务;但是,您可能需要采取进一步措施来保护您的服务器,因为有其他人打算非法使用您的资源而不承担责任。因此,在您新购买的机器上至少应用一些基本的安全措施对您来说至关重要。了解威胁假设一个邪恶的人想在未经您许可的情况下使用您的机器;他们需要什么?是的,服务器IP地址和密码。虽然找到未知 IP 地址和随机密码的组合似乎是不可能的,但相信我,通过暴力破解工具是可行的,因为我曾多次成为受害者。要获得线索,请使用ping 检查服务器的 IP 地址, 您将看到如何在许多其他无效 IP 地址中识别出有效 IP。

ping [SERVER_IP_ADDRESS]
1777277859b2a631110178ba1aefab88a33436.jpg

ping命令一旦获得未经授权的访问,就无法预测他们将以何种方式使用您的资源并由您负责。因此,让我们深入了解您可以执行的一些简单步骤,以最大程度地降低风险。添加一些安全性第 1 步 — 强密码:这是我想到的第一种方式。基于像这样的密码强度检查工具,如果你使用随机密码,它的长度至少应该是十个字符,这样机器人需要一天的时间才能找到它。同样,如果您使用模式来创建密码可能会容易得多,因此请使用更长的密码。第 2 步 — 删除root 访问权限: 您可以简单地通过删除根访问权限来增加 SSH 登录的复杂性。这样,加上IP地址和密码,必须提供用户名才能登录,因为默认用户名root被阻止了。

为此,您必须在阻止 root 访问之前向服务器添加一个新的 sudoer 用户。# Add a usersudo useradd -m {username} # Set a password for new usersudo passwd {username}# Add the new user to sudoers' listusermod -aG sudo {username}接下来,您应该禁用root登录ssh_config(您可能需要nano使用安装apt install nano):

# Open SSH config file
nano /etc/ssh/sshd_config

找到PermitRootLogin,通过删除取消注释该行#并设置为no。此参数的最终状态应如图所示。

c54d77376b10327d0b6085976f3ac6d7c1394f.jpg

sshd从配置文件 中删除 root 登录然后,保存文件后,需要重启ssh服务。

systemctl restart sshd

注意:对于服务器上的许多操作,您需要sudo访问权限;所以在使用新用户登录后,您可以切换回root使用su命令。

su root

第 3 步 — 更改ssh端口号: SSH 使用22可以在sshd_config配置文件中修改的默认端口。此更改增加了连接到服务器的另一个复杂性,因为必须在登录中提供端口号。为此,您必须再次打开文件并将值更改 Port为另一个数字,例如12345. 同样,您需要重新启动ssh该服务。请记住,更改默认端口号后,您应该在登录时提供该端口号。

ssh -p [NEW_PORT_NUMBER] [USER]@[SERVER_IP_Address]
# example: ssh -p 12345 [email protected]

结论值得了解如何应对安全风险。虽然很难保证服务器的安全,但增加复杂度是一种合理有效的服务器加固方式。爬虫和机器人必须付出更多的努力来实现它们的邪恶目的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK