Linux運維安全經驗-賬戶和登入安全

安全劍客發表於2019-05-22
賬戶安全是系統安全的第一道屏障,也是系統安全的核心,保障登入賬戶的安全,在一定程度上可以提高伺服器的安全級別,下面重點介紹下 Linux系統 登入賬戶的安全設定方法。

Linux運維安全經驗-賬戶和登入安全Linux運維安全經驗-賬戶和登入安全

1、刪除特殊的賬戶和賬戶組

Linux 提供了各種不同角色的系統賬號,在系統安裝完成後,預設會安裝很多不必要的使用者和使用者組,如果不需要某些使用者或者組,就要立即刪除它,因為賬戶越多,系統就越不安全,很可能被黑客利用,進而威脅到伺服器的安全。
Linux系統中可以刪除的預設使用者和組大致有如下這些:
可刪除的使用者,如 adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher 等。
可刪除的組,如 adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers 等。

2、關閉系統不需要的服務

Linux在安裝完成後,繫結了很多沒用的服務,這些服務預設都是自動啟動的。對於伺服器來說,執行的服務越多,系統就越不安全,越少服務在執行,安全性就越好,因此關閉一些不需要的服務,對系統安全有很大的幫助。
具體哪些服務可以關閉,要根據伺服器的用途而定,一般情況下,只要系統本身用不到的服務都認為是不必要的服務。
例如:某臺Linux伺服器用於www應用,那麼除了httpd服務和系統執行是必須的服務外,其他服務都可以關閉。下面這些服務一般情況下是不需要的,可以選擇關閉:

anacron、auditd、autofs、avahi-daemon、avahi-dnsconfd、bluetooth、cpuspeed、firstboot、gpm、haldaemon、hidd、ip6tables、ipsec、isdn、lpd、mcstrans、messagebus、netfs、nfs、nfslock、nscd、pcscd portmap、readahead_early、restorecond、rpcgssd、rpcidmapd、rstatd、sendmail、setroubleshoot、yppasswdd ypserv
3、密碼安全策略

在Linux下,遠端登入系統有兩種認證方式:密碼認證和金鑰認證。
密碼認證方式是傳統的安全策略,對於密碼的設定,比較普遍的說法是:至少6個字元以上,密碼要包含數字、字母、下劃線、特殊符號等。設定一個相對複雜的密碼,對系統安全能起到一定的防護作用,但是也面臨一些其他問題,例如密碼暴力破解、密碼洩露、密碼丟失等,同時過於複雜的密碼對運維工作也會造成一定的負擔。
金鑰認證是一種新型的認證方式,公用金鑰儲存在遠端伺服器上,專用金鑰儲存在本地,當需要登入系統時,通過本地專用金鑰和遠端伺服器的公用金鑰進行配對認證,如果認證成功,就成功登入系統。這種認證方式避免了被暴力破解的危險,同時只要儲存在本地的專用金鑰不被黑客盜用,攻擊者一般無法通過金鑰認證的方式進入系統。因此,在Linux下推薦用金鑰認證方式登入系統,這樣就可以拋棄密碼認證登入系統的弊端。
Linux伺服器一般通過 SecureCRT、putty、X shell 之類的工具進行遠端維護和管理,金鑰認證方式的實現就是藉助於 SecureCRT 軟體和Linux系統中的 SSH 服務實現的。

4、合理使用su、sudo 命令

su 命令 :是一個切換使用者的工具,經常用於將普通使用者切換到超級使用者下,當然也可以從超級使用者切換到普通使用者。為了保證伺服器的安全,幾乎所有伺服器都禁止了超級使用者直接登入系統,而是通過普通使用者登入系統,然後再通過su命令切換到超級使用者下,執行一些需要超級許可權的工作。通過su命令能夠給系統管理帶來一定的方便,但是也存在不安全的因素,
例如:系統有10個普通使用者,每個使用者都需要執行一些有超級許可權的操作,就必須把超級使用者的密碼交給這10個普通使用者,如果這10個使用者都有超級許可權,通過超級許可權可以做任何事,那麼會在一定程度上對系統的安全造成了威協。
因此su命令在很多人都需要參與的系統管理中,並不是最好的選擇,超級使用者密碼應該掌握在少數人手中,此時sudo命令就派上用場了。
sudo命令:允許系統管理員分配給普通使用者一些合理的“權利”,並且不需要普通使用者知道超級使用者密碼,就能讓他們執行一些只有超級使用者或其他特許使用者才能完成的任務。
比如:系統服務重啟、編輯系統配置檔案等,通過這種方式不但能減少超級使用者登入次數和管理時間,也提高了系統安全性。
因此,sudo命令相對於許可權無限制性的su來說,還是比較安全的,所以sudo也被稱為受限制的su,另外sudo也是需要事先進行授權認證的,所以也被稱為授權認證的su。
sudo執行命令的流程是:
將當前使用者切換到超級使用者下,或切換到指定的使用者下,然後以超級使用者或其指定切換到的使用者身份執行命令,執行完成後,直接退回到當前使用者,而這一切的完成要通過sudo的配置檔案/etc/sudoers來進行授權。
sudo設計的宗旨是:
賦予使用者儘可能少的許可權但仍允許它們完成自己的工作,這種設計兼顧了安全性和易用性,因此,強烈推薦通過sudo來管理系統賬號的安全,只允許普通使用者登入系統,如果這些使用者需要特殊的許可權,就通過配置/etc/sudoers來完成,這也是多使用者系統下賬號安全管理的基本方式。

5、刪減系統登入歡迎資訊

系統的一些歡迎資訊或版本資訊,雖然能給系統管理者帶來一定的方便,但是這些資訊有時候可能被黑客利用,成為攻擊伺服器的幫凶,為了保證系統的安全,可以修改或刪除某些系統檔案,需要修改或刪除的檔案有4個,分別是:

/etc/issue、/etc/issue.net、/etc/redhat-release和/etc/motd


/etc/issue和/etc/issue.net 檔案都記錄了作業系統的名稱和版本號,當使用者通過本地終端或本地虛擬控制檯等登入系統時,/etc/issue的檔案內容就會顯示,當使用者通過ssh或telnet等遠端登入系統時,/etc/issue.net檔案內容就會在登入後顯示。在預設情況下/etc/issue.net檔案的內容是不會在ssh登入後顯示的,要顯示這個資訊可以修改/etc/ssh/sshd_config檔案,在此檔案中新增如下內容即可:

Banner /etc/issue.net

其實這些登入提示很明顯洩漏了系統資訊,為了安全起見,建議將此檔案中的內容刪除或修改。
/etc/redhat-release 檔案也記錄了作業系統的名稱和版本號,為了安全起見,可以將此檔案中的內容刪除。
/etc/motd 檔案是系統的公告資訊。每次使用者登入後,/etc/motd檔案的內容就會顯示在使用者的終端。通過這個檔案系統管理員可以釋出一些軟體或硬體的升級、系統維護等通告資訊,但是此檔案的最大作用就、是可以釋出一些警告資訊,當黑客登入系統後,會發現這些警告資訊,進而產生一些震懾作用。看過國外的一個報導,黑客入侵了一個伺服器,而這個伺服器卻給出了歡迎登入的資訊,因此法院不做任何裁決。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2645150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章