0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

恒讯科技讲解:vps搭建教程(五)

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2022-11-01 16:43 次阅读

小编已经分享了vps搭建第四部分的教程,今天小编将给大家讲解vps搭建需要的额外的安全性,也就是搭建教程的第五部分。

到目前为止,我们安装的默认设置提供了合理的安全级别,只要我们选择难以猜测的唯一密码并快速安装安全补丁(最好是自动安装)。尽管如此,我们的vps会不断受到黑客和垃圾邮件发送者的攻击,因此我们应该尽可能多地删除漏洞并定期检查日志文件。vps搭建需要额外的安全性有:

1、限制 Virtualmin 登录
Virtualmin界面是黑客获得对您服务器的root访问权限的另一种方式。我强烈建议为任何超级用户或“sudo”组成员的用户启用双重身份验证。我们可以在Webmin > Webmin Configuration > Two-Factor Authentication中启用此功能。我发现选择Google Authenticator 作为提供者是最简单的,但实际上使用Authy进行身份验证(因为它可以避免使用 API 密钥,而且如果你丢失了手机,你可以恢复你的帐户)。
我们可能需要安装 Perl 模块 Authen::OATH,这在 Ubuntu 中很容易做到:sudo apt install libauthen-oath-perl
我们可以在Webmin > Webmin 用户 > 密码限制中强制使用强密码,建议至少设置10个字符的最小长度。
我们还可以根据用户限制对某些Webmin模块的访问,并且在任何情况下删除不需要的模块以整理 Webmin 菜单都很有用。我建议创建一个名称为“管理员”的组,然后将自己添加到该组中。然后在 管理员 > 可用的 Webmin 模块 中停用“硬件”和“集群”组中的几乎所有内容,以及 左侧菜单栏中未使用的模块中显示的所有内容。我通过转到 Webmin > Webmin Configuration > Reassign Modules将“系统时间”模块移动到“系统”菜单。当你在那里时,访问系统时间中的“时间服务器同步”选项卡并配置一个时间服务器名称(我使用uk.pool.ntp。 这很重要,因为如果服务器时间偏离得太远,两因素身份验证将不起作用。

2、禁用不必要的服务
proftpd 、clamav-daemon、clamav-freshclam 和命名服务通常不是必需的,可以通过转到Webmin > Bootup and Shutdown并单击 Start at boot time > No > Save 然后 Stop Now和Delete来禁用以节省内存。您还可以在 Webmin > Networking > Firewalld中禁用 ftp 端口 20 和 FTP 。(不要为 TCP 或 UDP 禁用 DNS 端口 53,因为虽然它可能看起来有效,但如果对传出查询的响应太大,则可能会被阻止。)

3、减轻 cookie 劫持
在 Webmin > 工具 > PHP 配置中的全局 PHP 配置中,您可以通过单击左上角的设置齿轮并将列表更改为您使用的版本来设置 PHP 配置文件列表(默认值是错误的)。例如:
/etc/php/*/fpm/php.ini=配置通过 php-fpm 运行的脚本
/etc/php/*/cli/php.ini=配置命令行脚本
要减轻 cookie 劫持,请添加以下设置:
session.cookie_samesite = "宽松"
session.cookie_httponly = 1
session.cookie_secure = 1
要使站点以 php-fpm 模式运行,请转到 Virtualmin > Server Configuration > PHP Options > PHP script execution mode。要将此设置设为新站点的默认设置,请转到 Vitualmin > System Settings > Server Templates > Default settings > PHP options。重复设置子服务器。

4、限制过时的密码套件-- PCI DSS、HIPAA和NIST合规性
在Webmin > Servers > Apache Webserver > Global Configuration > Configure Apache Modules 中启用“ headers ”和“ expires ”模块。它们在下面是必需的,也经常在“.htaccess”文件中使用,以提供“友好”的 URL 并控制页面缓存超时。如果我们看到服务器的默认 Apache 页面而不是我们的网站,则可能是这些缺少模块的原因。
要限制使用过时和不安全的 SSL 密码,启用OCSP stapling 和 HTTP Strict Transport Security并在浏览器中启用跨站点脚本保护,您可以将这些语句添加到根目录中/etc/apache2/apahe2.conf文件的末尾服务器的,也可以从Webmin > Servers > Apache Webserer > Global Configuration > Edit Config Files访问。它们可以通过 ImmuniWeb和Qualys SSL Labs服务器测试进行检查,应该足以让您获得 A+ 评级。之后不要忘记单击“应用更改”(Apache Webserver 页面右上角的刷新符号)。

pYYBAGNg2_aAEiKkAABgUA9J7Q8276.png

同样,在 Webmin > Webmin Configuration > SSL Encryption 检查所有低于 TLSv1.2 的 SSL 协议都被拒绝并选择“仅符合 PCI 的强密码”,同样在 Webmin > Usermin Configuration > SSL Encryption。
小心限制与 Postfix (/etc/postfix/main.cf) 或Dovecot (/etc/dovecot/dovecot.conf) 的电子邮件连接太多,因为那里有许多旧的电子邮件系统无法处理较新的密码和你可能会丢失消息。尽管如此,您仍应确保电子邮件登录密码不会以纯文本形式显示。对于外发邮件,请转到 Webmin > Servers > Postfix Mail Server > SMTP Authentication and Encryption 并选中Require SASL SMTP authentication并禁止通过不安全的连接进行SASL身份验证。对于传入的邮件,请转到 Webmin > 服务器 > Dovecot IMAP/POP3 服务器 > SSL 配置 并选中 Disallow plaintext authentication in non-SSL mode。
默认情况下,任何系统问题的电子邮件报告都将发送给用户“root”。您可以通过转到Webmin > 系统 > 用户和组 > root并单击“阅读电子邮件”按钮来阅读它们。将它们转发到外部电子邮件地址通常更方便。您可以通过转到Webmin > Servers > Postfix Mail Server > Mail Aliases进行配置,选择创建新别名并将地址设置为“root”,并将您的电子邮件地址设置为“别名到”、“电子邮件地址”。

5、启用防火墙和fail2ban
防火墙可能没有您期望的那么有用,因为vps上的大多数服务必须始终可以公开访问,并且无论如何都应该禁用不必要的服务。然而,防火墙有助于防止某些类型的拒绝服务(DoS)攻击。Firewalld由 Webmin 默认设置并启用,无需进一步配置,它适用于IPv6和IPv4。
Fail2ban与firewalld一起使用,自动阻止持续违规者的IP地址。它不再能够防止“暴力”密码攻击,因为僵尸网络只是不断地改变他们的 IP 地址来绕过它,但它有时仍然对减少服务器负载很有用。它可以在 Webmin > Networking > Fail2ban Intrusion Detector进行配置。默认设置往往弊大于利,因此需要进行一些调整。
请注意,Webmin 目前存在一个错误,该错误会阻止fail2ban在重新启动后自动启动。输入以下命令来解决这个问题:
sudo systemctl 启用 fail2ban
首先,我建议去 Filter Action Jails 并将postfix和dovecot jails 设置为较大的值(例如每天 10,000 次尝试),因为合法用户有时会错误配置他们的电子邮件客户端,如果他们触发了对共享 IP 地址的禁令,他们可以结束阻止整个建筑物的电子邮件。默认的ssh和webmin-auth 监狱可以保留。
接下来,建议添加WP Fail2Ban Redux插件中所述的wordpress-hard和wordpress-soft过滤器和监狱, 以及此处所述的apache-404 过滤器和监狱。
最后,fail2ban 将几乎完全无效,除非到期时间从 10 分钟增加到 20 天左右(这似乎是可以达到的最大值)。
在/etc/fail2ban/fail2ban.conf 我更改此设置:
[默认]
dbpurage = 20d
在/etc/fail2ban/jail.conf 我更改了这些设置:
[默认]
bantime = 20d
findtime = 20d
maxretry = 9
在/etc/fail2ban/jail.local 我添加这些设置:

poYBAGNg3A-AP5oJAABylL5luSk507.png


我使用以下内容创建了一个新文件 /etc/fail2ban/paths-overrides.local :
[默认]
apache_error_log = /var/log/virtualmin/*_error_log
apache_access_log = /var/log/virtualmin/*_access_log

6、病毒扫描程序
不幸的是,Linux的病毒扫描程序往往非常昂贵或非常无效。ImunifyAV 的免费版本是我找到的最好的。它可以按此处所述进行安装,也可以按此处所述进行配置。我们将需要为其创建一个虚拟主机,它可以是一个子域,也可以是我们已经拥有的站点上的一个页面。然后,我们需要创建一个配置文件来告诉 Imunify 该站点在哪里,以及所有者和组是谁。您可以使用以下命令执行此操作:
sudo mkdir /etc/sysconfig/imunify360
sudo nano /etc/sysconfig/imunify360/integration.conf
该文件应包含 UI 路径和 UI 路径所有者,如下所示:
[路径]
ui_path = /home /[所有者]/domains/[imav.domain]/public_html
ui_path_owner = [所有者]:[组]
保存文件并使用 Ctrl+O 然后 Ctrl+X 退出。接下来,下载并执行部署脚本:
sudo wget https://repo.imunify360.cloudlinux.com/defence360/imav-deploy.sh -O imav-deploy.sh
sudo bash imav-deploy.sh
我们可能需要将一个或多个管理员(sudo 用户)的名称添加到 auth.admin 文件中:
须藤纳米/etc/sysconfig/imunify360/auth.admin
(您可以在Webmin > System> Users and Groups中创建或提升其他 sudo 用户, 方法 是将他们的 Shell设置 为“/bin/bash”并从 Secondary groups添加组“sudo” 。)保存此文件,然后将 Web 浏览器指向您在上面创建的用于查看 Imunify 仪表板的虚拟主机。
我们可能需要配置通知电子邮件,以便在发现恶意软件时通知。ImunifyAV(免费版)默认没有设置任何东西。详细说明在这里 ,但简单的版本是您首先需要下载一个示例“挂钩脚本”并使其可由“_imunify”组执行。
cd /etc/imunify360 &&
curl https://docs.imunify360.com/hook_script.sh -O &&
chown root:_imunify hook_script.sh &&
chmod g+x hook_script.sh
编辑此文件以启用发送到您所需地址的电子邮件。
MAIL_ENABLE=yes # 默认否,更改为 "yes" 启用
MAIL_TO=" your-email@domain " # 对于多个电子邮件地址,使用逗号
在 Imunify 仪表板中,单击“设置”齿轮并选择“通知”选项卡。在“自定义扫描:检测到恶意软件”和“用户扫描:检测到恶意软件”下,选择“启用脚本执行”,粘贴挂钩脚本的位置(本例中为/etc/imunify360/hook_script.sh)并保存更改。
重新启动通知服务并安装“jq”包。
systemctl restart imunify-notifier
sudo apt install jq
单击“全部扫描”按钮,几天后回来查看结果。这会检查所有用户文件,包括电子邮件。
可以使用这个简单的命令安装另一个有用的扫描程序,它不会造成太大的伤害并且可以检测到对系统文件的不需要的更改:
sudo apt install rkhunter

以上就是vps搭建教程的第五部分介绍,内容会比较多,希望能帮助到大家参考!

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 防火墙
    +关注

    关注

    0

    文章

    409

    浏览量

    35456
  • vps
    vps
    +关注

    关注

    1

    文章

    87

    浏览量

    11952
收藏 人收藏

    评论

    相关推荐

    如何根据需求选择合适的新加坡VPS操作系统?

    选择合适的新加坡VPS操作系统您需要考虑哪些因素,如何根据需求选择合适的新加坡VPS操作系统?rak部落小编为您整理发布选择合适的新加坡VPS操作系统需要考虑哪些因素。
    的头像 发表于 05-10 11:14 216次阅读
    如何根据需求选择合适的新加坡<b class='flag-5'>VPS</b>操作系统?

    美国洛杉矶VPS的优势有哪些?

    **:洛杉矶VPS通常提供高性能的硬件配置,能够满足用户对于计算资源的需求。例如,有的VPS在安装宝塔面板并配置LNMP环境后,仍然有较多的内存和硬盘空间剩余,这对于搭建多个网站来说是足够的。 2. **稳定性**:由于洛杉矶是
    的头像 发表于 04-28 10:19 198次阅读

    选择美国vps云主机时应该考虑哪些因素

     美国VPS云主机是指位于美国的虚拟私人服务器,它提供独立的操作系统、内存和CPU资源,用户可以根据自身需求进行配置。那么选择美国vps云主机时应该考虑哪些因素,rak小编为您整理发布选择美国vps云主机时应该考虑哪些因素。
    的头像 发表于 03-26 09:21 189次阅读

    香港vps延迟太高了怎么办,怎么优化?

    香港VPS延迟高可能由多种原因引起,包括网络拥塞、VPS服务器性能不足、路由问题等。以下是一些建议来优化香港VPS的延迟: 1、更换VPS提供商: 如果你的
    的头像 发表于 02-26 17:28 292次阅读

    怎么用SSH密钥登陆vps

    使用SSH密钥登录VPS(Virtual Private Server)是一种更安全和方便的方式,相比使用密码,SSH密钥更难被破解。以下是在Linux系统上使用SSH密钥登录VPS的基本步骤
    的头像 发表于 02-20 16:29 543次阅读

    与国内热门VPS相比,选择使用亚马逊云科技VPS理由是什么?

    亚马逊云科技作为全球网络科技的一方巨擘,在全球云计算领域可谓一枝独秀。而说到云计算领域,作为入门和基础使用场景的VPS就是一个无法绕开的话题。那么亚马逊云科技又有什么样的优势呢?今天这篇文章就市面
    的头像 发表于 10-27 10:43 405次阅读
    与国内热门<b class='flag-5'>VPS</b>相比,选择使用亚马逊云科技<b class='flag-5'>VPS</b>理由是什么?

    国产隔离DCDC芯片VPS8702简介

    VPS8702是一款专门为小体积、低待机功耗的微功率隔离电源而设计的变压器驱动器,其外围只需匹配简单的输入输出滤波电容、隔离变压器和整流电路,即可实现3~6V输入电压、多种输出电压、输出功率高达3W
    发表于 10-12 10:23

    国产隔离DCDC芯片VPS8701B简介

    VPS8701B是一款专门为小体积、低待机功耗的微功率隔离电源而设计的变压器驱动器,其外围只需匹配简单的输入输出滤波电容、隔离变压器和整流电路,即可实现6~~~30V输入电压、多种输出电压、输出功率
    发表于 10-12 10:04

    国产隔离DCDC芯片VPS6501简介

    VPS6501是一款专门为小体积、低待机功耗微功率隔离电源而设计的推挽式变压器驱动器,其外围只需匹配简单的输入输出滤波电容、隔离变压器和整流电路,即可实现3.3V或5V输入、3.3V~~~24V输出
    发表于 10-12 09:52

    国产隔离DCDC芯片VPS8505简介

    VPS8505是一款专门为小体积、低待机功耗微功率隔离电源而设计的推挽式变压器驱动器,其外围只需匹配简单的输入输出滤波电容、隔离变压器和整流电路,即可实现3.3V或5V输入、3.3V~~~24V输出
    发表于 10-12 09:49

    国产隔离DCDC芯片VPS8504C简介

    VPS8504C是一款专门为小体积、低待机功耗微功率隔离电源而设计的推挽式变压器驱动器,其外围只需匹配简单的输入输出滤波电容、隔离变压器和整流电路,即可实现3.3V或5V输入、3.3V24V输出
    发表于 10-12 09:43

    国产隔离DCDC芯片VPS8504B简介

    VPS8504B是一款专门为小体积、低待机功耗微功率隔离电源而设计的推挽式变压器驱动器,其外围只需匹配简单的输入输出滤波电容、隔离变压器和整流电路,即可实现3.3V或5V输入、3.3V~~~24V
    发表于 10-12 09:30

    VPS和云服务器有哪些区别

    VPS(Virtual Private Server)和云服务器都是虚拟化技术的产物,但它们之间有以下几个不同点: 1、 架构 VPS是建立在以物理服务器上的虚拟化技术上,一台物理服务器被划分成多个
    的头像 发表于 08-01 21:43 814次阅读

    VPS、物理服务器、虚拟主机和云服务器、有什么区别(比较好的云服务器)

    服务器是一种计算机,是在网络操作系统的控制下,在网络环境中为客户端提供共享资源的高性能计算机。那么VPS、物理服务器、虚拟主机和云服务器、有什么区别呢?比较好的云服务器有哪些呢? VPS、物理服务器
    的头像 发表于 07-27 09:07 830次阅读

    什么是VPS服务器,有哪些用处?

    VPS是Virtual Private Server的缩写,是一种虚拟化技术,通过将单个服务器分割成多个虚拟服务器,从而将不同用户之间的使用分隔开来。每个VPS都有独立的操作系统、处理器、存储器
    的头像 发表于 07-26 13:49 4508次阅读