簡介html
一個 POWER 服務器具備承載上百個 LPAR 或分區(一個分區就是操做系統安裝的一個獨立實例)的處理能力,這意味着,虛擬化功能讓您能在一個物理機器中擁有上百個服務器。若是這上百個服務器在處理 Internet 或其餘敏感的數據,那麼您可能想要在其中設置一些防火牆規則做爲額外的安全層(以及網絡防火牆和***防護設備)。web
本文從簡短回顧 TCP/IP 網絡開始。若是您熟悉 TCP/IP 及其工做方式,那麼能夠跳過下一節。接下來,您還將回顧在 AIX 機器中啓用並設置 TCP/IP 過濾功能須要用到的包、步驟和命令。最後,您要使用第一節中講述的概念,在示例場景中進行配置。安全
回頁首服務器
TCP/IP 是賦予網絡生命的精髓。經過網絡傳輸的數據被分割成小塊,稱爲 「包」 或 「IP 包」(表示 Internet Protocol 包)。當傳輸信息的時候,它被數據發送者分紅包,並標有源和目標電腦的信息,而後經過網絡發送。架構
如今咱們從更高的層次看看網絡包的結構是怎樣的。根據通訊所使用協議的不一樣,您可能會處理如下的 IP 包:app
通常來講,您的服務器只提供其中一項或幾項服務,所以您可能想只容許您所提供的服務的流量。jsp
如下表格顯示了不一樣類型的網絡包的結構,更重要的是,您能夠看到,哪個是容許咱們基於此字段內容過濾包的 AIX 過濾管理命令的命令行選項。在稍後對過濾所使用的 AIX 命令進行分析時會用到這些命令行選項。ide
比特位 | 0-15 | 16-31 | ||||
0 | 版本 (-v) | IHL | 服務類型 | 總長度 | ||
32 | 標識 | 標誌 (-f) | 分段偏移 | |||
64 | 使用期限 | 協議 (-c) | 報頭檢驗和 | |||
96 | 源地址 (-s) | |||||
128 | 目的地址 (-d) | |||||
160 | 選項 | 邊距 |
比特位 | 0-15 | 16 -31 | |
0 | 類型 (-o / -O) | 編碼 | 校驗和 |
32 | IP 報頭 + 64 位原始數據報 |
比特位 | 0-15 | 16-31 |
0 | 源端口 (-o) | 目標端口 (-O) |
32 | 長度 | 校驗和 |
比特位 | 0-15 | 16-31 | ||
0 | 源端口 (-o) | 目標端口 (-O) | ||
32 | 序列號 | |||
64 | 確認號 | |||
96 | 偏移 | 保留 | 標誌 | 窗口 |
128 | 校驗和 | 緊急指針 | ||
160 | 選項 | 邊距 | ||
192 | 數據 |
某些狀況下,您可能想要阻止某些包到達其目的地,或者只讓某一些包到達。
一些常見的場景包括,只容許來自信任源的鏈接、阻止鏈接到服務器未提供的服務,以及只容許鏈接到特定服務。在這些狀況下,您均可以使用 AIX 操做系統附帶的 TCP/IP 過濾功能。
TCP/IP 過濾功能包含在 IPSec 包中,所以檢查是否存在的最簡單的方法就是用 lslpp –l
列出已安裝的包,並驗證是否有如下兩個包:
bos.net.ipsec.keymgt bos.net.ipsec.rte |
IPsec 是用來建立服務器之間加密通訊通道的協議,此通道也常被稱爲隧道或 ××× 隧道。本文不會詳細討論 IPsec,若是想要在您的環境中使用 IPSec,要保證已安裝如下包:
bos.msg.LANG.net.ipsec bos.net.ipsec.websm bos.crypto-priv |
有關 IPSec 的更完整的描述,您能夠參考本文 參考資料 一節中的 Security Guide 文檔。
要使用 TCP/IP 過濾功能,只要用到幾個命令,本節將加以說明,下節將會用到。若是您熟悉 AIX 命令,您將會看到它們很相似,在名稱前都有描述性前綴,如 mk
、ls
和 rm
,後面還有 filt
後綴。
–n
參數來指定位置,那麼新的規則將會被添加到表格末尾。rm
後綴對全部 UNIX 管理員來講應該很熟悉。您可使用此命令在任什麼時候候根據規則 ID 來刪除過濾規則。當談到 TCP/IP 過濾中的策略時,一般是指兩種可能的安全方法:
從安全角度出發,拒絕全部策略是最安全的。可是若是您是配置正在使用中的服務器,那麼您在運用此策略前必定要很是謹慎,防止產生沒必要要的服務中斷。對於新的服務器,從開始就使用此策略要簡單一些,由於在投入使用以前有足夠的時間進行測試。
容許全部策略更加寬鬆,並且它適用於您有生產服務並想要保護一個特定服務的狀況。
在本節中,我將會展現一個簡單的示例場景,以此做爲在服務器上實現其餘過濾配置的良好開端。
您的公司在 p710 Express 服務器的 AIX LPAR 上部署了一個新的內網應用程序,公司的安所有門要求限制對 Web 應用程序的訪問,只容許來自地址爲 172.16.10.5 的內部代理服務器的流量。Web 應用程序監聽 TCP 端口 80 和 443。安所有門提出第二條要求,只容許與鏈接到管理網絡 10.1.1.x 的接口的 SSH 鏈接。安所有門強調,這些要求是強制性的,與服務的的全部配置無關,做爲額外的保護層。服務器的 IP 地址是 172.16.10.45 和 10.1.1.45(第一個是提供給用戶的地址,第二個是供管理員登陸服務器並執行維護任務使用的)。下列圖形顯示了此場景。
實現 – 設置規則
首先啓用服務器中的 IPSec 以啓用 IP 過濾。爲此,使用 ipsec4
的 smitty 快速路徑:
# smitty ipsec4 |
選擇 Start/Stop IP Security
並按下 Enter 鍵:
Move cursor to desired item and press Enter Start/Stop IP Security Basic IP Security Congiguration Advanced IP Security Configuration |
選擇 Start IP Security
並按下 Enter 鍵:
Move cursor to desired item and press Enter Start IP Security Stop IP Security |
從如下各項中選擇 Start IP Security 並按下 Enter 鍵:
Type or select values in the entry field Press Enter AFTER making all desired changes [EntryFields] Start IP Security [Now and AfterReboot] Deny ALL Non0Secure IP Packets [No] |
以前的步驟演示瞭如何啓用 IPSec,從而利用 IP 過濾功能。成功完成後,會顯示以下內容:
Command:OK stdout: yes stderr: no Before command completion, additional instructions may appear below. ipsec_v4 Available Default rule for IPv4 in ODM has been changed.Successfully set default action to PERMIT |
若是在這裏看到錯誤,那麼多是系統丟失了某些在 須要的包 一節中提到過的包。確認 IP Sec 是否在系統中啓用的一個方法是使用以下命令:
# lsdev -l ipsec_v4 ipsec_v4 Available IP Version 4 Security Extension |
如今可使用 lsfilt
命令來查看建立的默認規則。不要急着修改默認規則,先搞懂它們的用途和影響。
如今,建立符合安所有門要求的規則。
咱們首先建立限制對管理網絡的管理訪問的規則。
## Rules to allow authorized administration traffic # genfilt -v 4 -a P -s 10.1.1.0 -m 255.255.255.0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -o gt -p 1023 -O eq -P 22 -r L -w I -l N -f Y -i all Filter rule 3 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 10.1.1.45 -m 255.255.255.255 -d 10.1.1.0 -M 255.255.255.0 -g N -c tcp/ack -o eq -p 22 -O gt -P 1023 -r L -w O -l N -f Y -i en1 Filter rule 4 for IPv4 has been added successfully. ## Rules to deny and log unauthorized administration traffic. ## Note that we add one rule per server address to have ## independence from service configuration. # genfilt -v 4 -a D -s 0 -m 0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -O eq -P 22 -r L -w I -l Y -f Y -i all Filter rule 5 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -O eq -P 22 -r L -w I -l Y -f Y -i all Filter rule 6 for IPv4 has been added successfully. |
以上規則實現了管理員鏈接的目標。請注意,儘管我故意在第 1 條、第 3 條規則留下空擋,不限制 en1 的接口。我這麼作是爲了展現如何使用 chfilt
命令來修改已有的規則,以下所示:
# chfilt -v 4 -n 3 -i en1 Filter rule 3 for IPv4 has been changed successfully.# |
如今咱們添加規則來限制來自內部代理服務器 172.16.10.5 對內網應用程序的訪問。
## Rules to allow traffic between Proxy and Web Application # genfilt -v 4 -a P -s 172.16.10.5 -m 255.255.255.255 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -o gt -p 1023 -O eq -P 80 -r L -w I -l N -f Y -i en2 Filter rule 7 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 172.16.10.45 -m 255.255.255.255 -d 172.16.10.5 -M 255.255.255.255 -g N -c tcp/ack -o eq -p 80 -O gt -P 1023 -r L -w O -l N -f Y -i en2 Filter rule 8 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 172.16.10.5 -m 255.255.255.255 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -o gt -p 1023 -O eq -P 443 -r L -w I -l N -f Y -i en2 Filter rule 9 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 172.16.10.45 -m 255.255.255.255 -d 172.16.10.5 -M 255.255.255.255 -g N -c tcp/ack -o eq -p 443 -O gt -P 1023 -r L -w O -l N -f Y -i en2 Filter rule 10 for IPv4 has been added successfully. ## Rules to reject traffic to the Web Application not coming from the Proxy # genfilt -v 4 -a D -s 0 -m 0 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -O eq -P 80 -r L -w I -l Y -f Y -i all Filter rule 11 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -O eq -P 80 -r L -w I -l Y -f Y -i all Filter rule 12 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -O eq -P 443 -r L -w I -l Y -f Y -i all Filter rule 13 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -O eq -P 443 -r L -w I -l Y -f Y -i all Filter rule 14 for IPv4 has been added successfully. |
以上命令已經建立了知足此場景要求的全部規則。請注意,規則的順序對實現目標是很是重要的。
下一步,還須要作一些事來啓用對拒絕包的記錄,並激活配置。
如今配置 syslog 守護進程將全部來自 IP 過濾的條目記錄在指定的文件中。
## Backup syslog.conf file before modifying it. # cp /etc/syslog.conf /etc/syslog.conf.bak ## Append entry for IP filters logs. # echo "local4.debug /var/adm/ipsec.log" >> /etc/syslog.conf ## Create log file and set permissions (permissions may depend on ## company policies) # touch /var/adm/ipsec.log # chmod 644 /var/adm/ipsec.log ## Refresh the syslog subsystem to activate the new configuration. # refresh -s syslogd 0513-095 The request for subsystem refresh was completed successfully. |
到此爲止,您已經建立了過濾規則,並準備好了 syslog 以記錄被拒絕包的日誌。如今可使用 mkfilt
命令激活配置。
# Start the log functionality of the filter rule module # mkfilt -g start # # Activates the filter rules # mkfilt –u |
一旦完成配置,您就能夠按期檢查 /var/adm/ipsec.log 文件丟棄了哪些包,並檢測潛在***以及對配置所作的調整。
在本文中,我演示了 AIX IP 過濾功能,這是一項內置的並且頗有用的功能,可以讓系統管理員在服務器中實現額外的安全層。同時還講解了一些基本的網絡概念,並總結了執行過濾所要用到的包和命令。與往常同樣,全部的防火牆配置都要認真規劃,以免產生反作用,這些反作用每每很難排除。
本文是一個對想要使用此模塊進行配置的 UNIX 管理員的很好的入門指導。
學習
得到產品和技術
討論