如何把你的Linux系統變的更加安全
做為一個小白,以為自己懂了點Linux知識,會搭建Linux各種服務就覺得自己牛的不要要的。在我們團隊里面,我將使用了一臺破電腦搭建Linux服務器,上面跑著Ftp服務存放著資源,ssh服務可以遠程登錄,VPN業務可以訪問內網的網絡,Web服務存放著我們業務的各種腳本方便同事們隨意查看資料,以及正在搞的多媒體服務。我了個去,那天上班,發現各種服務沒了,然后登錄上破電腦一看,啥資料都沒了。
當時一臉蒙蔽,不知發生了什么事情誰讓是小白呢。找了朋友看,你被黑了,……。我臉真黑,他說也別查其它的了,重新安裝系統和服務,重新加固系統安全,不要以為Linux安裝好,就能在互聯網上面直接裸奔。我無語!
1. 安裝用到的服務
如果你在運行一臺服務器,選擇自己所需要的服務,盡量不要安裝用不到的程序。盡管你可以在自己的服務器上安裝任意軟件。不過,別犯想當然的毛病。Linux服務器會有人在該服務器上運行的任何未打補丁或易受攻擊的軟件組件的空子而被劫持。這樣你就悲劇了。
所以,盡量讓你的服務器更加精簡。只安裝你確實需要的那些程序。如果沒有或者不需要的程序包,那就卸載掉。程序包數量越少,代碼沒打上補丁的可能性就越小,遭受潛在的危險就越小。
2. 運行需要的服務程序
就是只運行需要的那些服務程序,許多發行版或程序包可能會開啟某些服務,并在不同的端口上運行。這就會帶來安全風險,打開終端,運行下列命令:netstat -npl。
輸出結果會顯示服務在哪些端口上運行。如果你發現有任何不應該運行的服務,那么立即停止。多密切關注已被啟用、系統啟動時運行的服務,只要是在運行systemd的系統上運行下列命令,就可以來檢查這方面: systemctl list-unit-files --type=service | grep enabled 。如果是你發現有不需要的服務,可以使用systemct1命令來禁用它:systemctl disable service_name。
3.禁止以根用戶遠程登錄
關閉root用戶的直接訪問,而使用sudo或su來執行管理員任務。關閉通過SSH直接訪問root,需要再次打開sshd_config,找到下面這行,#PermitRootLogin yes ,更改為PermitRootLogin no,重啟服務即可生效。我們總以為自己是菜鳥,沒事就用root來吧,但你上面跑著服務,黑客并不管你是誰。
4.更改SSH默認端口
在搭建好服務器后要做的第一件事情就是更改SSH的默認端口,這個小小的改動可以能夠使你的服務器避免受到成千上萬的暴力攻擊。如果不更改默認端口,就如同黑客們知道你家的門牌號,這樣他們只需要一把一把的試鑰匙就可能打開你家的門鎖。要更改默認的SSH端口,先打開sshd_config文件:sudo vim /etc/ssh/sshd_config,找到下面這行:#Port 22,“#”號表示這行是注釋,首先刪除#號,然后把端口號改成目的端口。端口號不能超過65535,確保要指定的端口號沒有被系統或其它服務占用。比如我使用這個端口號:Port 16679,然后保存并關閉文件,systemctl restart sshd 重啟服務!ssh服務也可以配置白名單限制ip登錄,呃,暫時不知道怎么搞?!在破電腦被黑了之后,我說端口是23,我老大使勁惡心我。哎,我還郁悶了。
5.iptables
iptables我是看著頭暈,但被黑之后,我就老老實實的學習這玩意了。iptables可以根據流量的源地址、目的地址、傳輸協議、服務類型等信息進行匹配,一旦匹配成功,iptables就會根據策略規則所預設的動作來處理這些流量。iptables策略規則的匹配順序是從上至下的,因此要把較為嚴格、優先級較高的策略規則放到前面,以免發生錯誤。可以通過iptables入站規則將公開和非公開服務區分,指向用戶提供web接口。比如將INPUT規則鏈設置為只允許指定網段的主機訪問本機的22端口,拒絕來自其他所有主機的流量:iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT, iptables -A INPUT -p tcp --dport 22 -j REJECT,iptables -L;更比如向INPUT規則鏈中添加拒絕192.168.10.5主機訪問本機80端口(Web服務)的策略規則:iptables -I INPUT -p tcp -s 192.168.10.5 --dport 80 -j REJECT,iptables -L。盡管現在還是一臉懵逼,但啟用了至少沒比強,再專研下爭取可以將iptables使用的更合理化。
目前就做了這么多安全,還仍然在學習linux,推薦一本書叫《Linux就該這么學》適合小白,不要總以為學完Linux基礎課程就完了,這才是開始,路還長。吃虧是福,還有那些安全措施?大神們!!!