50 招教你防止黑客入侵,適用于小白和專業人員
今天我們要討論的是保護系統安全的50種方法,我收集了50種適合從專業系統管理員到入門小白都可以掌握的防止系統被入侵的方法:
1. 備份你的數據,如果你被勒索軟件入侵,如果你有備份的話,你將毫無損失。
2. 如果你需要在公共場所充電的話,用 syncstop 或者帶上你自己的充電寶。
3. 學會利用審計子系統(auditing subsystems)。它提供了很多監測你系統的酷炫工具。如果你的系統在某處被攻破了,審計系統將會告訴你發生了什么以及攻擊者都做了什么。
4. 談到日志,傳輸日志到一臺中央服務器絕對是一個好方法,因為一旦黑客侵入你的系統,第一件做的事情就是攻擊日志系統去掩蓋他的入侵。安裝一個好的保護系統持續監測日志也是極好的。
5. 強制模式運行 SELinux (戳 stopdisablingselinux.com )。沒想到我要花這么久搞定它?SELinux 能控制零日漏洞的風險。 特別是 Shell Shock 出現后,SELinux 更成了唯一的保護盾。
6. 盡可能在 SELinux 沙箱 下運行應用程序,這是一款不止于酷炫的酷炫沙箱。 對了,還有關注 Flatpack 開發組,他們將很快致力于開發提升沙箱性能。
7. 不要安裝或者使用 Flash。 火狐已經不再支持它了,希望絕大多數網站服務器也把它移除。
8. 利用 受限 SeLinux 訪問用戶 來控制用戶能在你的系統做什么。如果你使用多用戶登錄系統,將其他用戶設為訪問者(guest_t)。
9. 利用 systemd 工具 來保護你的服務。 大多數系統攻擊都是通過在網絡上偵聽的服務來實現。Systemd 提供了很好的方法來鎖定服務。 例如,使用 PrivateTmp = yes 。PrivateTmp 利用安裝命名空間為服務器的 /tmp設置專用 tmpfs 安裝。這可以防止被黑客攻擊的服務訪問主機的/ tmp中的內容,以及通過偵聽 /tmp 的服務攻擊系統的其余部分。
10. InaccessibleDirectories =/home 是一個 systemd 單元標志,它使用安裝名稱空間從服務視圖中刪除/ home(或任何其他目錄),使黑客攻擊變得更加困難。
11. ReadOnlyDirectories =/var 是另一個使用 mount 命名空間將目錄內容轉換為只讀模式的 systemd 單位標志。你最好僅在只讀模式下運行 /usr。這將防止被黑客攻擊的應用程序重寫二進制文件,如果文件已被重寫,當你下次啟動服務時,恭喜你,你已經被入侵了。
12. 從服務中刪除功能(CapabilityBoundingSet = CAP_CHOWN CAP_KILL)。在內核中,授權進程被分解為一系列不同的功能。大多數服務不需要很多(如果有的話),并且 systemd 提供了一個簡單的開關來從服務中刪除它們。
13. 如果你的服務不使用網絡,則可以使用 PrivateNetwork = yes 關閉它,在服務單元文件中啟用此功能即可利用網絡命名空間,并關閉服務可用的所有網絡。 通常,黑客實際上不想闖入你的機器 - 他只是想使用它作為攻擊服務器來攻擊其他機器。 如果服務沒有網絡,就沒辦法進行攻擊。
14. 控制你的服務可用的設備。Systemd 提供 DeviceAllow 指令,控制服務可用的設備。 DeviceAllow = / dev / null rw將限制對/ dev / null的訪問,并且只限于此設備節點,不允許訪問任何其他設備節點。 該功能在設備的cgroup控制器之上實現。
15. 即將推出合適你的 systemd 系統的一個新功能—— ProtectSystem Strict ,可以打開所有這些命名空間,以完全鎖定服務運行的環境。
16. 不要在強制模式下使用沒有 SELinux( SEAndroid )的手機。幸好,我聽說現在 90%以上的 Android 手機都在強制模式下運行了 SEAndroid。現在,我們只要讓那些用蘋果的家伙使用 SELinux 就可以了。
17. 僅安裝來自可信來源的軟件。不要安裝在互聯網上發現的詭異的東西。這適用于您的手機、計算機系統、虛擬機、容器等。
18. 我不在我的手機上使用網上銀行 - 只在我的 Linux 計算機上使用。如果黑客竊取了我的信用卡,我會損失50塊錢;如果他進入我的銀行帳戶,我會失去更多。 我想我老了。 (滾開)
19. 我用我的手機做的一件很酷的事情是設置我的信用卡,每當信用卡扣費時給我發送短信。這樣,如果卡里的錢被盜,我可以更快地知道。
20. 當你需要安全通信時,請使用 信號安全消息 App 。
21. 在你的系統上運行 Linux。當我第一次連接到我父親的計算機系統時,我很少回家,他的系統被感染病毒后我回去在他的系統上安裝了 Linux,現在還一直在運行它。我相信 Linux 的設計方式讓它成為一個更安全的系統,我也相信它很少被黑是因為用戶群體小。有些人會認為,這些年Windows 已經有了很大的改善,但我仍然堅持我所知道的。
22. 只有 安全響應小組 才能監視分發的安全性。企業軟件很重要。
23. 運行企業級內核。在容器中,單點故障是內核。 如果要保持安全,請使用企業級內核,它有最新的安全修復程序,不會出現問題。提醒一下,雖然最新的內核帶有最新的安全修復程序,但它也帶來了很多新代碼可能出現的漏洞。
24. 大多數黑客都是都是利用社交進行攻擊,例如,電子郵件鏈接,網絡瀏覽器攻擊和電話。防止這類攻擊的方法只能是接受教育和持有懷疑的態度。沒有人從尼日利亞給你錢; IRS 不會打你的家庭電話要錢;如果你收到來自銀行的電子郵件指向某個網站的鏈接,請不要使用該鏈接,直接在 Web 瀏覽器上鍵入地址。
25. 讓你的系統始終保持最新的安全修復程序。現在還有數不清的過時且具有已知安全漏洞的系統。腳本小子(script kiddie)往往就是利用這一點來進行攻擊。
26. 連接到網絡上的服務時始終使用HTTPS。Chrome 和 Firefox 現在有強制執行此操作的模式。 如果一個網站還不支持安全通信,那么它可能不值得你訪問。
27. 在容器中使用 seccomp 。這限制了內核的表層攻擊,是單點故障。限制進程可以討論的內容。
28. 使用 YubiKey 存儲私鑰。
29. 加密您系統上的數據。至少筆記本電腦要保證你的 homedir 和其他數據目錄是加密的。幾年前,我在倫敦乘坐地鐵,我的筆記本電腦被盜了,火車車門關閉后我才發現的時候,筆記本電腦已經出了車站。幸運的是,磁盤加密了。
30. 讓您的所有網站用上 Let's Encrypt 。沒有理由不再運行HTTPS了。
31. 不要在不同的 Web 服務器上使用相同的密碼。這很容易入坑,不過像 Let's Encrypt 這樣的幫助工具很多,如果使用 SSH 密鑰登錄系統就更好了。
32. 使用雙因子驗證(2FA)。你幾乎可以不用密碼了。使用 YubiKeys 等能讓 2FA 變得容易。所有人都有手機,讓一個秘密藏在腦袋里,一個生成在手機上,可比密碼好多了。
33. 沒有什么比網站總是要求我創建一個帳戶更讓人惡心了,我們怎么改變?始終為你的網站密碼使用密碼生成工具。我是守舊派:我使 Password Safe ,剪切并粘貼到網絡瀏覽器。我聽說有人幸運地用上了 LastPass 和其他工具集成手機和 Web 服務。
34. 設置類似 FreeIPA 的這樣的服務以用于身份認證。使用諸如 Kerberos 之類的工具進行身份驗證和授權,使訪問系統變得更加容易(并且有很酷的加密服務)。也可以使用 Active Directory ,但我對它有點偏見。
35. 當你需要一串經常使用的密碼時,不要用某個單詞,使用一串簡單易記的語句吧。我的建議是使用一些幾個單詞組成,簡單易寫的短語。
36. 使用 USBGuard 來保護你的系統免遭惡意 USB 設備的入侵。
37. 在過去的幾年,我已經開始研究容器了。現在,讓我們來看看容器相關的安全保護。首先,在強制模式運行 SELinux 下啟動容器。如果你的系統不支持 SELinux,將系統換成一個支持的發布版本。SELinux 是保護你的容器不被利用文件系統的方法破壞的最佳工具了。
38. 盡可能的在容器中啟動你的服務。我相信這是使用 OCI圖片格式 與Linux容器技術的未來應用。運行容器可以使用Docker, runC ,OCID,RKT,Systemd-nspawn 等。雖然我經常說“containers do not contain”(紙包不住火),但是服務在容器中運行確實可以更好的包住火。
39. 在虛擬機中啟動你的容器。 虛擬機相比于容器是一個隔離風險的更佳辦法。而在虛擬機中運行容器則將風險萬無一失的隔離開來。
40. 在不同的虛擬機上運行不同安全需求的容器化應用。在虛擬機DMZ上啟動你的網絡服務容器,同時在不同于DMZ的其他虛擬機上啟動數據庫容器。
41. 另請切記,在另外的硬件設備上運行安全要求最高的虛擬機,并且在不同的虛擬機上運行而不是容器。
42. 只讀模式 啟動你的容器。開發階段容器需要被寫在/usr 上,不過發布產品時,容器需要被設置成只能寫在 tmps,并且將各個文件冊掛載在容器上。
43. 從容器上降低權限 。我們通常給了我們的進程太多本不需要的權限。你可以通過降低進程權限來提高安全性能。
44. 不要以root權限啟動你的進程 。絕大多數進程永遠不需要root特權,或者他們僅僅需要綁定一個< 1024 的端口,然后退出root。我強烈建議保持應用以非root權限運行。
45. 保持你的容器更新了最新的CVE。使用一個類似 OpenShift 創建并維護你的容器鏡像是一個不錯的點子,因為每當安全布丁出現時,它可以自動重建容器鏡像。
46. 我的一個小伙伴說過,“Docker 的一切就是從網絡上以root 身份在你的host上運行隨機的代碼”。 請從可靠的源頭獲取軟件。不要隨便抓一個你在docker.io上找到的測試應用就安裝。還記得 操作系統的那些麻煩 嗎?
47. 以受限的容器化優化壓縮host來在啟動你正式環境容器,例如 Atomic Host ,把所有安全防護都打開,優化后啟動容器,可以使攻擊被限制并保證Atomic 更新。
48. 利用類似 OpenScap 來掃描系統以發現潛在風險。不幸的是,風險層出不窮,正因為此,保持你的掃描器跟上潮流。(也一并看看為容器設計的a tomic 掃描 )
49. OpenScap 還有掃描 安全設置 的功能,例如STIGs(安全技術實現指引)。
50. 為你孩子收到的圣誕禮物設備們配置一個訪客網絡。我愛這些Amazon Echo,智能燈和電源開關。(Alexa,關掉圣誕燈)。不過,這些東西都基于Linxu系統并且在安全方面堪憂。
“肯定有不止 50 種防止黑客的方法”
你想要為這份清單加些什么嗎?歡迎在評論里留言,以供大家學習和交流。
來自:https://my.oschina.net/editorial-story/blog/826049