賬戶安全是系統安全的第一道防線,通過刪除不必要的用戶以及對登錄進行加密與限制,可以避免因許可權泄露與中間人攻擊導致的安全隱患。 刪除不必要的用戶 在linux系統安裝過程中,系統會建立一些不必要的用戶與用戶組,這些用戶與用戶組會成為黑客攻擊的目標,刪除它們可以有利於系統的安全。 Linux中可以刪除的 ...
賬戶安全是系統安全的第一道防線,通過刪除不必要的用戶以及對登錄進行加密與限制,可以避免因許可權泄露與中間人攻擊導致的安全隱患。
刪除不必要的用戶
在linux系統安裝過程中,系統會建立一些不必要的用戶與用戶組,這些用戶與用戶組會成為黑客攻擊的目標,刪除它們可以有利於系統的安全。
Linux中可以刪除的預設用戶有:
- adm:偽用戶,不可登錄,擁有賬戶文件
- lp:偽用戶,不可登錄,lp或lpd子系統使用
- sync
- shutdown
- halt
- news
- uucp:偽用戶,不可登錄,uucp使用
- operator
- games
- gopher
Linux中可以刪除的預設用戶組有:
- adm
- lp
- news
- uucp
- games
- dip
- pppusers
- popusers
- slipusers
通過sudo限制su的濫用
出於系統安全的目的,一般伺服器都會限制root用戶的直接登錄,而是通過普通用戶登錄系統,然後從普通用戶切換至root用戶。但允許太多普通用戶使用su切換至root用戶會提高密碼泄露的風險。因此在需要多人管理的伺服器系統中,使用su不是一個很好的選擇,root用戶密碼應當只被掌握在少數管理員的手中。
使用sudo可以給普通用戶分配一些root用戶的許可權,而且也不需要普通用戶知曉root用戶的密碼。
sudo的運行過程如下:
- 將當前用戶切換至root用戶或指定的用戶下
- 以root用戶或指定用戶的身份執行命令
- 執行完畢,直接退回普通用戶
sudo可以通過配置文件/etc/sudoers
來進行授權
例如普通用戶user01無法訪問/etc/shadow
文件,
則可以在/etc/sudoers
文件中添加如下一行來為普通用戶授權:
user01 ALL = /bin/more /etc/shadow
這樣,user01用戶就可以通過more命令訪問/etc/shadow
文件。
當用戶執行了sudo more /etc/shadow
命令後,需要輸入user01的密碼,然後在後面三分鐘內,都可以在不用輸入密碼的情況下訪問文件了。
但一些程式會無法通過輸入密碼的方式來正確執行,我們就需要給普通用戶添加一個無需憑證的許可權。
例如,讓普通用戶user01具有/etc/init.d/nagios
腳本重啟的許可權,可以在/etc/sudoers
文件中添加如下一行來為普通用戶授權:
user01 ALL = NOPASSWD: /etc/init.d/nagios restart
關閉不必要的服務
在安裝完成後,Linux綁定了很多不必要的服務,這些服務都預設自動啟動的,關閉它們可以提高系統的安全性。
但關閉哪些服務,要根據伺服器的用途而定,例如某台用於WWW的應用,那麼除了httpd外和系統的必要服務外都可以關閉。
以下服務如果不會被用到,可以關閉:
- anacron:用於定期檢測伺服器在關機狀態下沒有執行的定時任務,併在特定的時間執行它們
- auditd:用於審計,負責把內核產生的信息寫入到磁碟,用於記錄與系統內核有關的活動與操作。
- autofs:用於自動掛載服務,與寫入fstab文件不同,它不會開機就掛載文件系統,而是當用戶訪問時才掛載服務。
- svhi-dacmon
- biuetooth:用於藍牙,一般伺服器也不會用這個功能吧。
- cpuspeed:用於動態調整CPU速度,除非用戶使用的是基於筆記本的Linux系統,否則應當關閉它。
- firstboot:Fedora特有,用於安裝之後第一次啟動時僅需要執行一次的特定任務。
- gpm:用於在無圖形界面的滑鼠支持。
- haldaemon:Fedora特有,用於自動掛載滑鼠鍵盤以及USB設備。
- hidd:對輸入設備提供藍牙支持。
- ip6tables:用於ipv6防火牆。
- ipsec:用於搭建VPN服務。
- isdn:用於使用isdn貓上網。
- lpd:印表機守護程式。
- mcstrans:用於SELinux,如果你使用SELinux,那麼應當開啟它。
- netfs:用於在系統啟動時自動掛載網路中的共用文件空間,比如:NFS,Samba 等。
- nfs:用於 Unix/Linux/BSD 系列操作系統的標準文件共用方式,如果你用到這種方式,那麼保持它開啟。
- nfslock:用於 Unix/Linux/BSD 系列操作系統的標準文件共用方式,如果你用到這種方式,那麼保持它開啟。
- nscd:用於為NIS和LDAP等服務提供更快的驗證。
- pcscd:用於提供智能卡和智能卡讀卡器支持。
- portmap: NFS和 NIS的補充。
- readahead_early:通過預先載入特定的應用程式到記憶體中以提供性能,讓程式啟動更快。
- restorecond:用於給SELinux監測和重新載入正確的文件上下文(file contexts),如果你使用SELinux的話強烈建議開啟它。
- rpcgssd:用於NFSv4,除非你需要或使用NFSv4,否則關閉它
- rpcidmapd:用於NFSv4,除非你需要或使用NFSv4,否則關閉它
- rstatd:用於獲取系統的資源使用情況,常用於監控服務。
- sendmaill:用於發送郵件。
- setroubleshoot:用於SELinux,用於讀取內核日誌。
- yppasswdd:用於NIS服務。
- ypserv:用於NIS服務。