在Ubuntu 14.04上保护SSH的安全

创建新服务器后,应进行一些配置调整,以增强服务器的安全性。

创建一个新用户

作为root用户,���有权对服务器执行任何所需的操作-无限制。因此,最好避免对服务器上的每个任务使用root用户帐户。让我们开始一个新用户。替换username为所需的用户名:

adduser username

选择一个新的安全密码并相应地回答问题(或只需按ENTER以使用默认值)。

授予用户root特权

新的用户帐户没有权限自己的主文件夹外,并不能运行,将改变服务器的命令(如installupdateupgrade)。为了避免使用root帐户,我们将为用户提供root特权。有两种方法可以执行此操作:

将用户添加到sudo组

简单的方法是将用户添加到sudo组中。替换username为所需的用户名:

adduser username sudo

这会将用户添加到组中sudo。该组具有使用sudo访问权限运行命令的特权。

修改sudoers文件

另一种方法是将用户放入sudoers文件中。如果您的服务器有多个具有root特权的用户,那么这种方法会更好一些,因为如果有人与该sudo组打乱了,您仍然可以运行具有root特权的命令来在服务器上工作。

首先,运行以下命令:

visudo

这将打开sudoers文件。该文件包含可以以root特权运行命令的组和用户的定义。

root    ALL=(ALL:ALL) ALL

在此行之后,输入您的用户名并授予其完整的root特权。相应地替换username

username    ALL=(ALL:ALL) ALL

保存并关闭文件(在nano中为Ctrl + OCtrl + X)。

测试您的新用户

要登录到您的新用户帐户不logoutlogin,只需拨打:

su username

使用以下命令测试sudo权限:

sudo apt-get update

外壳程序将要求您输入密码。如果sudo配置正确,则应该更新您的存储库。否则,请查看前面的步骤。

现在,从新用户注销:

exit

Sudo设置完成。

保护SSH

本指南的下一部分涉及确保ssh登录到服务器的安全。首先,更改root密码:

passwd root

选择一些难以猜测但可以记住的东西。

SSH密钥

SSH密钥是一种更安全的登录方式。如果您对SSH密钥不感兴趣,请跳至本教程的下一部分。

使用以下Vultr Doc制作SSH密钥:如何生成SSH密钥?

获得公钥后,再次使用新用户登录。

su username

现在将.ssh目录和authorized_keys文件放在该用户帐户的主目录中。

cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys

将您从其他教程生成的公钥添加到authorized_keys文件中。

 nano .ssh/authorized_keys

保存文件,然后更改该文件的权限。

chmod 600 .ssh/authorized_keys

返回到root用户。

exit

SSH配置

现在,我们将使SSH守护程序更安全。让我们从配置文件开始:

nano /etc/ssh/sshd_config
更改SSH入站端口

此步骤将更改用于访问服务器的端口,这是完全可选的,但建议这样做。

找到带有Port配置的行,应如下所示:

Port 22

现在,将此端口更改为所需的任何端口。它必须大于1024。

Port 4422
禁用root ssh登录

此步骤将禁用通过SSH的root登录,这是完全可选的,但强烈建议使用

找到这一行:

PermitRootLogin yes

...并将其更改为:

PermitRootLogin no

这将使服务器更加安全,以防僵尸程序尝试使用用户root和端口22进行暴力破解和/或常见密码。

禁用X11转发

此步骤将禁用X11转发,如果您使用某些远程桌面程序访问服务器,请不要执行此操作。

找到X11行:

X11Forwarding yes

...它变为:

X11Forwarding no
重新启动SSH守护程序

既然我们已经进行了更改以保护SSH登录,请重新启动SSH服务:

service ssh restart

这将重新启动并重新加载服务器设置。

测试变更

在不断开当前ssh会话连接的情况下,打开一个新的终端或PuTTY窗口并测试另一个SSH登录。

ssh -p 4422 username@SERVER_IP_OR_DOMAIN

如果一切顺利,我们已成功加强了您服务器的安全性。请享用!

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

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 機器變磚。閱讀這篇文章以了解更多信息