黑客別動我! 50 個系統防範新方法

新年新氣象,小數爲你們帶來了系統防範安全手冊最新版!每一條都是頗有用的小知識,記下來實踐起來,祝你們新的一年系統都平平安安噠!linux

1.備份你的數據。若是數據被勒索軟件綁架了,有備份就不慌了。web

2.在公共場所充電時使用syncstop,或者攜帶本身的備用電源。數據庫

3.利用好審計系統(auditing subsystem)。有許多很酷的工具能夠幫助監控系統。若是被攻擊,審計系統會告訴你發生了什麼,以及攻擊的類型。瀏覽器

4.談及日誌,把日誌轉到一個集中的服務器上是一個很好的辦法。由於黑客攻擊系統時,首先會攻擊日誌系統來掩藏本身的痕跡。一個好的侵入檢測系統來監控日誌也一樣有用。安全

5.在enforcing mode運行SELinux(見stopdisablingselinux.com)。SELinux阻止零日缺陷(zero day vulnerabilities)的升級擴大。當Shell Shock來臨,SELinux是惟一的防護。服務器

6.在任何可能的時候,在SELinux沙盒(Sandbox )裏運行應用程序——在容器時髦以前,它就是一個容器。同時留意Flatpack,由於它可能很快會升級沙盒能力。網絡

7.不要安裝或者使用Flash。Firefox已經再也不支持它,而且大多數網絡服務器都在移除它。ssh

8.使用confined SELinux users來控制系統中用戶的行爲。若是你使用一個共享登陸系統,把用戶設爲guest_t。分佈式

9.多利用systemd工具來幫助防護系統。大多數系統攻擊都會經過網絡上的服務監聽來進行。Systemd提供了很好的方式來加鎖服務。例如,使用PrivateTmp=yes。工具

10.InaccessibleDirectories=/home是一個systemd unit flag,使用mount namespace從服務查看那裏清除 /home(或其餘目錄),讓被攻擊的服務攻擊主體變得更加困難。

11.ReadOnlyDirectories=/var是另外一個使用mount namespace的systemd unit flag,讓目錄內容變成只讀模式。

12.去掉一個服務的權限(CapabilityBoundingSet=CAP_CHOWN CAP_KILL)。在內核,特權進程(priviliged processes)被分解爲一系列不一樣的權限。大多數服務並不須要許多,systemd提供了一個簡單的開關讓服務去掉它。

13.若是你的服務不需使用網絡,可使用PrivateNetwork=yes把它關掉。一般一個黑客並非想攻擊你的機器——他只是想把它做爲一個攻擊服務器攻擊其餘的機器。若是服務找不到網絡,它就沒法攻擊。

14.限制設備對服務可用。Systemd提供了DeviceAllow指令,讓設備對服務可用。DeviceAllow=/dev/null rw會限制接入 /dev/null而且只有這個設備節點,不容許接入其餘設備節點。這個功能在設備的cgroup控制器上實現。

15.立刻要來的一個systemd系統新功能——ProtectSystem Strict,當一個服務運行時,能夠把全部名稱空間打開,徹底鎖定環境。

16.不要使用沒有SELinux(SEAndroid)enforcing mode的手機。幸運的是,我據說如今超過90%的Android手機上運行着SEAndroid enforcing mode。如今咱們只須要讓那些用蘋果的朋友們也使用SELinux。

17.只安裝來自受信任來源的軟件。不要安裝在互聯網上找到的欺詐性軟件。這條適用於手機、計算機系統、虛擬機、容器等等。

18.筆者不在手機上操做網上銀行,而是隻在有Linux的計算機上操做。若是一個黑客偷了個人信用卡,我會失去50美圓;若是他得到個人銀行帳戶,我會失去更多——我想我可能老了(幽默)。

19.設置成讓信用卡公司在每次信用卡付帳的時候都發個手機短信。這樣的話若是帳戶被盜,你將知道的很快。

20.當須要安全通訊時,使用信號安全的消息傳遞程序。

21.在系統上運行Linux。因其設計的方式,Linux通常來講是一個更安全的系統。由於較小的用戶基礎,臺式機不多被黑客攻擊。有些人認爲Windows多年來安全性大大提升,但筆者仍然堅持本身的見解。

22.只運行有安全響應團隊的發行版軟件。企業軟件很重要。

23.運行一個企業級的內核。在容器中,單點故障在於內核。若是想保持它的安全,用一個企業級的內核,這意味着最新的安全補丁,但那不是所有。最新的內核提供了最新的安全補丁,可是同時也帶來了大量可能有漏洞的新代碼。

24.大多數黑客攻擊在社交過程當中發生——舉個例子,電子郵件連接,瀏覽器攻擊和電話。最好的選擇是接受教訓和懷疑。沒有人從尼日利亞給你匯款,國稅局不會詢問你的房供是多少錢。若是你獲得一個從銀行發來的電子郵件連接,不要點擊,直接在瀏覽器上輸入地址。

25.保持讓系統及時更新最新的安全補丁。有不少人的系統是過期的,已知的安全漏洞十分可怕,讓黑客有隙可乘。

26.在網上鍊接服務時老是使用HTTPS。如今Chrome和Firefox都擁有這種模式來執行。若是一個網站在2016年仍然不支持安全通訊,可能並不值得訪問。

27.在容器裏使用seccomp。這限制了對內核表面的攻擊,即單點故障,限制了進程中能夠交互的部分。

28.使用YubiKey存儲私鑰。

29.在系統里加密數據。至少在筆記本電腦,保持homedir和其餘數據目錄加密。幾年前筆者在倫敦乘坐地鐵,筆記本電腦被偷了,幸運的是磁盤是加密的。

30.對全部網頁使用 Let'sEncrypt。沒有理由不用HTTPS。

31.不要在不一樣的web服務器上使用相同的密碼。這樣很容易落入陷阱。Let’s Encrypt等工具大有幫助。若是使用ssh密鑰登陸系統那就更好了。

32.使用雙重身份驗證(2FA)。密碼已經變得幾乎毫無用處。使用YubiKeys等來實現這種雙重驗證。咱們都有手機。有一個密碼在你的腦殼裏,另外一個在手機裏生成,比單純的密碼好不少。

33.沒有什麼比網站老是要求我創建一個賬戶更糟了。最好使用密碼生成工具做爲網站的密碼——Password Safe,剪切,粘貼到web瀏覽器。也據說有人巧妙地用LastPass和其餘工具整合手機和web服務。

34.創建一個服務例如FreeIPA用於身份識別。使用Kerberos之類的工具來身份驗證和受權跟蹤員工的足跡,他們訪問系統會更加容易(並且它還擁有一個很是酷的加密服務)。通常來講,使用Active Directory也挺好的,但我對它有點偏見。

35.當必須使用一個密碼時,能夠輸入一個容易記住的句子,而不是一個字。

36.使用USBGuard保護系統免受流氓USB設備的入侵。

37.過去的幾年裏,筆者一直從事容器相關工做,因此如今深刻討論一下容器的安全。首先在系統enforcing mode下運行SELinux。若是系統不支持SELinux,換一個支持它的分佈式系統。爲了防止使用文件系統時容器被打破,SELinux是最好的工具。

38.儘量在一個容器運行您的服務。使用OCI Image Format 和Linux容器技術的應用是將來趨勢。用Docker、runC、OCID RKT Systemd-nspawn等來起容器。

39.在VM運行容器。虛擬機提供比容器更好的隔離。例如在虛擬機上跑容器能夠提供可伸縮性和相互隔離。

40.根據不一樣的安全需求在不一樣的虛擬機上跑容器化應用。在DMZ中運行虛擬機上的web服務容器,可是在DMZ之外的虛擬機上運行數據庫容器。

41.記住最安全的方式是容器跑在不一樣的虛擬機上,虛擬機運行在不一樣的物理機上(又名,深度防護)。

42.以只讀模式運行容器。在開發環境容器須要可以寫入/ usr,但在生產環境容器應該只能寫入tmpfs,以及把volumes配置到容器裏。

43.減小容器的權限。在容器內外運行的進程比它們所須要的權限要多得多。經過減小權限可使進程更加安全。

44.不要在做爲root的容器運行進程。大多數服務不須要root特權,或者它們須要綁定到小於1024的端口,而後切換到一個非root用戶。建議一直運行non-root程序。

45.保持容器更新到最新的CVEs修復。使用OpenShift一類的系統來創建和維護容器鏡像,當新的安全修復出現時,它會自動重建容器鏡像。

46.個人一個助理說,「Docker就是做爲root在主機上運行網上來的隨機代碼。「在信任的資源處下載軟件。不要在Docker.io獲取你發現的Apache應用程序。

47.在一個受限的容器化優化主機上跑生產環境的容器,如Atomic Host,打開全部安全開關,爲運行的容器進行優化,進行atomic更新,只會有有限的表面攻擊。

48.用OpenScap之類的工具來掃描系統漏洞。遺憾的是,新漏洞老是會出現,因此必須保持掃描工具持續更新。(好比用atomicscan掃描容器)

49.OpenScap也有掃描安全配置的功能,如STIGs (安全技術實現指南)。

50.創建一個特別來賓網絡,方便家人接收聯網設備。筆者深愛本身的亞馬遜Echo和自動燈、電源開關,但它們每個都是有安全問題的Linux操做系統。

做者:Daniel J Walsh
文章來源:https://opensource.com/articl...

相關文章
相關標籤/搜索