CISCO 訪問控制列表ACL
阿新 • • 發佈:2019-02-08
三、命名訪問控制列表
不管是標準訪問控制列表還是擴充套件訪問控制列表都有一個弊端,那就是當設定好ACL的規則後發現其中的某條有問題,希望進行修改或刪除的話只能將全部ACL資訊都刪除。也就是說修改一條或刪除一條都會影響到整個ACL列表。這一個缺點影響了我們的工作,為我們帶來了繁重的負擔。不過我們可以用基於名稱的訪問控制列表來解決這個問題。
命名訪問控制列表格式:
ip access-list {standard/extended} access-list-name(可有字母,數字組合的字串)
例如:ip access-list standard softer //建立一個名為softer的標準訪問控制列表。
命名訪問控制列表使用方法:
router(config)#ip access-list standard +自定義名
router(config-std-nac1)#11 permit host +ip //預設情況下第一條為10,第二條為20.如果不指定序列號,則新新增的ACL被新增到列表的末尾
router(config-std-nac1)#deny any
對於命名ACL來說,可以向之前的acl中插入acl,刪除也可以刪除單條acl,
如:router(config)#ip access-list standard benet
router(config-std-nasl)#no 11
使用show access-lists可檢視配置的acl資訊
總結:如果設定ACL的規則比較多的話,應該使用基於名稱的訪問控制列表進行管理,這樣可以減輕很多後期維護的工作,方便我們隨時進行調整ACL規則。
四、反向訪問控制列表
反向訪問控制列表屬於ACL的一種高階應用。他可以有效的防範病毒。通過配置反向ACL可以保證AB兩個網段的計算機互相PING,A可以PING通B而B不能PING通A。
說得通俗些的話就是傳輸資料可以分為兩個過程,首先是源主機向目的主機發送連線請求和資料,然後是目的主機在雙方建立好連線後傳送資料給源主機。反向ACL控制的就是上面提到的連線請求。
反向訪問控制列表的格式:
反向訪問控制列表格式非常簡單,只要在配置好的擴充套件訪問列表最後加上established即可。
反向訪問控制列表配置例項:
路由器連線了二個網段,分別為172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24網段中的計算機都是伺服器,我們通過反向ACL設定保護這些伺服器免受來自172.16.3.0這個網段的病毒攻擊。
要求:禁止病毒從172.16.3.0/24這個網段傳播到172.16.4.0/24這個伺服器網段。
路由器配置命令:
access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.0 0.0.0.255 established //定義ACL101,容許所有來自172.16.3.0網段的計算機訪問172.16.4.0網段中的計算機,前提是TCP連線已經建立了的。當TCP連線沒有建立的話是不容許172.16.3.0訪問172.16.4.0的。
進入路由相應埠
ip access-group 101 out //將ACL101應用到埠
設定完畢後病毒就不會輕易的從172.16.3.0傳播到172.16.4.0的伺服器區了。因為病毒要想傳播都是主動進行TCP連線的,由於路由器上採用反向ACL禁止了172.16.3.0網段的TCP主動連線,因此病毒無法順利傳播。
小提示:檢驗反向ACL是否順利配置的一個簡單方法就是拿172.16.4.0裡的一臺伺服器PING在172.16.3.0中的計算機,如果可以PING通的話再用172.16.3.0那臺計算機PING172.16.4.0的伺服器,PING不通則說明ACL配置成功。
通過上文配置的反向ACL會出現一個問題,那就是172.16.3.0的計算機不能訪問伺服器的服務了,假如圖中172.16.4.13提供了WWW服務的話也不能正常訪問。解決的方法是在ESTABLISHED那句前頭再新增一個擴充套件ACL規則,例如:access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.13 0.0.0.0 eq www
這樣根據“最靠近受控物件原則”即在檢查ACL規則時是採用自上而下在ACL中一條條檢測的,只要發現符合條件了就立刻轉發,而不繼續檢測下面的ACL語句。172.16.3.0的計算機就可以正常訪問該伺服器的WWW服務了,而下面的ESTABLISHED防病毒命令還可以正常生效。
五、定時訪問控制列表
設定步驟:
1、定義時間段及時間範圍。
2、ACL自身的配置,即將詳細的規則新增到ACL中。
3、宣告ACL,將設定好的ACL新增到相應的埠中。
定義時間範圍的名稱:
router(config)#time-range time-range-name
定義一個時間週期
router(config-time-range)#periodic(週期) days-of-the-week hh:mm to [days-of-the-week] hh:mm
其中days-of-the-week的取值有
Monday Tuesday Wednesday Thursday Friday Saturday Sunday{週一到週日}
daily(每天)weekdays(在平日)weekend(週末)
定義一個絕對時間
router(config)#time-range time-range-name
router(config-time-range)#absolute [start hh:mm day month year] [end hh:mm day month year]
在擴充套件ACL中引入時間範圍
router(config)#access-list access-list-number {permit|deny} protocol {source ip +反碼 destination ip +反碼 +operator+time-range+time-range-name}
定時訪問控制列表例項:
路由器連線了二個網段,分別為172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24網段中有一臺伺服器提供FTP服務,IP地址為172.16.4.13。
要求:只容許172.16.3.0網段的使用者在週末訪問172.16.4.13上的FTP資源,工作時間不能下載該FTP資源。
路由器配置命令:
time-range softer //定義時間段名稱為softer
periodic weekend 00:00 to 23:59 //定義具體時間範圍,為每週週末(6,日)的0點到23點59分。當然可以使用periodic weekdays定義工作日或跟星期幾定義具體的周幾。
access-list 101 deny tcp any 172.16.4.13 0.0.0.0 eq ftp time-range softer //設定ACL,禁止在時間段softer範圍內訪問172.16.4.13的FTP服務。
access-list 101 permit ip any any //設定ACL,容許其他時間段和其他條件下的正常訪問。
進入相應埠。
ip access-group 101 out //應用到埠
基於時間的ACL比較適合於時間段的管理,通過上面的設定172.16.3.0的使用者就只能在週末訪問伺服器提供的FTP資源了,平時無法訪問。
六、訪問控制列表流量記錄
網路管理員就是要能夠合理的管理公司的網路,俗話說知己知彼方能百戰百勝,所以有效的記錄ACL流量資訊可以第一時間的瞭解網路流量和病毒的傳播方式。下面這篇文章就為大家簡單介紹下如何儲存訪問控制列表的流量資訊,方法就是在擴充套件ACL規則最後加上LOG命令。
實現方法:
log 192.168.1.1 //為路由器指定一個日誌伺服器地址,該地址為192.168.1.1
access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www log //在希望監測的擴充套件ACL最後加上LOG命令,這樣就會把滿足該條件的資訊儲存到指定的日誌伺服器192.168.1.1中。
小提示:如果在擴充套件ACL最後加上log-input,則不僅會儲存流量資訊,還會將資料包通過的埠資訊也進行儲存。使用LOG記錄了滿足訪問控制列表規則的資料流量就可以完整的查詢公司網路哪個地方流量大,哪個地方有病毒了。簡單的一句命令就完成了很多專業工具才能完成的工作。
不管是標準訪問控制列表還是擴充套件訪問控制列表都有一個弊端,那就是當設定好ACL的規則後發現其中的某條有問題,希望進行修改或刪除的話只能將全部ACL資訊都刪除。也就是說修改一條或刪除一條都會影響到整個ACL列表。這一個缺點影響了我們的工作,為我們帶來了繁重的負擔。不過我們可以用基於名稱的訪問控制列表來解決這個問題。
命名訪問控制列表格式:
ip access-list {standard/extended} access-list-name(可有字母,數字組合的字串)
例如:ip access-list standard softer //建立一個名為softer的標準訪問控制列表。
命名訪問控制列表使用方法:
router(config)#ip access-list standard +自定義名
router(config-std-nac1)#11 permit host +ip //預設情況下第一條為10,第二條為20.如果不指定序列號,則新新增的ACL被新增到列表的末尾
router(config-std-nac1)#deny any
對於命名ACL來說,可以向之前的acl中插入acl,刪除也可以刪除單條acl,
如:router(config)#ip access-list standard benet
router(config-std-nasl)#no 11
使用show access-lists可檢視配置的acl資訊
總結:如果設定ACL的規則比較多的話,應該使用基於名稱的訪問控制列表進行管理,這樣可以減輕很多後期維護的工作,方便我們隨時進行調整ACL規則。
四、反向訪問控制列表
反向訪問控制列表屬於ACL的一種高階應用。他可以有效的防範病毒。通過配置反向ACL可以保證AB兩個網段的計算機互相PING,A可以PING通B而B不能PING通A。
說得通俗些的話就是傳輸資料可以分為兩個過程,首先是源主機向目的主機發送連線請求和資料,然後是目的主機在雙方建立好連線後傳送資料給源主機。反向ACL控制的就是上面提到的連線請求。
反向訪問控制列表的格式:
反向訪問控制列表格式非常簡單,只要在配置好的擴充套件訪問列表最後加上established即可。
反向訪問控制列表配置例項:
路由器連線了二個網段,分別為172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24網段中的計算機都是伺服器,我們通過反向ACL設定保護這些伺服器免受來自172.16.3.0這個網段的病毒攻擊。
要求:禁止病毒從172.16.3.0/24這個網段傳播到172.16.4.0/24這個伺服器網段。
路由器配置命令:
access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.0 0.0.0.255 established //定義ACL101,容許所有來自172.16.3.0網段的計算機訪問172.16.4.0網段中的計算機,前提是TCP連線已經建立了的。當TCP連線沒有建立的話是不容許172.16.3.0訪問172.16.4.0的。
進入路由相應埠
ip access-group 101 out //將ACL101應用到埠
設定完畢後病毒就不會輕易的從172.16.3.0傳播到172.16.4.0的伺服器區了。因為病毒要想傳播都是主動進行TCP連線的,由於路由器上採用反向ACL禁止了172.16.3.0網段的TCP主動連線,因此病毒無法順利傳播。
小提示:檢驗反向ACL是否順利配置的一個簡單方法就是拿172.16.4.0裡的一臺伺服器PING在172.16.3.0中的計算機,如果可以PING通的話再用172.16.3.0那臺計算機PING172.16.4.0的伺服器,PING不通則說明ACL配置成功。
通過上文配置的反向ACL會出現一個問題,那就是172.16.3.0的計算機不能訪問伺服器的服務了,假如圖中172.16.4.13提供了WWW服務的話也不能正常訪問。解決的方法是在ESTABLISHED那句前頭再新增一個擴充套件ACL規則,例如:access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.13 0.0.0.0 eq www
這樣根據“最靠近受控物件原則”即在檢查ACL規則時是採用自上而下在ACL中一條條檢測的,只要發現符合條件了就立刻轉發,而不繼續檢測下面的ACL語句。172.16.3.0的計算機就可以正常訪問該伺服器的WWW服務了,而下面的ESTABLISHED防病毒命令還可以正常生效。
五、定時訪問控制列表
設定步驟:
1、定義時間段及時間範圍。
2、ACL自身的配置,即將詳細的規則新增到ACL中。
3、宣告ACL,將設定好的ACL新增到相應的埠中。
定義時間範圍的名稱:
router(config)#time-range time-range-name
定義一個時間週期
router(config-time-range)#periodic(週期) days-of-the-week hh:mm to [days-of-the-week] hh:mm
其中days-of-the-week的取值有
Monday Tuesday Wednesday Thursday Friday Saturday Sunday{週一到週日}
daily(每天)weekdays(在平日)weekend(週末)
定義一個絕對時間
router(config)#time-range time-range-name
router(config-time-range)#absolute [start hh:mm day month year] [end hh:mm day month year]
在擴充套件ACL中引入時間範圍
router(config)#access-list access-list-number {permit|deny} protocol {source ip +反碼 destination ip +反碼 +operator+time-range+time-range-name}
定時訪問控制列表例項:
路由器連線了二個網段,分別為172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24網段中有一臺伺服器提供FTP服務,IP地址為172.16.4.13。
要求:只容許172.16.3.0網段的使用者在週末訪問172.16.4.13上的FTP資源,工作時間不能下載該FTP資源。
路由器配置命令:
time-range softer //定義時間段名稱為softer
periodic weekend 00:00 to 23:59 //定義具體時間範圍,為每週週末(6,日)的0點到23點59分。當然可以使用periodic weekdays定義工作日或跟星期幾定義具體的周幾。
access-list 101 deny tcp any 172.16.4.13 0.0.0.0 eq ftp time-range softer //設定ACL,禁止在時間段softer範圍內訪問172.16.4.13的FTP服務。
access-list 101 permit ip any any //設定ACL,容許其他時間段和其他條件下的正常訪問。
進入相應埠。
ip access-group 101 out //應用到埠
基於時間的ACL比較適合於時間段的管理,通過上面的設定172.16.3.0的使用者就只能在週末訪問伺服器提供的FTP資源了,平時無法訪問。
六、訪問控制列表流量記錄
網路管理員就是要能夠合理的管理公司的網路,俗話說知己知彼方能百戰百勝,所以有效的記錄ACL流量資訊可以第一時間的瞭解網路流量和病毒的傳播方式。下面這篇文章就為大家簡單介紹下如何儲存訪問控制列表的流量資訊,方法就是在擴充套件ACL規則最後加上LOG命令。
實現方法:
log 192.168.1.1 //為路由器指定一個日誌伺服器地址,該地址為192.168.1.1
access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www log //在希望監測的擴充套件ACL最後加上LOG命令,這樣就會把滿足該條件的資訊儲存到指定的日誌伺服器192.168.1.1中。
小提示:如果在擴充套件ACL最後加上log-input,則不僅會儲存流量資訊,還會將資料包通過的埠資訊也進行儲存。使用LOG記錄了滿足訪問控制列表規則的資料流量就可以完整的查詢公司網路哪個地方流量大,哪個地方有病毒了。簡單的一句命令就完成了很多專業工具才能完成的工作。