1、網絡與安全規(guī)劃
Azure 虛擬網絡 (VNet) 是用戶自己的網絡在云中的表示形式,對用戶進行網絡邏輯隔離。類似 AWS 的 VPC,用戶可以完全控制該網絡中的 IP 地址塊、DNS 設置、安全策略和路由表。你還可以進一步將 VNet 細分成各個子網,子網之間可以直接通訊。
不論是否設置外網地址,所有的虛機缺省都可以直接訪問互聯(lián)網,可以通過網絡安全組 (NSG) 來控制訪問。網絡安全組您可以認為是一個自定義免費的網絡防火墻。網絡安全組 (NSG) 包含一系列訪問控制列表 (ACL) 規(guī)則,這些規(guī)則可以允許或拒絕虛擬網絡中流向 VM 實例的網絡流量。NSG 可以設置在不同維度:VNET,子網,某臺虛機,虛機上的某個網卡,是非常強大的流量與訪問控制工具。
NSG 是 ACL(訪問控制列表)的升級版本,和訪問控制列表互斥。只能選擇一種方式,在新的 ARM Portal 中,Azure 采用NSG 方式來進行訪問控制。防火墻按照優(yōu)先級,根據源IP及端口,目的IP及端口,協(xié)議類型做出相應的動作訪問或者拒絕。
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、系統(tǒng)安全與服務
密碼安全策略,符合 Azure 要求,盡量復雜難猜些;
使用 shadow 來隱藏密文,Azure 官方鏡像此處是默認設置;
清除或者禁用不必要的系統(tǒng)帳戶;
不在 passwd 文件中包含個人信息;
修改 shadow、passwd、gshadow 文件屬性為不可改變;
不要使用 .netrc 文件;
以前 Oracle 安裝 RAC 經常需要設置主機間信任關系,在云端請不要使用對等信任文件 /.rhosts、/etc/hosts.equiv;
使用 SSH 來代替 telnetd、ftpd、pop 等通用服務,傳統(tǒng)的網絡服務程序,如:ftp、pop 和 telnet 口令和數據是明文傳輸的。
4、網絡與服務安全
只對外開放所需要的服務,關閉所有不需要的服務;
做好前后端的分離和訪問控制的控制;
將所需的不同服務分布在不同的主機上,這樣不僅提高系統(tǒng)的性能,同時便于配置和管理,減小系統(tǒng)的安全風險;
定期進行掃描檢測,建議可以使用 nmap 軟件進行自檢。
在負載均衡服務的入站規(guī)則中設置 NAT 端口轉換,將常用端口映射成高位端口,增加外部掃描難度;
關閉 PING(Azure 已經關閉);
在子網層級設置 NSG 將不需要使用的端口全部禁用;
5、文件加固
Linux 開機啟動的服務程序都在 /etc/init.d 這個文件夾里,定期檢查這些文件時間等屬性是否異常,做好備份;
設置 /etc/services 文件權限為 600。
6、防火墻
啟用 Linux 自帶的防火墻。
7、防病毒軟件
Windows 環(huán)境在創(chuàng)建時可以選擇安裝防病毒軟件,Linux 鏡像沒有自帶防病毒軟件,需要安裝第三方防病毒軟件。
8、Fail2ban
fail2ban 可以監(jiān)視你的系統(tǒng)日志,然后匹配日志的錯誤信息執(zhí)行相應的屏蔽動作(建議啟用服務器防火墻,可以用來做服務異常監(jiān)控),如果發(fā)現異常,軟件會發(fā)送 e-mail 通知系統(tǒng)管理員并自動采取動作。
9、日常的備份
最后也是最重要的一步,常在河邊走哪能不濕鞋,做好日常重要文件和數據的備份,確保萬無一失。