溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

保護Linux服務器的常用方法有哪些

發布時間:2021-11-11 09:58:47 來源:億速云 閱讀:139 作者:柒染 欄目:編程語言

保護Linux服務器的常用方法有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

在實際的生產環境中,開發和測試人員都盡可能的保證安全,以避免一些重要信息泄露甚至被竊取。許多企業或組織還擁有較為完善的威脅建模,但即便如此安全問題仍層出不窮。有的企業則期望通過網絡上的白帽或黑帽們,來幫助他們共同完成企業的安全建設。但是作為企業需要明白一點,并不是所有的白帽或黑帽,都愿意將自己的安全建議分享給他們。對于安全防護也不僅僅是使用2FA和密碼管理器,安裝更新和不點擊可疑鏈接這一口號那么簡單。

這篇文章的內容其實我在一些安全會議上已經演講過兩回了,在這里我對部分內容做了一些修改并希望再次分享給大家,主要面向那些剛剛學習或了解Linux安全的人。在本文我并不會實際討論Web應用的安全,想要了解和學習這方面的內容,大可以參考OWASP Top 10它可以教會開發和測試人員有關SQL注入,CSRF,XSS,會話管理等知識。如果你擔心的是更加高級的攻擊者,并且需要防范可能的惡意代碼或提權腳本被執行,那么在本文中你將學習到你想了解的知識。遠端的入侵者甚至是一個不起眼的內部威脅者,此時可能早已潛伏在你的系統中伺機而動。

以下我會提到一些基本概念,并包含相關的工具。同時,在這里你需要問你自己:

ACL(訪問控制列表)

你的基礎設施是否分為不同的系統,具有不同的基于角色的訪問級別,或者用戶擁有完全相同的特權?

acl: getfacl+setfacl

系統審計

你是否已對登錄到某臺機器的用戶執行考慮周全?

查看:auditd, go-audit

靜態分析和fuzzing

你可能正在運行C/C++。內存安全問題,占據了大多數出現的漏洞。你是否對這些代碼做過審計,靜態分析或fuzzing測試以確保它們的安全性?你是否考慮過在 Rust中開發?

查看:afl, Radamsa, Sulley, boofuzz, Coverity Scan, Valgrind, sanitizers

網絡分段

你是否已將你的后端與你的前端及負載均衡器正確分離?你是否花時間設置了公司VPN,并授予你的機器私有的內部地址?

查看: iptables, ufw

隔離

你的員工是否將他們的工作電腦用于個人活動,例如游戲或與其工作無關的應用程序?或者他們是否有使用像虛擬機或容器一類的東西來進行消息傳遞,瀏覽,開發......?

查看: Qubes, VirtualBox

文件權限和umask

任何對Unix有基礎了解的人,都不會對文件權限感到陌生。如果你沒有嚴格控制某些文件的讀寫執行權限,那么我強烈建議你按照最嚴格的規范實施權限控制。

更多內容

容器

集裝箱化在理論上對安全有很大的幫助。但我想知道誰被允許建立并將鏡像投入生產環境,他們是否也進行了簽名和驗證,并對安全更新和CVE進行監控?

查看:Docker, LXC

利用威脅情報

從IPv4地址空間發起惡意IP流,準備進行DDoS攻擊的僵尸網絡以及自動化的利用掃描正在進行。你可以自己收集有關此類活動的情報,也可以訂閱相關產品的feed或黑名單列表。但你的端點/防火墻,是否有對此作出反應并合并這些信息?

查看:威脅情報資源列表

防火墻和包過濾

你多久審查一次你的iptables規則或你是否了解你的路由器/防火墻執行的內容,有沒有對它們進行運行驗證測試?你是否正確配置了包過濾規則,以確保機器只能與那些需要的數據通信?

查看:pfSense, OPNsense

DNS和域名注冊商

你為此鎖定了多少努力?你已經付出了多少努力來鎖定它?當你的域名服務器或DNS區域文件被未經授權更改時,你是否會收到相應警報?此外,你是否啟用了DNSSEC?

就我個人而言,我建議將Namecheap作為注冊服務商,并將Cloudflare用于高性能DNS。

物理訪問

如果我是法院的執法人員,數據中心工作人員或你的托管服務提供商,我是否可以自由的的讀取你服務器的內容(全盤加密除外)?當你的磁盤退役或更換時,其中的內容是否會被擦除?如果有人將USB插入1U機架伺服器,你是否會收到警報提醒?

查看:LUKS/cryptsetup

你有確定性的構建嗎?

當開發人員將構建代碼推送到生產環境中時,你是否可以驗證這些代碼的真實意圖,并且保證源碼或靜態鏈接的依賴關系未被惡意修改?

查看:Gitian

驗證數字簽名

毫無疑問,你可能會從一些非官方站點獲取或下載一些代碼和軟件。那么在團隊成員繼續構建或安裝之前,你是否比較過校驗和/哈?;蝌炞C了該下載的簽名?

查看:使用GnuPG制作和驗證簽名

沙盒環境

它是否具有AppArmor配置文件,seccomp過濾器或RBAC策略,指定它在系統調用和訪問權限方面的功能?

查看:seccomp, AppArmor

TLS和加密配置

你是否已經完全棄用那些不安全的加密套件和算法(例如MD5,SHA1,RC4)?并在兼容性和用戶期望上選擇最佳的加密方式,HMAC和密鑰交換算法。如果可用,優先考慮使用RSA加密算法。這適用于OpenSSH,GnuPG,OpenVPN等。使用Let’s Encrypt.t即可輕松獲得ssl的免費證書。

查看:應用密碼加固,SSL和TLS,服務器端TLS

公密鑰管理

如果你的每個員工都擁有自己的密鑰,請考慮在整個域中對其進行同步,并將密鑰移出版本控制。

查看:GPGSync, sops, Vault

HTTP頭安全

關于HTTP頭安全,這里有一個列表可供大家參考:X-Frame-Options, X-XSS-Protection, X-Content-Type-Options, X-Download-Options, X-Permitted-Cross-Domain-Policies, Content-Security-Policy, Referrer-Policy, Strict-Transport-Security, Public-Key-Pins。這些響應頭的正確配置,對安全也至關重要。

查看: securityheaders.io, Mozilla web安全指南

文件完整性監控

你是否對重要文件做定期檢查,已確保文件未被修改并生成被更改的警報?

查看: Tripwire, OSSEC

入侵檢測

或許你已經部署了多種類型的入侵檢測工具,但你是否僅僅只是按照默認的規則配置來運行它,并沒有花費時間來學習相關的技術知識,以及根據自身應用情況來配置合適的規則集?

查看:比較基于主機的入侵檢測系統,Snort

漏洞管理

通過訂閱郵件,我們可以獲取新的漏洞報告并修復漏洞。那么,你還記得你最后一次檢查CVE活動是什么時候嗎?

查看:Nessus, CoreOS clair

基礎系統的安全

你是否真的完全信任Debian/Ubuntu,RHEL或任何公司的第三方軟件存儲庫,可以始終為你提供非惡意的軟件包?這里有一個想法:你可以托管自己的存儲庫,固定到特定的版本,并且僅在測試后才升級。

或者,你也可以運行基于Alpine或LinuxKit的極小操作系統,這樣可以最大程度上的減少你的攻擊面。

LSM(Linux安全模塊)

即AppArmor或SELINUX,他們最近是否為你做過任何事情?

Linux內核加固

這里我建議大家直接去查看PaX和grsecurity補丁。前不久被曝出的Spectre和Meltdown漏洞,也為我們的內核安全問題敲響了警鐘。

查看:grsecurity.net,Linux 內核安全衛士,內核自我保護項目

移除不必要的設備

如果你沒有使用Thunderbolt,Firewire,無線網卡或任何具有DMA(直接內存訪問)模式的模塊,那么你就沒有理由加載這些內核模塊。

查看:內核模塊黑名單列表

日志過濾

也許你還在通過手動的方式檢查日志文件,那么你應該學會編寫Logstash過濾和grok pattern。Grok是Logstash 最重要的插件。你可以在 grok 里預定義好命名正則表達式,在稍后(grok參數或者其他正則表達式里)引用它。它非常適用于syslog logs,apache和一些其他的webserver logs,以及mysql logs。grok有很多定義好pattern,當然也可以自己定義。

查看:Filebeat, rsyslog, Logstash

你如何監控資源的使用情況?

RAM,CPU負載,可用磁盤空間。這些雖然看上去無關緊要,但這些地方都是發生異?;顒拥年P鍵位置,因此值得一提。

查看:Metricbeat, Prometheus node_exporter, Nagios, Osquery

基礎設施測試

人們對軟件測試的各個方面都很熟悉,但對于基礎設施的測試卻并不熟悉。你如何確保你的系統狀態始終符合你的預期?

查看:Serverspec, Testinfra

平臺和固件安全

你的BIOS和其他低級接口受到錯誤影響。英特爾?AMT和管理引擎,以及Computrace應被禁用。下面鏈接提供了一個非常有用的用于分析系統固件和硬件組件安全性的框架。

查看:CHIPSEC

保護遠程shell

sshd通用準則:禁用root登錄,使用密鑰代替密碼,并設置暴破防護。而更好的解決方案是將其放置在VPN后面,通過驗證的Tor隱藏服務,或者需要端口試探來動態開啟一些特定端口連接主機。

查看:fail2ban, denyhosts, sshguard, Secure Secure Shell

Webserver最佳實踐

如果你不想泄露你當前正在運行服務器的版本信息,對于nginx你可以通過將參數server_tokens設為off來實現,如果是Apache則將ServerSignature設為off即可。

在運行依賴于動態腳本語言的復雜應用程序時,請考慮運行類似ModSecurity的WAF(Web應用程序防火墻)。 Cloudflare正大規模的向其客戶提供此項服務。

次要因素

我強烈推薦使用YubiKey,它有很多有用的功能。它可以配置為輸出靜態密碼(非常適合PAM用戶登錄或掛載卷加密),HOTP或通用雙因素(U2F)認證,或者可以使用OpenPGP智能卡。這些設備對于任何系統管理員來說都是不可或缺的。為此,我已經發布了詳細的YubiKey GPG+SSH的安裝指南。

DNS解析

你的/etc/resolv.conf文件是否正確配置? Quad9是谷歌公共DNS或OpenDNS的替代產品,可阻止客戶端訪問惡意域名,這與Chrome瀏覽器通過安全瀏覽功能來保護用戶的功能類似。所以將你的域名服務器設置為9.9.9.9將能更好的保障你的安全。

審計信任方

除了讓系統的可信根證書存儲保持最新之外,還應該每隔一段時間檢查一次包管理器,以查看哪些第三方是可信的,他們的存儲庫簽名密鑰是否足夠強大(許多仍使用1024-bit DSA),并刪除那些過期的。

嘗試:apt-key list, rpm -qa gpg-pubkey

簽名git提交和標簽

目前,幾乎所有人都在使用git進行版本控制。當你發布新版本時,它是否基于GPG簽名git標簽?如果你喜歡,你也可以簽名提交。

查看:使用GPG簽名標簽, Git簽名, Git工具?簽名你的工作

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女