小編已經(jīng)分享了vps搭建第四部分的教程,今天小編將給大家講解vps搭建需要的額外的安全性,也就是搭建教程的第五部分。
到目前為止,我們安裝的默認設(shè)置提供了合理的安全級別,只要我們選擇難以猜測的唯一密碼并快速安裝安全補丁(最好是自動安裝)。盡管如此,我們的vps會不斷受到黑客和垃圾郵件發(fā)送者的攻擊,因此我們應(yīng)該盡可能多地刪除漏洞并定期檢查日志文件。vps搭建需要額外的安全性有:
1、限制 Virtualmin 登錄
Virtualmin界面是黑客獲得對您服務(wù)器的root訪問權(quán)限的另一種方式。我強烈建議為任何超級用戶或“sudo”組成員的用戶啟用雙重身份驗證。我們可以在Webmin > Webmin Configuration > Two-Factor Authentication中啟用此功能。我發(fā)現(xiàn)選擇Google Authenticator 作為提供者是最簡單的,但實際上使用Authy進行身份驗證(因為它可以避免使用 API 密鑰,而且如果你丟失了手機,你可以恢復(fù)你的帳戶)。
我們可能需要安裝 Perl 模塊 Authen::OATH,這在 Ubuntu 中很容易做到:sudo apt install libauthen-oath-perl
我們可以在Webmin > Webmin 用戶 > 密碼限制中強制使用強密碼,建議至少設(shè)置10個字符的最小長度。
我們還可以根據(jù)用戶限制對某些Webmin模塊的訪問,并且在任何情況下刪除不需要的模塊以整理 Webmin 菜單都很有用。我建議創(chuàng)建一個名稱為“管理員”的組,然后將自己添加到該組中。然后在 管理員 > 可用的 Webmin 模塊 中停用“硬件”和“集群”組中的幾乎所有內(nèi)容,以及 左側(cè)菜單欄中未使用的模塊中顯示的所有內(nèi)容。我通過轉(zhuǎn)到 Webmin > Webmin Configuration > Reassign Modules將“系統(tǒng)時間”模塊移動到“系統(tǒng)”菜單。當你在那里時,訪問系統(tǒng)時間中的“時間服務(wù)器同步”選項卡并配置一個時間服務(wù)器名稱(我使用uk.pool.ntp。 這很重要,因為如果服務(wù)器時間偏離得太遠,兩因素身份驗證將不起作用。
2、禁用不必要的服務(wù)
proftpd 、clamav-daemon、clamav-freshclam 和命名服務(wù)通常不是必需的,可以通過轉(zhuǎn)到Webmin > Bootup and Shutdown并單擊 Start at boot time > No > Save 然后 Stop Now和Delete來禁用以節(jié)省內(nèi)存。您還可以在 Webmin > Networking > Firewalld中禁用 ftp 端口 20 和 FTP 。(不要為 TCP 或 UDP 禁用 DNS 端口 53,因為雖然它可能看起來有效,但如果對傳出查詢的響應(yīng)太大,則可能會被阻止。)
3、減輕 cookie 劫持
在 Webmin > 工具 > PHP 配置中的全局 PHP 配置中,您可以通過單擊左上角的設(shè)置齒輪并將列表更改為您使用的版本來設(shè)置 PHP 配置文件列表(默認值是錯誤的)。例如:
/etc/php/*/fpm/php.ini=配置通過 php-fpm 運行的腳本
/etc/php/*/cli/php.ini=配置命令行腳本
要減輕 cookie 劫持,請?zhí)砑右韵略O(shè)置:
session.cookie_samesite = "寬松"
session.cookie_httponly = 1
session.cookie_secure = 1
要使站點以 php-fpm 模式運行,請轉(zhuǎn)到 Virtualmin > Server Configuration > PHP Options > PHP script execution mode。要將此設(shè)置設(shè)為新站點的默認設(shè)置,請轉(zhuǎn)到 Vitualmin > System Settings > Server Templates > Default settings > PHP options。重復(fù)設(shè)置子服務(wù)器。
4、限制過時的密碼套件-- PCI DSS、HIPAA和NIST合規(guī)性
在Webmin > Servers > Apache Webserver > Global Configuration > Configure Apache Modules 中啟用“ headers ”和“ expires ”模塊。它們在下面是必需的,也經(jīng)常在“.htaccess”文件中使用,以提供“友好”的 URL 并控制頁面緩存超時。如果我們看到服務(wù)器的默認 Apache 頁面而不是我們的網(wǎng)站,則可能是這些缺少模塊的原因。
要限制使用過時和不安全的 SSL 密碼,啟用OCSP stapling 和 HTTP Strict Transport Security并在瀏覽器中啟用跨站點腳本保護,您可以將這些語句添加到根目錄中/etc/apache2/apahe2.conf文件的末尾服務(wù)器的,也可以從Webmin > Servers > Apache Webserer > Global Configuration > Edit Config Files訪問。它們可以通過 ImmuniWeb和Qualys SSL Labs服務(wù)器測試進行檢查,應(yīng)該足以讓您獲得 A+ 評級。之后不要忘記單擊“應(yīng)用更改”(Apache Webserver 頁面右上角的刷新符號)。
同樣,在 Webmin > Webmin Configuration > SSL Encryption 檢查所有低于 TLSv1.2 的 SSL 協(xié)議都被拒絕并選擇“僅符合 PCI 的強密碼”,同樣在 Webmin > Usermin Configuration > SSL Encryption。
小心限制與 Postfix (/etc/postfix/main.cf) 或Dovecot (/etc/dovecot/dovecot.conf) 的電子郵件連接太多,因為那里有許多舊的電子郵件系統(tǒng)無法處理較新的密碼和你可能會丟失消息。盡管如此,您仍應(yīng)確保電子郵件登錄密碼不會以純文本形式顯示。對于外發(fā)郵件,請轉(zhuǎn)到 Webmin > Servers > Postfix Mail Server > SMTP Authentication and Encryption 并選中Require SASL SMTP authentication并禁止通過不安全的連接進行SASL身份驗證。對于傳入的郵件,請轉(zhuǎn)到 Webmin > 服務(wù)器 > Dovecot IMAP/POP3 服務(wù)器 > SSL 配置 并選中 Disallow plaintext authentication in non-SSL mode。
默認情況下,任何系統(tǒng)問題的電子郵件報告都將發(fā)送給用戶“root”。您可以通過轉(zhuǎn)到Webmin > 系統(tǒng) > 用戶和組 > root并單擊“閱讀電子郵件”按鈕來閱讀它們。將它們轉(zhuǎn)發(fā)到外部電子郵件地址通常更方便。您可以通過轉(zhuǎn)到Webmin > Servers > Postfix Mail Server > Mail Aliases進行配置,選擇創(chuàng)建新別名并將地址設(shè)置為“root”,并將您的電子郵件地址設(shè)置為“別名到”、“電子郵件地址”。
5、啟用防火墻和fail2ban
防火墻可能沒有您期望的那么有用,因為vps上的大多數(shù)服務(wù)必須始終可以公開訪問,并且無論如何都應(yīng)該禁用不必要的服務(wù)。然而,防火墻有助于防止某些類型的拒絕服務(wù)(DoS)攻擊。Firewalld由 Webmin 默認設(shè)置并啟用,無需進一步配置,它適用于IPv6和IPv4。
Fail2ban與firewalld一起使用,自動阻止持續(xù)違規(guī)者的IP地址。它不再能夠防止“暴力”密碼攻擊,因為僵尸網(wǎng)絡(luò)只是不斷地改變他們的 IP 地址來繞過它,但它有時仍然對減少服務(wù)器負載很有用。它可以在 Webmin > Networking > Fail2ban Intrusion Detector進行配置。默認設(shè)置往往弊大于利,因此需要進行一些調(diào)整。
請注意,Webmin 目前存在一個錯誤,該錯誤會阻止fail2ban在重新啟動后自動啟動。輸入以下命令來解決這個問題:
sudo systemctl 啟用 fail2ban
首先,我建議去 Filter Action Jails 并將postfix和dovecot jails 設(shè)置為較大的值(例如每天 10,000 次嘗試),因為合法用戶有時會錯誤配置他們的電子郵件客戶端,如果他們觸發(fā)了對共享 IP 地址的禁令,他們可以結(jié)束阻止整個建筑物的電子郵件。默認的ssh和webmin-auth 監(jiān)獄可以保留。
接下來,建議添加WP Fail2Ban Redux插件中所述的wordpress-hard和wordpress-soft過濾器和監(jiān)獄, 以及此處所述的apache-404 過濾器和監(jiān)獄。
最后,fail2ban 將幾乎完全無效,除非到期時間從 10 分鐘增加到 20 天左右(這似乎是可以達到的最大值)。
在/etc/fail2ban/fail2ban.conf 我更改此設(shè)置:
[默認]
dbpurage = 20d
在/etc/fail2ban/jail.conf 我更改了這些設(shè)置:
[默認]
bantime = 20d
findtime = 20d
maxretry = 9
在/etc/fail2ban/jail.local 我添加這些設(shè)置:
我使用以下內(nèi)容創(chuàng)建了一個新文件 /etc/fail2ban/paths-overrides.local :
[默認]
apache_error_log = /var/log/virtualmin/*_error_log
apache_access_log = /var/log/virtualmin/*_access_log
6、病毒掃描程序
不幸的是,Linux的病毒掃描程序往往非常昂貴或非常無效。ImunifyAV 的免費版本是我找到的最好的。它可以按此處所述進行安裝,也可以按此處所述進行配置。我們將需要為其創(chuàng)建一個虛擬主機,它可以是一個子域,也可以是我們已經(jīng)擁有的站點上的一個頁面。然后,我們需要創(chuàng)建一個配置文件來告訴 Imunify 該站點在哪里,以及所有者和組是誰。您可以使用以下命令執(zhí)行此操作:
sudo mkdir /etc/sysconfig/imunify360
sudo nano /etc/sysconfig/imunify360/integration.conf
該文件應(yīng)包含 UI 路徑和 UI 路徑所有者,如下所示:
[路徑]
ui_path = /home /[所有者]/domains/[imav.domain]/public_html
ui_path_owner = [所有者]:[組]
保存文件并使用 Ctrl+O 然后 Ctrl+X 退出。接下來,下載并執(zhí)行部署腳本:
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中創(chuàng)建或提升其他 sudo 用戶, 方法 是將他們的 Shell設(shè)置 為“/bin/bash”并從 Secondary groups添加組“sudo” 。)保存此文件,然后將 Web 瀏覽器指向您在上面創(chuàng)建的用于查看 Imunify 儀表板的虛擬主機。
我們可能需要配置通知電子郵件,以便在發(fā)現(xiàn)惡意軟件時通知。ImunifyAV(免費版)默認沒有設(shè)置任何東西。詳細說明在這里 ,但簡單的版本是您首先需要下載一個示例“掛鉤腳本”并使其可由“_imunify”組執(zhí)行。
cd /etc/imunify360 &&
curl https://docs.imunify360.com/hook_script.sh -O &&
chown root:_imunify hook_script.sh &&
chmod g+x hook_script.sh
編輯此文件以啟用發(fā)送到您所需地址的電子郵件。
MAIL_ENABLE=yes # 默認否,更改為 "yes" 啟用
MAIL_TO=" your-email@domain " # 對于多個電子郵件地址,使用逗號
在 Imunify 儀表板中,單擊“設(shè)置”齒輪并選擇“通知”選項卡。在“自定義掃描:檢測到惡意軟件”和“用戶掃描:檢測到惡意軟件”下,選擇“啟用腳本執(zhí)行”,粘貼掛鉤腳本的位置(本例中為/etc/imunify360/hook_script.sh)并保存更改。
重新啟動通知服務(wù)并安裝“jq”包。
systemctl restart imunify-notifier
sudo apt install jq
單擊“全部掃描”按鈕,幾天后回來查看結(jié)果。這會檢查所有用戶文件,包括電子郵件。
可以使用這個簡單的命令安裝另一個有用的掃描程序,它不會造成太大的傷害并且可以檢測到對系統(tǒng)文件的不需要的更改:
sudo apt install rkhunter
以上就是vps搭建教程的第五部分介紹,內(nèi)容會比較多,希望能幫助到大家參考!
-
防火墻
+關(guān)注
關(guān)注
0文章
417瀏覽量
35613 -
vps
+關(guān)注
關(guān)注
1文章
110瀏覽量
12029
發(fā)布評論請先 登錄
相關(guān)推薦
評論