如何保护ubuntu服务器的安全(secure an ubuntu server)

在安装一台新的Ubuntu服务器时,首先要做的是保护(或加固)它。这应该在服务器上托管任何服务之前完成。这个维基教你如何保护Ubuntu服务器。...

第1部分第1部分(共5部分):创建新的管理用户

  1. 1使用SSH连接到服务器。为此,打开SSH终端,键入SSH root@[IP_地址],然后按Enter键。将“[IPaddress]”替换为服务器的IP地址。这将使用根帐户将您登录到服务器。
  2. Image titled 12972731 1
  3. 2.输入sudo apt更新&amp&sudo apt升级-y并按下↵ 进来这会更新您的服务器并修补所有漏洞或bug。你应该随时更新你的服务器。
  4. Image titled 12972731 2
  5. 3创建一个新的用户帐户。为此,键入adduser[username]并按Enter键。将“[用户名]”替换为您选择的用户名。系统将要求您输入一些信息,包括新密码。确保创建一个安全的密码。如果不想输入,则不必输入其余信息。按Enter键跳过任何不想回答的问题。
  6. Image titled 12972731 3
  7. 4Grant您的用户名管理权限。为此,键入usermod-a-G sudo[username]并按Enter键。用实际用户名替换“[username]”。这允许您通过在命令前键入“sudo”来输入管理命令。从现在起,您将希望使用管理用户帐户而不是根帐户登录。为此,请键入ssh[username]@[IP_address]并按Enter键。用实际用户名替换“[username]”。
  8. Image titled 12972731 4
  9. 5.键入su-[username]并按↵ 进来用实际用户名替换“[username]”。这将从根帐户切换到新用户帐户。
  10. Image titled 12972731 5
  11. 6.键入sudo whoami并按↵ 进来这个命令应该返回你的用户名,并在下面加上“root”一词。这将验证您的新用户帐户是否具有管理权限。
  12. Image titled 12972731 6
  13. 7.输入退出并按下↵ 进来这会将您从用户帐户注销,并返回到根帐户。
  14. Image titled 12972731 7
  15. 8再次键入exit并按↵ 进来这会使您退出SSH会话。
  16. Image titled 12972731 8

第2部分第2部分(共5部分):设置防火墙

  1. 1登录您的管理帐户。为此,请打开SSH终端并键入SSH[username]@[IP_address]。将“[username]”替换为您的管理用户名,并将“[IP_address]”替换为服务器的IP地址。系统将要求您输入登录密码。
  2. Image titled 12972731 9
  3. 2.键入sudo apt安装ufw并按下↵ 进来此命令安装简单防火墙(UFW)。它是Ubuntu内置防火墙IPTables的一个易于使用的界面。
  4. Image titled 12972731 10
  5. 3输入sudo ufw allow ssh并按↵ 进来这告诉UFW允许您使用SSH连接登录。
  6. Image titled 12972731 11
  7. 4输入sudo ufw allow http并按↵ 进来这允许用户使用HTTP连接到您的服务器。
  8. Image titled 12972731 12
  9. 5输入sudo ufw allow https并按↵ 进来这允许用户使用HTTPS连接到您的服务器。
  10. Image titled 12972731 13
  11. 6选择端口号(可选)。默认情况下,使用端口22连接到SSH服务器。为了增加安全性,请选择其他端口号。如果选择不同的端口号,您可能还需要在路由器上设置端口转发,以便从外部连接到服务器。
  12. Image titled 12972731 14
  13. 7输入sudo ufw allow[端口号],然后按↵ 进来用您选择的端口号替换“[端口号]”。这允许您使用所选的端口号进行连接,并防止您在更改端口号后被服务器锁定。
  14. Image titled 12972731 15
  15. 8输入sudo ufw启用并按下+↵ 进来这将启用并激活UFW。要检查UFW的状态,请键入sudo UFW status并按Enter键。如果出于任何原因需要禁用UFW,请键入sudo UFW disable并按Enter键。
  16. Image titled 12972731 16

第3部分第3部分(共5部分):保护ssh

  1. 1键入sudo nano/etc/ssh/sshd_config并按↵ 进来这将在Nano文本编辑器中打开sshd_config文件。可以使用此文件更改SSH设置。
  2. Image titled 12972731 17
  3. 2禁用根登录。为此,请找到写有“Permitrotlogin yes”的行将其更改为“permitrotlogin no”。这将阻止任何人使用根帐户登录。
  4. Image titled 12972731 18
  5. 3更改端口号(可选)。如果要更改SSH端口号,请找到显示“端口22”的行将“22”更改为您选择的端口号。更改端口号后,需要使用以下命令登录:ssh[username]@[IP_address]-p[port_number]。将“[username]”替换为管理用户名,将“[IP_address]”替换为服务器的IP地址,并将“[port_number]”替换为您选择的端口号。
  6. Image titled 12972731 19
  7. 4设置错误密码尝试的最大次数。要执行此操作,请找到显示“MaxAuthTries”的行,并在末尾添加一个数字(即“MaxAuthTries 5”)。你可以输入任何你想要的数字(3到7是好的)。这将在尝试登录时将输入错误密码的任何IP地址锁定指定次数。
  8. Image titled 12972731 20
  9. 5设置空闲超时。要执行此操作,请找到显示“ClientAliveInterval”的行,并在该行之后键入一个数字(以秒为单位),该数字表示用户在空闲时间过长后将注销。例如,键入ClientAliveInterval可让用户在空闲10分钟后注销。
  10. Image titled 12972731 21
  11. 6切换到协议2。默认情况下,SSH使用协议1。协议2是一种新的更安全的协议。要切换协议,请找到显示“协议1”的行,然后将其切换到“协议2”要在更改为协议2后登录,请使用以下命令:ssh-2[username]@[IP_address]-p[port_number]。将“[username]”替换为您的管理用户名,将“[IP_address]”替换为服务器的公共IP地址,并将“[port_number]”替换为您选择的端口号。
  12. Image titled 12972731 22
  13. 7定义允许哪些用户使用SSH登录(可选)。如果需要,可以指定允许哪些用户连接到SSH。所有其他用户将被拒绝访问。为此,在sshd_配置文件中添加以下行:AllowUsers[username1][username2]。将“[username1]”和“[username2]”替换为要添加的实际用户名。您可以添加任意多个用户名。
  14. Image titled 12972731 23
  15. 8保存并退出文件。要执行此操作,请按Ctrl+X退出文件。然后按Y键保存。然后按回车键。
  16. Image titled 12972731 24
  17. 9输入sudo service sshd restart}并按↵ 进来这将重新启动SSH。再次登录时,新设置将生效。
  18. Image titled 12972731 25

第4部分第4部分,共5部分:安装fail2ban

  1. 1登录到您的SSH服务器。要做到这一点,请在SSH终端中使用以下命令:SSH-2[username]@[IP_address]-p[port_number]。将“[username]”替换为您的管理用户名,将“[IP_address]”替换为服务器的公共IP地址,并将“[port_number]”替换为您选择的端口号。
  2. Image titled 12972731 26
  3. 2键入sudo apt get install fail2ban并按↵ 进来这将安装Fail2Ban。Fail2Ban是一个应用程序,它检查服务器日志,并检测重复登录尝试和可疑活动。它会调整防火墙设置,并自动阻止潜在的攻击者。
  4. Image titled 12972731 27
  5. 3输入sudo cp/etc/fail2ban/jail。conf/etc/fail2ban/jail。当地媒体↵ 进来这会将包含的“jail.conf”文件复制为“jail.local”文件。
  6. Image titled 12972731 28
  7. 4输入sudo nano/etc/fail2ban/jail。当地媒体↵ 进来这将在Nano文本编辑器中打开新的“jail.local”。
  8. Image titled 12972731 29
  9. 5在文件末尾添加以下文本。您需要将“port=”旁边的“[port_number]”替换为您选择的端口号。如果您有静态IP地址,则需要将“ignoreip=”旁边的“[IP_address]”替换为静态IP地址。在文档末尾添加以下文本:[DEFAULT]bantime=8h ignoreip=127.0.0.1/8[IP_地址]ignoreself=true[sshd]enabled=true port=[port_number]filter=sshd logpath=/var/log/auth。log maxretry=3
  10. Image titled 12972731 30
  11. 6保存并退出文件。要执行此操作,请按Ctrl+X退出文件。然后按Y键保存。然后按回车键。
  12. Image titled 12972731 31
  13. 7输入sudo服务故障2重新启动并按↵ 进来这将重新启动Fail2Ban,并使用您的设置启动它。
  14. Image titled 12972731 32
  15. 8输入sudo Fail2客户端状态sshd,然后按↵ 进来这将显示Fail2Ban的状态。如果需要取消对特定IP地址的绑定,可以使用以下命令:sudo fail2ban client set sshd unbanip[IP_address]。将“[IP_address]”替换为要取消绑定的IP地址。
  16. Image titled 12972731 33

第5部分,共5部分:设置2因素认证

  1. 1下载适用于手机的Google Authenticator应用程序。您可以下载并安装适用于Android或iPhone的Google Authenticator。从Android设备上的Google Play Store或iPhone上的app Store下载Google Authenticator应用程序。
  2. Image titled 12972731 34
  3. 2登录到SSH服务器。使用以下命令从SSH终端登录到SSH服务器:SSH-2[用户名]@[IP_地址]-p[端口号]。将“[username]”替换为您的管理用户名,将“[IP_address]”替换为服务器的公共IP地址,并将“[port_number]”替换为您选择的端口号。
  4. Image titled 12972731 35
  5. 3键入sudo apt install libpam google authenticator并按↵ 进来这将在您的服务器上安装Google Authenticator。
  6. Image titled 12972731 36
  7. 4.键入google authenticator并按↵ 进来这将启动Google Authenticator。
  8. Image titled 12972731 37
  9. 5按下y键并按下↵ 进来这将在终端中显示一个大的二维码,以及一个密钥和一系列一次性紧急代码。
  10. Image titled 12972731 38
  11. 6.记下密钥和一次性使用紧急划痕代码。把它们放在一个安全的地方,以防你被锁在服务器外面。
  12. Image titled 12972731 39
  13. 7用谷歌验证器在手机上扫描二维码。为此,请在手机上打开Google Authenticator应用程序。点击右下角的加号(+)图标。点击扫描二维码。扫描终端中的二维码。
  14. Image titled 12972731 40
  15. 8允许Google Authenticator更新主目录中的请求文件。要执行此操作,请按“y”,然后按Enter。
  16. Image titled 12972731 41
  17. 9决定是否允许对同一令牌进行多次使用。如果你不允许同一令牌的多次使用,你将被限制为每30秒登录一次,但这将有助于防止中间人攻击。按Y键,然后按Enter键以禁止对同一令牌进行多次使用(推荐)。要允许同一令牌的多次使用,请按n,然后按Enter。
  18. Image titled 12972731 42
  19. 10决定是允许使用3个代码还是17个代码。Google Authenticator每30秒生成一个新代码,您需要输入该代码才能登录。默认情况下,服务器上的Google Authenticator允许您输入前一个代码、当前代码或下一个代码,以补偿任何时间偏差。如果时间不够,最多可以使用17个代码登录。键入N以禁止此操作(建议),然后按Enter键。键入y以允许此操作,然后按Enter键。
  20. Image titled 12972731 43
  21. 11决定是否将登录尝试次数限制为3次。如果要将登录尝试次数限制为3次(推荐),请键入y并按Enter键。如果不想限制登录尝试次数,请键入n并按Enter键。
  22. Image titled 12972731 44
  23. 12输入/etc/pam。d/sshd和press↵ 进来这将在Nano中打开PAM sshd配置文件。
  24. Image titled 12972731 45
  25. 13添加以下行。在文件末尾添加以下行:@include common passwordauth required pam_google_authenticator。所以
  26. Image titled 12972731 46
  27. 14保存并退出文件。要执行此操作,请按Ctrl+X退出文件。然后按Y键保存。然后按回车键。
  28. Image titled 12972731 47
  29. 15输入/etc/ssh/sshd_config并按↵ 进来这将打开sshd_配置文件。
  30. Image titled 12972731 48
  31. 16对文件进行以下更改。如果需要,请找到以下行并进行以下更改:找到“ChallengeResponseAuthentication”,并确保它在末尾显示“yes”。找到“UsePAM”,并确保它在最后说“是”。找到“AuthenticationMethods”,并确保在结尾处显示“publickey、password publickey、keyboard interactive”。
  32. Image titled 12972731 49
  33. 17保存并退出文件。要执行此操作,请按Ctrl+X退出文件。然后按Y键保存。然后按回车键。
  34. Image titled 12972731 50
  35. 18类型sudo service sshd重启并按下↵ 进来这将使用Google身份验证重新启动SSH服务器。所有这些都将大大加强您的服务器。
  36. Image titled 12972731 51
  • 发表于 2022-04-27 08:23
  • 阅读 ( 88 )
  • 分类:通用

你可能感兴趣的文章

如何使用双因素身份验证保护linux-ubuntu

...2FA也超出了文本消息验证的范围。本指南将有助于在Ubuntu服务器和桌面风格上设置增强的安全性,并与googleauthenticator一起实现双因素身份验证。 ...

  • 发布于 2021-03-13 11:11
  • 阅读 ( 175 )

centos与ubuntu:最好的web托管服务器

...nux发行版可用,为您的家用计算机选择一个并不容易。为服务器选择Linux发行版更为困难。服务器每天24小时运行,通常执行复杂的任务,因此选择一个您可以信任的分发是关键。 ...

  • 发布于 2021-03-20 17:23
  • 阅读 ( 246 )

针对初学者系统管理员的10个linux强化提示

... SSH协议是Linux远程通信的推荐方法。确保您的OpenSSH服务器(sshd)配置安全。您可以在这里了解有关设置SSH服务器的更多信息。 ...

  • 发布于 2021-03-28 14:39
  • 阅读 ( 246 )

如何在ubuntu上安装ftp服务器

如果要设置Linux服务器,则需要FTP访问。这意味着首先在Linux上安装FTP服务器。这应该是安装服务器操作系统后首先要做的事情之一。 ...

  • 发布于 2021-03-30 13:11
  • 阅读 ( 306 )

ubuntu桌面与ubuntu服务器:有什么区别?

...Ubuntu分为Ubuntu云、Ubuntu核心、Ubuntu麒麟、Ubuntu桌面和Ubuntu服务器。在这里,您将了解Ubuntu服务器和Ubuntu桌面之间的所有差异。 ...

  • 发布于 2021-03-30 21:38
  • 阅读 ( 963 )

windows10上的ubuntu、opensuse和fedora有什么区别?

...设置。如果您使用的软件将在Ubuntu、suselinux企业版或Fedora服务器上运行,那么您需要选择相应的Linux发行版,这样您的Linux系统就可以像您的生产环境一样工作。有些Linux发行版有更先进的软件,有些发行版有更保守、更稳定的软...

  • 发布于 2021-04-07 03:39
  • 阅读 ( 189 )

如何在linux上安全地运行不受信任的可执行文件?

...驱动的问答网站分组。 问题 超级用户读者Emanuele想知道如何在Linux上安全运行不受信任的可执行文件: I have downloaded an executable file compiled by a third party and I need to run it on my system (Ubuntu Linux 16.04, x64) with full access to HW resources such a...

  • 发布于 2021-04-08 13:43
  • 阅读 ( 158 )

如何用pxe从windowsserver2008启动ubuntu映像

...? PXE引导使管理网络变得更容易和更便宜,并且从Windows服务器提供定制的Ubuntu映像的能力有助于使您的环境更健壮。您可以使用这些图像为用户提供相同的基本工作环境、具有易于恢复的系统(只需关闭机器电源)、对发生故...

  • 发布于 2021-04-11 21:05
  • 阅读 ( 193 )

Ubuntu12.10的8个新特性quantal quetzal

...们关于Ubuntu的web应用集成的文章,获取更多关于这个特性如何与不同网站协同工作的例子。 在线帐户 在线帐户控制面板允许您在一个地方向Ubuntu添加各种在线帐户。Ubuntu桌面上的应用程序可以与这些帐户集成。例如,如果你在...

  • 发布于 2021-04-12 05:06
  • 阅读 ( 173 )

保持帐户安全的最佳密码提示

...费的,便携的工具来查看你的密码从你的LastPass帐户脱机 如何将保存的浏览器密码导入KeePass 使用KeePass安全存储密码 你保存的Chrome浏览器密码有多安全? 您保存的Internet Explorer密码有多安全? 如何强制浏览器记住密码 生成密...

  • 发布于 2021-04-12 15:39
  • 阅读 ( 215 )
dzshv6105
dzshv6105

0 篇文章

相关推荐