閱讀56 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Azure 雲 Linux 安全建議

1、網絡與安全規劃

Azure 虛擬網絡 (VNet) 是用戶自己的網絡在雲中的表示形式,對用戶進行網絡邏輯隔離。類似 AWS 的 VPC,用戶可以完全控製該網絡中的 IP 地址塊、DNS 設置、安全策略和路由表。你還可以進一步將 VNet 細分成各個子網,子網之間可以直接通訊。

不論是否設置外網地址,所有的虛機缺省都可以直接訪問互聯網,可以通過網絡安全組 (NSG) 來控製訪問。網絡安全組您可以認為是一個自定義免費的網絡防火牆。網絡安全組 (NSG) 包含一係列訪問控製列表 (ACL) 規則,這些規則可以允許或拒絕虛擬網絡中流向 VM 實例的網絡流量。NSG 可以設置在不同維度:VNET,子網,某台虛機,虛機上的某個網卡,是非常強大的流量與訪問控製工具。

NSG 是 ACL(訪問控製列表)的升級版本,和訪問控製列表互斥。隻能選擇一種方式,在新的 ARM Portal 中,Azure 采用NSG 方式來進行訪問控製。防火牆按照優先級,根據源IP及端口,目的IP及端口,協議類型做出相應的動作訪問或者拒絕。

NSG 的詳細設置見官方文檔鏈接:https://www.azure.cn/documentation/articles/virtual-networks-nsg

網絡與安全建議匯總:

  • 用戶網絡使用一個 VNet,可以劃分應用層,邏輯處理層和數據層,每層采用一個子網,根據需要可以設置 NSG 防火牆;
  • 邏輯處理層和數據庫不設置外部 IP,這樣不會直接暴露在外麵;
  • 可以單獨設置一台跳板管理機用來做後端服務器的管理;
  • 可以使用 Azure VPN 或者專線來連接跳板管理機,安全性更高;

2、軟件安裝和組件

  • 安裝過程中使用複雜密碼或者直接使用 SSH 密鑰方式;
  • 安裝鏡像來源有 Azure 官方、鏡像市場、自傳鏡像,盡量使用 Azure 官方鏡像;
  • 安裝(以 Ubuntu 為例)完成後查看已經安裝的軟件列表:dpkg -l;  
  • 使用 ps -al 查看是否有可疑程序在運行;
  • 查看端口使用情況:netstat -an
  • 根據上麵提示停止並刪除不需要的第三方程序。

3、係統安全與服務

  • 密碼安全策略,符合 Azure 要求,盡量複雜難猜些;
  • 使用 shadow 來隱藏密文,Azure 官方鏡像此處是默認設置;
  • 清除或者禁用不必要的係統帳戶;
  • 不在 passwd 文件中包含個人信息;
  • 修改 shadowpasswdgshadow 文件屬性為不可改變;
  • 不要使用 .netrc 文件;
  • 以前 Oracle 安裝 RAC 經常需要設置主機間信任關係,在雲端請不要使用對等信任文件/.rhosts/etc/hosts.equiv
  • 使用 SSH 來代替 telnetd、ftpd、pop 等通用服務,傳統的網絡服務程序,如:ftp、pop 和 telnet 口令和數據是明文傳輸的。 

4、網絡與服務安全

  • 隻對外開放所需要的服務,關閉所有不需要的服務;
  • 做好前後端的分離和訪問控製的控製;
  • 將所需的不同服務分布在不同的主機上,這樣不僅提高係統的性能,同時便於配置和管理,減小係統的安全風險;
  • 定期進行掃描檢測,建議可以使用 nmap 軟件進行自檢。
  • 在負載均衡服務的入站規則中設置 NAT 端口轉換,將常用端口映射成高位端口,增加外部掃描難度;
  • 關閉 PING(Azure 已經關閉);
  • 在子網層級設置 NSG 將不需要使用的端口全部禁用;

5、文件加固

  • Linux 開機啟動的服務程序都在 /etc/init.d 這個文件夾裏,定期檢查這些文件時間等屬性是否異常,做好備份;
  • 設置 /etc/services 文件權限為 600。

6、防火牆

  • 啟用 Linux 自帶的防火牆。

7、防病毒軟件

  • Windows 環境在創建時可以選擇安裝防病毒軟件,Linux 鏡像沒有自帶防病毒軟件,需要安裝第三方防病毒軟件。

8、Fail2ban

  • fail2ban 可以監視你的係統日誌,然後匹配日誌的錯誤信息執行相應的屏蔽動作(建議啟用服務器防火牆,可以用來做服務異常監控),如果發現異常,軟件會發送 e-mail 通知係統管理員並自動采取動作。

9、日常的備份

最後也是最重要的一步,常在河邊走哪能不濕鞋,做好日常重要文件和數據的備份,確保萬無一失。

原文發布時間為:2017-03-08

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-24 16:32:02

  上一篇:go  sudo 入門指南
  下一篇:go  LXD 2.0 係列(十一):LXD 和 OpenStack