如何提升Linux服務器的安全性
每天都有成千上萬的新網站誕生,這些網站大部分都是采用linux作為服務器,一方面是linux是免費的,需要資源更少,更穩定,一方面是因為linux的服務器防護性更高。但是如果我們不正確使用linux的話,它也是非常容易被攻擊的,下面我們就介紹下如何更好地配置我們的服務器,讓它更安全。
創建新用戶,而不是使用root賬號
在我們使用windows的時候,我們習慣使用管理員賬號,因為它的權限是最高的,操作修改配置很方便,但是對于服務器,特別是linux服務器,我們不建議直接使用root用戶登錄,因為它的權限太大了,它可以做任何事情,包括損壞掉操作系統本身,因此,我們最好創建一個新的用戶,然后禁用root賬號的ssh登錄,當我們想要一些root管理權限的時候,我們可以使用sudo來授權。
當我們創建密碼的時候需要注意不要使用簡單的密碼,密碼要復雜,不要使用明文記錄我們的密碼,我們應該使用密碼管理器來保存我們的密碼。
修改用戶權限,不要給與過大權限
我們的服務器有時候可能需要多人登錄,我們最好設置每個用戶的權限,不要讓他可以讀取其他人的文件。那么我們可以通過設置umask來進行設置,當我們執行UMASK 077命令之后,我們再創建新用戶的時候,它的權限就是rxx------,沒有訪問其它用戶目錄的權限。
關閉不需要的端口
默認情況下,我們的22端口是開放的,但是我們最好將它修改成其它的,這樣可以大概率防止其它用戶的非法訪問。其它的端口比如80,443這些是網站需要使用的端口,我們應該打開,其它的端口如果不需要,我們最好都關閉,這樣可以大大降低服務器被攻擊的概率。 對于一些軟件,比如redis,mongo等,也是最好不要使用默認端口,修改成其它端口更好一些。
加密隱私文件
對于一些敏感文件,我們需要對它進行加密,這樣即使其它用戶獲得了它,也無法查看它的正確內容,我們可以通過gpg來進行加密。
禁用用戶名密碼登錄
使用ssh登錄的時候,我們除了使用用戶名密碼登錄之外,我們還可以使用秘鑰來進行登錄。而這也是非常推薦的方式,我們只需要通過ssh-keygen創建公鑰私鑰,然后將公鑰拷貝到本地機器,就可以在本地實現無密碼登錄服務器了。
打開日志記錄和審計日志
我們應該將我們的日志記錄打開,并時常檢查我們的日志,比如一些非法登錄,一些非法訪問,在日志記錄中都有,對于一些非法ip攻擊我們都可以在日志中進行查看獲取。
禁用不需要的服務
默認情況下,linux為我們提供了很多的服務,有些服務我們是不需要的,我們就可以把它們禁用掉,這樣不僅節省了服務器的資源,還能避免有些服務被攻擊。
避免使用ftp,telnet,rsh等服務
雖然 FTP 和 telnet 很多時候仍在使用,但是 rsh 和 rlogin 是遺留程序/服務。 應該避免使用它們。 這些是純文本協議,您網絡中的任何人都可以嗅探您的流量以讀取純文本數據通信。
更推薦使用 OpenSSH、SFTP 或 FTPS(基于 SSL 的 FTP)來加密數據通信。
因為 FTP 以明文形式發送數據,因此不能通過它發送敏感文件。 始終建議使用帶有公鑰私鑰的對象的 SSH 來訪問和轉發敏感信息。