熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Linux下客戶端MAC地址控制(2)

2013-11-13 16:19:33  來源: Oracle 

  作者胡楊月影
  
  使用代理服務器自身的MAC地址檢查功能
  
  Linux下使用較多的代理服務器是Squid和Socks此處以Squid為例說明如何檢查客戶端MAC地址由於Squid的RPM發布版通常沒有啟用這一特性這種版本使用MAC匹配會提示錯誤的acl類型所以我們必須手工編譯源代碼首先下載squidxsrctargz然後用tar xvfz squidtargz命令解開源代碼並進入展開後的子目錄/configure配置編譯選項除了啟用自己需要的特性外再加上參數 enablearpacl即允許設置acl(Access Control List)為arp(MAC地址匹配)方式然後執行make make install
  
  安裝完成後就可以修改nf來匹配MAC地址了如下所示
  
  # 設置一個accept_group列表該用戶的MAC地址為::::bb:
  acl access_group arp ::::bb:
  # 根據最低安全要求設置all列表包含源IP地址為/即所有用戶
  acl all src /
  # 允許accept_group組正常訪問
  http_access allow accept_group
  # 禁止其他所有未經授權的訪問
  http_access deny all
  
  
  
  啟動Squid並配置正確的緩存目錄和端口轉發
  
  當Squid收到請求時無論請求用戶來自哪個IP地址或主機它都會檢查其MAC地址並且只允許MAC地址為::::bb:的請求通過這樣也可以實現客戶端零配置的用戶識別對於使用iptables + Squid做透明代理的Linux網關來說可以選擇iptables或Squid來識別用戶
  
  利用靜態ARP表進行控制
  
  我們知道ARP(Address Resolution Protocol地址轉換協議)被當作底層協議用於IP地址到物理地址的轉換在以太網中所有對IP的訪問最終都轉化為對網卡MAC地址的訪問
  
  不妨設想一下如果主機A的ARP列表中到主機B的IP地址與MAC地址對應不正確由A發往B數據包就會發向錯誤的MAC地址當然無法順利到達B結果是A與B根本不能進行通信Linux可以通過arp命令控制ARP轉換即IP到MAC的轉換因此也能利用這一功能對用戶MAC地址進行匹配下面我們就來看看arp命令的用法
  
  輸入arp將顯示當前所有ARP轉換記錄類似於這樣
  
  
  Address HWtype HWaddress Flags Mask Iface
   ether :::::F C eth
   ether :::F:: C eth
   ether ::E:F::C C eth
   ether ::E:F::C C eth
  
  
  
  由此可以看到當前系統保留的IP地址與MAC地址一一對應並指明了硬件類型(Hwtype)和通信所使用的接口(Iface)不過這些都是動態生成的無需手工干預我們要做的恰恰是手工干預這一過程
  
  我們需要用到arp命令的另一重要功能就是手工更改這一對應關系此外該命令還可以讀取文本文件中的ARP記錄其默認文件是/etc/ethers也就是說當輸入ARPf的時候系統就會讀取/etc/ethers這個文件並以其中的項目取代系統當前的ARP記錄假設/etc/ethers文件內容如下
  
   ::::bb:
  
  
  
  然後執行命令arp f
  
  這時我們查看系統ARP表會發現無論原來對應的MAC地址是什麼都會被新的所取代
  
  
  Address HWtype HWaddress Flags Mask Iface
   ether :::::F C eth
   ether :::F:: C eth
   ether ::E:F::C C eth
   ether ::::bb: C eth
  
  
  
  此時本機發往的數據包目標MAC地址將由原來的::E:F::C改為::::bb:顯然如果所在網卡的MAC地址並非::::bb:數據包就無法到達正確的目的地那麼它們也就無法通信了這樣也達到了識別非法用戶的目的
  
  當然控制MAC地址的方法還不止這些例如可以利用交換機的端口管理功能識別用戶根據交換機的原理它是直接將數據發送到相應端口那麼就必須保有一個數據庫包含所有端口所連網卡的MAC地址由此可見控制每個端口使用的MAC地址理論上是完全可行的大部分中高端交換機如Com SuperStack系列等都具有這種功能具體操作與交換機型號有關這裡就不贅述
  
  最後提醒一下MAC地址控制並非絕對保險正如這個世界上沒有絕對解不開的密碼一樣所謂安全都是相對於特定的環境而言現在很多網卡都支持MAC地址的軟件修改Linux和Windows本身也都有辦法修改這一物理地址不過由於這種方式相對穩定摒棄了繁瑣的客戶端設置對用戶完全透明而且具備很強的可操作性所以在某種程度上說是安全的
  
  (責任編輯郁單曰)
    
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/18152.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.