引言:Webmin基于Web服務環境運行的工具可以對系統和網絡環境進行有效管理。Webmin具有訪問控制和SSL加密傳輸功能,可以保證數據傳輸的安全性。Webmin支持插件功能。這里就從維護網絡安全角度,分析Webmin的相關功能。
和Windows不 同,在Linux中執行各種系統配置操作時主要依靠的是各種命令。要想熟練的掌握眾多的命令及其參數,不是一朝一夕所能實現。相比之下,使用Webmin基于Web服務環境運行的工具可以對系統和網絡環境進行有效管理。Webmin具有訪問控制和SSL加密傳輸功能,可以保證數據傳輸的安全性。Webmin支持插件功能,可以極大的擴展其功能,其自身包含了大多數Linux管理模塊,還可以使用第三方模塊來強化其功能。這里就從維護網絡安全角度,分析Webmin的相關功能。
進入主控界面,在其左側分別點擊“Webmin”、“Change language snd Theme”項,在右側選 擇“Personal choice” 項,在列表中選擇“Simolified Chinese(ZH_CN)”項,點擊“Make Changes”按鈕,重新登錄后得到中文界面。默認情況下Webmin的管理員名稱為“root”。
為更好的使用Webmin,需要對其進行合理設置。點擊“Webmin”、“Webmin 配置”項,在右側顯示所有的配置項目。例如,點擊其中的“IP訪問控制”項,為了安全起見,最好選擇“只允許列出的地址訪問”項,輸入合適的地址。在“解析每一個請求中的主機”欄中選擇“是”項,則只允許擁有預設的主機名的客戶機訪問Webmin。
在Webmin配置頁面中點擊“地址和端口”項,可以對Webmin的IP和端口進行綁定。如果運行Webmin的主機擁有多個IP,可以在“Bind to IP address” 列表中選擇“Any address”項,表示監聽所有的IP,選 擇“Only address”項,則只監聽設定的IP。 在“Listen on port”列表中選擇監聽的端口號。點擊確定按鈕保存配置信息。在Webmin配置界面中點擊“計入日志”項,可以設置是否激活日志記錄功能,是否記錄解析的主機名,以及清除日志的時間間隔。在“Users to log”欄中可以設置記錄所有用戶的動作或者指定用戶的動作。如果主機是通過代理服務器接入Internet的話,可以在Webmin配置界面中點擊“代理服務器”項,設置所需的HTTP,FTP等代理服務器地址,以及代理用戶名和密碼等信息。
Webmin的更大功能在于支持各種模塊插件,在配置界面中點擊“Webmin模塊”項,在“Install”面板中的“從本地文件”欄中點擊瀏覽按鈕,選擇目標Webmin模塊文件來安裝該模塊。在“Delete”面板中顯示安裝的所有模塊信息,點擊“刪除選擇的模塊”按鈕,可以將選定的模塊刪除。為了提高安全性,可以在配置界面中點擊“驗證”項,勾選“啟動口令超時功能”項,可以防止非法用戶對登錄密碼進行猜測破解操作。在其下可以設置登錄攔截功能。
Webmin提供了系統管理,服務器管理,網絡管理,硬件管理,群集管理等分類,每一分類中包含了大量的管理模塊,這里只談如何利用Webmin來進行網絡安全管理操作。在Webmin管理界面左側依次點擊“網絡”、“Linux Firewall”項,在右側窗口中的“Forwarded packages(FORWARD)”欄中點擊“Add Ruls”按鈕,在彈出界面中的“Rule Comment”欄中輸入規則名稱,在“Action to take”欄中選擇“Drop”項,選擇放棄動作。在“Destination address or network”列表中選擇“Equals”項,在其右側輸入目標網址。點擊“新建”按鈕,完成該規則的創建操作。按照同樣的方法,可以創建多條規則。這樣,用戶就無法訪問這些網站了。
如果想禁止特定的用戶上網,可以在上述“Linux Firewall”頁面中的“Forwarded packages(FORWARD)”欄中點擊“Add Ruls”按鈕,在彈出界面中的“Rule Comment”欄中輸入規則名稱,在“Action to take”欄中選擇“Drop”項, 在“Source address or network”列表中選擇“Equals”項,在右側輸入禁止上網的客戶機的IP地址,也可以輸入其子網ID號(例如“172.16.22.0/39”)。 點擊“新建”按鈕,完成該規則的創建操作。同理,可以創建多條規則。這樣,指定的主機就無法上網了。
如果想禁止指定用戶禁止使用某種服務(例如 FTP服 務),可以在“Linux Firewall”頁面中的“Forwarded packages(FORWARD)”欄中點擊“Add Ruls”按鈕,在彈出界面中的“Rule Comment”欄中輸入規則名稱,在“Action to take”欄中選擇“Drop” 項,在“Source address or network”列表中選擇“Equals”項,在右側輸入禁止上網的客戶機的IP地址,也可以輸入其子網ID號。在“Network protocol”列表中選擇“Equals”項,在協議列表中選擇“TCP”項。 在“Destination TCP or UDP port”列表中選擇“Equals”項,在“Port”欄中輸入指定的端口號(例如21,即FTP服務的端口)。選擇點擊“新建”按鈕,完成該規則的創建操作。同理,可以創建多條規則。這樣,指定的主機就無法使用指定的服務了。實際上,利用該方法,可以有效封鎖特定主機連接的端口。
為了防止其他的主機對本機發起ICMP攻擊,造成本機系統崩潰,可以禁止使用ICMP協議來防范這種攻擊。在“Linux Firewall”頁面中的“Incoming packages(INPUT)”欄 中點擊“Add Rule”按鈕,在規則添加界面中輸入規則名稱,在“Action to take”欄中選擇“Drop”項。在“Incoming interface” 欄中選擇“Equals” 項,在其右側選擇網絡接口(例如“eth0”)。 在“Network protocol”欄中選擇“Equals”項,在其右側選擇“ICMP”項,點擊“新建”按鈕,完成該規則的創建操作。在“Linux Firewall”界面中點擊“Apply Configuration”按鈕,激活設定的規則。
如果想讓用戶只能訪問指定的網站,可以在“Linux Firewall”頁面中 的“Showing IPtable”列表中選擇“Network address translation”項,點擊“Showing Iptable” 按鈕,在“NAT”設置界面中的“Packets before routing(PREROUTING)”欄中點擊“Add Rule”按鈕,輸入規則名稱,在“Action to take”欄中選擇“Destination NAT” 項, 在“Ips and ports for DNAT”欄中選擇“IP range”項,在其右側輸入允許訪問的目標網址的IP和端口號范圍。在“Incoming interface”欄中選擇“Equals”項,在右側選擇網卡接口(例如“eth0”)。 在“Network protocal”欄中選擇“Equals”項,在右側選擇“TCP”項,點擊“新建”按鈕,完成該規則的創建操作。
在Linux中,可以利用Squid創建代理服務。利用代理服務,不僅可以提供文件緩存,復制和地址過濾,提高出口帶寬利用率,加快內部主機訪問速度,解決公有IP地址不足等功能,而且代理服務還提供了類似于網絡防火墻的功能,將內外網隔離,監控和記錄網絡傳輸信息,提高局域網的安全性。
在Webmin中,可以對Squid代理服務器進行簡單高效的配置操作。分別點擊“服務器”、“Squid代理服務器”項,在右側顯示與其相關的配置項目。例如,點擊“網絡和端口”項,在設置界面中選擇“List below”項,在“端口”欄中設置Squis服務使用的端口號,在“主機名/IP地址”列中選擇設置項目,輸入監聽的IP地址,完成對Squid代理服務器監聽IP和端口的設置。
在Squid 代理設置頁面中點擊“內存使用”項,可以根據需要設置內置使用限制,高速緩存大小等參數。為防止內存不足導致Squid代理服務出現異常,可以點擊“高速緩存選項”項,為其分配磁盤空間,作為緩沖區使用。正常的網絡訪問離不開DNS解析服務,在Squid服務設置頁面中點擊“幫助程序”項,在其中的“DNS服務器地址”欄中選擇“resolv.conf”項,輸入合適的DNS服務器地址,保存配置信息。
在實際網絡管理中,有時需要禁止某些賬戶上網。可以在Squid代理服務設置界面中點擊“訪問控制”項,在“訪問控制列表”面板中的“創建新的ACL”欄右側的列表中選擇限制類型,選擇“客戶地址”項,表示使用客戶端的IP作為限制條件。為防止其更改IP地址避開攔截,也可以使用MAC地址限制項目來阻止其非法操作。點擊“創建新的ACL”按鈕,在創建ACL界面中的“ACL名稱”欄中輸入規則名稱,在“來自IP”欄中輸入客戶機的IP地址,點擊保存完成該規則的創建。在訪問控制頁面中打開“代理約束”面板,點擊“添加約束規則”按鈕,在創建代理約束頁面中選擇“拒絕”項,在“匹配ACL”列表中選擇上述規則,點擊保存按鈕即可。同理可以創建多條ACL規則,來封鎖特定用戶的上網操作。
如果想限制所有賬戶在規定的時間段內上網,可以按照上述方法,創建一條ACL約束規則,所不同的是,將IP和子網掩碼都設置為“0.0.0.0”,之后保存該規則。在“訪問控制”面板中的“訪問控制列表”欄中選擇限制類型為“日期和時間”項,點擊“創建新的ACL”按鈕,輸入新規則名稱,按下Ctrl鍵,之后在“星期幾”列表中選擇禁止上網的星期數,在“時間”欄中輸入禁止上網的時間段,點擊保存按鈕完成該規則的創建操作。之后按照上述方法,在“代理約束”面板中同時選擇上述兩條規則,并選擇“拒絕”項,點擊保存按鈕,保存規則信息。
提起透明代理,有些用戶可能感到陌生。該代理方式對于內網用戶來說是透明的。用戶感覺不到該代理服務的存在。即用戶不必在本機上手工設置代理服務器參數,就可以穿越代理服務器上網,好像代理服務器不存在一樣。但是對于外網用戶來說,當其訪問該局域網時,只能看到該代理服務器,而無法窺視內部的主機。利用透明代理,可以有效保護內網安全。實現透明代理的方法很簡單,在Squid代理設置頁面中點擊“雜類選項”項,在“HTTP加速主機”欄中選擇“Virtual”項,在“HTTP加速端口”欄中選擇“None”項,設置端口為80。在“HTTP代理加速”欄中選擇“開”項,在“HTTP加速使用主機頭”欄中選擇“是”,點擊保存按鈕,就可以激活透明代理服務。
為防止用戶隨意上網,可以為其配置身份認證功能。只有使用正確的賬戶名和密碼,才可以通過Squid代理服務的審核,順利連接Internet。在Squid代理服務設置界面中點擊“Authentication Programs”項,在彈出頁面中的“Basic authentication programs”欄中選擇“Webmin default”項,在其右側輸入認證程序讀取賬戶文件的目錄。點擊保存按鈕后,在Squid代理服務設置頁面中點擊“代理驗證”項,在Proxy驗證頁面中點擊“新增新的代理用戶”鏈接,在創建代理用戶頁面中輸入賬戶名和密碼,在“啟動”欄中選擇“是”,點擊“新建”按鈕,完成新賬戶的創建操作。
這樣,在客戶端選擇代理服務時,必須輸入該賬戶名和密碼,否則無法通過Squid代理的安全認證。在Squid代理服務設置頁面中點擊“訪問控制”項,在“訪問控制”面板中的“訪問控制列表”欄中選擇ACL類型為“外部驗證”項,點擊“創建新的ACL”按鈕,在打開的頁面中輸入本ACL規則名稱,在“外部驗證用戶”欄中選擇“All users”項,其余設置保持默認,點擊保存按鈕保存該規則。之后在“訪問控制”面板中的“代理約束”欄中點擊“添加代理約束規則”鏈接,在“動作”欄中選擇“允許”項,在“匹配ACL”列表中選擇上述規則,保存配置信息即可。