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