linux服務器安全配置實例(一)

引言

很多企業的服務器經常遭受到攻擊,出現的攻擊方式有:http服務攻擊、操作系統漏洞溢出攻擊、sql注入攻擊等。

大多服務器都託管在阿里雲或者騰訊雲上,這些雲服務也都提供殺毒軟件和防火牆功能,如:阿里雲盾。上述攻擊大部分都已經被廠商提供的雲安全攔截住了,但是畢竟沒有絕對的安全。

這裏記錄下我平時對服務器的安全配置,希望對大家有一些幫助,還是沒有絕對的安全,但是能夠防患未然還是好的。另外這裏指出,在描述攻擊我們的那些人,我拒絕使用黑客這個詞語,黑客的含義已經被現在的社會塗上了一層讓人憎恨討厭的色彩,但是實際的含義並不是入侵、攻擊、破解,所以在以後的描述中我與其他文章作者不同,採用另外的稱號,就是惡意攻擊者或惡意的小夥伴。 

服務器配置

對於Linux操作系統,可以啓動selinux和iptables對系統的訪問進行過濾,同時可以降低用戶權限,降低一些進程的運行權限。來保證服務器被滲透後的威脅降到最低。另外需要及時修復應用的漏洞,升級內核版本到穩定版,web應用程序足夠強壯,降低數據庫用戶權限。 
下面拿我的服務器舉例,我的服務器配置如下:

  • 阿里雲服務深圳可用區B

  • 帶寬:2Mbps

  • CPU: 1核

  • 內存: 1024 MB

  • 帶寬:2Mbps

  • 操作系統: CentOS 7.0 64位

在服務器上配置有tomcat7.0、jre7、nginx1.9.9、mariadb5.5、php5.4.16。對外提供我的blog和微信公衆平臺的接口。

站長站端口掃描結果如下: 

可以看到,從掃描的結果來看幾乎沒有可利用的。 
使用nmap在服務器上對本機進行掃描,結果: 
 

而在外網對其進行掃描,是無法得出結果的: 

這些配置相當簡單,相對而言,對付真正的攻擊還差很多,所以我們還需要進行其他的一系列配置。

ssh服務

ssh服務是最常用的遠程登錄服務,雖然其比telnet安全多,但是也存在一定的安全漏洞。一些不友好的小夥伴們會使用一些不和諧程序對ssh服務進行暴力破解。對ssh服務進行適當的配置可以完全杜絕暴力破解。同時對sshd服務進行優化配置可以加快連接速度,減少耗費帶寬。 

編輯/etc/ssh/sshd_config:

修改如下配置(注意如果配置前面有#,代表配置被註釋,這裏我只羅列出需要配置的,如果你的服務器上的配置被註釋掉,去掉#打開註釋即可。另外我會在配置旁邊加上配置說明的註釋):

注意,這裏使用了公鑰認證,所以需要生成登陸的私鑰和公鑰,將公鑰上傳到服務器上,並寫入到上面的AuthorizedKeysFile配置指定的公鑰文件中。對於這個文件有如下要求: 
①、該文件權限必須是640,所以需要執行sudo chmod 640 公鑰文件,如:sudo chmod 640 /home/kid/.ssh/authorized_keys。 
②、該文件的上層目錄必須爲700權限,所以需要執行sudo chmod 700 上層文件夾路徑,如:sudo chmod 700 /home/kid。 
③、該文件可以放多個公鑰,注意公鑰由於特別長,有的生成工具會把一個公鑰拆分成多行,但sshd服務要求一個公鑰只能一行存放,所以一定要編輯成一行纔好使。 
上述配置完成後,重啓sshd服務,sudo systemctl restart sshd,即可使用公鑰認證遠程登錄到服務器,如果之前沒使用過公鑰登錄的小夥伴,建議改完配置不要退出當前登錄,等待重啓完後再開一個連接測試下公鑰認證能否發登錄成功。如果不成功,需要注意上面的要求!!!同時可以使用沒斷開連接的終端執行sudo tail -f /var/log/message檢查sshd服務的日誌信息,同樣也需執行sudo tail -f /var/log/secure檢查sshd服務的認證日誌信息。在tail -f 是實時從尾部監聽一個服務,經常用於動態查看相關日誌文件,由於是監聽要退出的話需要按ctrl+c結束。這樣sshd服務的安全性就有很大的提升了,當然在sshd服務中還可以配置允許登陸的ip和禁止登陸的ip,這個以後我會單開文章詳細說明。另外爲了我們的配置不被惡意篡改可以執行,可以執行sudo chattr +i /etc/ssh/sshd_config 和sudo chattr +i 公鑰文件(如:sudo chattr +i /home/kid/.ssh/authorized_keys),chattr +i 命令會多某個文件設置隱藏狀態位,設置後該文件即使是root和文件所有者都無法對該文件進行刪除、修改、移動等操作,保證了該文件的安全。 
 

即使惡意登陸者想對sshd服務進行重新配置,把自己的公鑰加入公鑰文件都是無法操作的。但當你確實想要修改這個文件的時候,可以使用 
sudo chattr -i /etc/ssh/sshd_config以及sudo chattr +i /home/kid/.ssh/authorized_keys然後編輯這兩個文件。

今天的分享就到這裏了,下一篇我們會繼續講解服務器配置的實例。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章