المقدمة
يصف هذا المستند إجراء تكوين ZBFW باستخدام تطابق نمط قائمة التحكم في الوصول (ACL) إلى FQDN في الوضع الذاتي على النظام الأساسي C8300.
المتطلبات الأساسية
المتطلبات
cisco يوصي أن يتلقى أنت معرفة من هذا موضوع:
- جدار حماية السياسات المستند إلى المناطق (ZBFW)
- التوجيه وإعادة التوجيه الظاهري (VRF)
- ترجمة عنوان الشبكة (NAT)
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
جدار الحماية القائم على المنطقة (ZBFW) هو طريقة متقدمة لتكوين جدار الحماية على أجهزة Cisco IOS® و Cisco IOS XE التي تسمح بإنشاء مناطق أمان داخل الشبكة.
يسمح ZBFW للمسؤولين بتجميع الواجهات في المناطق وتطبيق سياسات جدار الحماية على حركة المرور بين هذه المناطق.
تسمح قوائم التحكم في الوصول إلى FQDN (قوائم التحكم في الوصول إلى اسم المجال المؤهلة بالكامل)، المستخدمة مع ZBFW في موجهات Cisco، للمسؤولين بإنشاء قواعد جدار الحماية التي تطابق حركة المرور استنادا إلى أسماء المجالات بدلا من عناوين IP فقط.
تكون هذه الميزة مفيدة بشكل خاص عند التعامل مع الخدمات المستضافة على الأنظمة الأساسية مثل AWS أو Azure، حيث يمكن أن يتغير عنوان IP المرتبط بخدمة بشكل متكرر.
فهو يعمل على تبسيط إدارة سياسات التحكم في الوصول وتحسين مرونة تكوينات الأمان داخل الشبكة.
التكوين
الرسم التخطيطي للشبكة
يقدم هذا وثيقة التشكيل والتحقق ل ZBFW قاعدة على هذا رسم بياني. هذه بيئة محاكاة باستخدام BlackJumboDog كخادم DNS.
الرسم التخطيطي للشبكة
التكوينات
هذا هو التكوين الذي يسمح بالاتصال من العميل إلى خادم الويب.
خطوة 1. (إختياري) شكلت VRF
تتيح لك ميزة "التوجيه وإعادة التوجيه الظاهري" (VRF) إمكانية إنشاء العديد من جداول التوجيه المستقلة وإدارتها داخل موجه واحد. في هذا المثال، نقوم بإنشاء تردد VRF يسمى WebVRF ونقوم بتنفيذ التوجيه للاتصالات ذات الصلة.
vrf definition WebVRF
rd 65010:10
!
address-family ipv4
route-target export 65010:10
route-target import 65010:10
exit-address-family
!
address-family ipv6
route-target export 65010:10
route-target import 65010:10
exit-address-family
ip route vrf WebVRF 8.8.8.8 255.255.255.255 GigabitEthernet0/0/3 192.168.99.10
ip route vrf WebVRF 192.168.10.0 255.255.255.0 Port-channel1.2001 192.168.1.253
ip route vrf WebVRF 192.168.20.0 255.255.255.0 GigabitEthernet0/0/3 192.168.99.10
الخطوة 2. تكوين الواجهة
قم بتكوين المعلومات الأساسية مثل عضو المنطقة و VRF و NAT وعناوين IP للواجهات الداخلية والخارجية.
interface GigabitEthernet0/0/1
no ip address
negotiation auto
lacp rate fast
channel-group 1 mode active
interface GigabitEthernet0/0/2
no ip address
negotiation auto
lacp rate fast
channel-group 1 mode active
interface Port-channel1
no ip address
no negotiation auto
interface Port-channel1.2001
encapsulation dot1Q 2001
vrf forwarding WebVRF
ip address 192.168.1.1 255.255.255.0
ip broadcast-address 192.168.1.255
no ip redirects
no ip proxy-arp
ip nat inside
zone-member security zone_client
interface GigabitEthernet0/0/3
vrf forwarding WebVRF
ip address 192.168.99.1 255.255.255.0
ip nat outside
zone-member security zone_internet
speed 1000
no negotiation auto
خطوة 3. (إختياري) شكلت NAT
شكلت NAT للداخل و الخارج قارن. في هذا المثال، تتم ترجمة عنوان IP المصدر من العميل (192.168.10.1) إلى 192.168.99.100.
ip access-list standard nat_source
10 permit 192.168.10.0 0.0.0.255
ip nat pool natpool 192.168.99.100 192.168.99.100 prefix-length 24
ip nat inside source list nat_source pool natpool vrf WebVRF overload
الخطوة 4. تكوين قائمة التحكم في الوصول (ACL) إلى FQDN
قم بتكوين قائمة التحكم في الوصول (ACL) إلى FQDN لمطابقة حركة المرور الهدف. في هذا المثال، أستخدم حرف البدل '*' في تطابق النمط لمجموعة كائنات FQDN لمطابقة FQDN للوجهة.
object-group network src_net
192.168.10.0 255.255.255.0
object-group fqdn dst_test_fqdn
pattern .*\.test\.com
object-group network dst_dns
host 8.8.8.8
ip access-list extended Client-WebServer
1 permit ip object-group src_net object-group dst_dns
5 permit ip object-group src_net fqdn-group dst_test_fqdn
الخطوة 5. تكوين ZBFW
تكوين المنطقة، خريطة الفئة، خريطة السياسة ل ZBFW. في هذا المثال، باستخدام خريطة المعلمة، يتم إنشاء السجلات عندما يتم السماح بحركة المرور بواسطة ZBFW.
zone security zone_client
zone security zone_internet
parameter-map type inspect inspect_log
audit-trail on
class-map type inspect match-any Client-WebServer-Class
match access-group name Client-WebServer
policy-map type inspect Client-WebServer-Policy
class type inspect Client-WebServer-Class
inspect inspect_log
class class-default
drop log
zone-pair security Client-WebServer-Pair source zone_client destination zone_internet
service-policy type inspect Client-WebServer-Policy
التحقق من الصحة
الخطوة 1. بدء اتصال HTTP من العميل
تحقق من نجاح اتصال HTTP من العميل إلى خادم ويب.
اتصال HTTP
الخطوة 2. تأكيد ذاكرة التخزين المؤقت ل IP
قم بتشغيل show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all الأمر لتأكيد إنشاء ذاكرة التخزين المؤقت ل IP الخاصة ب FQDN الهدف في C8300-2N2S-6T.
02A7382#show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all
IP Address Client(s) Expire RegexId Dirty VRF ID Match
------------------------------------------------------------------------------------------------------
192.168.20.1 0x1 117 0xdbccd400 0x00 0x0 .*\.test\.com
الخطوة 3. تأكيد سجل ZBFW
تأكد من أن عنوان IP (192.168.20.1) مطابق ل FQDN (.*\.test\.com)، وتحقق من أن اتصال HTTP في الخطوة 1 مسموح به من قبل ZBFW.
*Mar 7 11:08:23.018: %IOSXE-6-PLATFORM: R0/0: cpp_cp: QFP:0.0 Thread:003 TS:00000551336606461468 %FW-6-SESS_AUDIT_TRAIL_START: (target:class)-(Client-WebServer-Pair:Client-WebServer-Class):Start http session: initiator (192.168.10.1:51468) -- responder (192.168.20.1(.*\.test\.com):80) from Port-channel1.2001
*Mar 7 11:08:24.566: %IOSXE-6-PLATFORM: R0/0: cpp_cp: QFP:0.0 Thread:002 TS:00000551338150591101 %FW-6-SESS_AUDIT_TRAIL: (target:class)-(Client-WebServer-Pair:Client-WebServer-Class):Stop http session: initiator (192.168.10.1:51468) sent 943 bytes -- responder (192.168.20.1:80) sent 101288 bytes, from Port-channel1.2001
الخطوة 4. تأكيد التقاط الحزمة
تأكد من نجاح تحليل DNS ل FQDN الهدف واتصال HTTP بين العميل وخادم ويب.
التقاط الحزمة في الداخل :
حزم DNS في الداخل
حزم HTTP في الداخل
التقاط الحزمة في الجانب الآخر (192.168.10.1 هو NAT إلى 192.168.19.100) :
حزم DNS في الخارج
حزم HTTP في الخارج
استكشاف الأخطاء وإصلاحها
لاستكشاف أخطاء الاتصالات المتعلقة ب ZBFW وإصلاحها باستخدام تطابق نمط قائمة التحكم في الوصول (ACL) إلى FQDN، يمكنك تجميع السجلات أثناء المشكلة وإمدادها إلى Cisco TAC. يرجى ملاحظة أن السجلات الخاصة باستكشاف الأخطاء وإصلاحها تعتمد على طبيعة المشكلة.
مثال على السجلات المطلوب تجميعها :
!!!! before reproduction
!! Confirm the IP cache
show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all
!! Enable packet-trace
debug platform packet-trace packet 8192 fia-trace
debug platform packet-trace copy packet both
debug platform condition ipv4 access-list Client-WebServer both
debug platform condition feature fw dataplane submode all level verbose
!! Enable debug-level system logs and ZBFW debug logs
debug platform packet-trace drop
debug acl cca event
debug acl cca error
debug ip domain detail
!! Start to debug
debug platform condition start
!! Enable packet capture on the target interface (both sides) and start the capture
monitor capture CAPIN interface Port-channel1.2001 both
monitor capture CAPIN match ipv4 any any
monitor capture CAPIN buffer size 32
monitor capture CAPIN start
monitor capture CAPOUT interface g0/0/3 both
monitor capture CAPOUT match ipv4 any any
monitor capture CAPOUT buffer size 32
monitor capture CAPOUT start
!! (Optional) Clear the DNS cache on the client
ipconfig/flushdns
ipconfig /displaydns
!! Run the show command before reproduction
show platform hardware qfp active feature firewall drop all
show policy-map type inspect zone-pair Client-WebServer-Pair sessions
show platform packet-trace statistics
show platform packet-trace summary
show logging process cpp_cp internal start last boot
show platform hardware qfp active feature dns-snoop-agent client hw-pattern-list
show platform hardware qfp active feature dns-snoop-agent client info
show platform hardware qfp active feature dns-snoop-agent datapath stats
show ip dns-snoop all
show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all
show platform software access-list F0 summary
!!!! Reproduce the issue - start
!! During the reproductionof the issue, run show commands at every 10 seconds
!! Skip show ip dns-snoop all command if it is not supported on the specific router
show ip dns-snoop all
show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all
!!!! After reproduction
!! Stop the debugging logs and packet capture
debug platform condition stop
monitor capture CAPIN stop
monitor capture CAPOUT stop
!! Run the show commands
show platform hardware qfp active feature firewall drop all
show policy-map type inspect zone-pair Client-WebServer-Pair sessions
show platform packet-trace statistics
show platform packet-trace summary
show logging process cpp_cp internal start last boot
show platform hardware qfp active feature dns-snoop-agent client hw-pattern-list
show platform hardware qfp active feature dns-snoop-agent client info
show platform hardware qfp active feature dns-snoop-agent datapath stats
show ip dns-snoop all
show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all
show platform software access-list F0 summary
show platform packet-trace packet all decode
show running-config
الأسئلة المتكررة
س: كيف يتم تحديد قيمة المهلة لذاكرة التخزين المؤقت ل IP على الموجه ؟
A: يتم تحديد قيمة المهلة لذاكرة التخزين المؤقت ل IP بواسطة قيمة TTL (من الوقت إلى الحياة) لحزمة DNS التي تم إرجاعها من خادم DNS. في هذا مثال، هو 120 ثانية. عند خروج ذاكرة التخزين المؤقت ل IP، تتم إزالتها تلقائيا من الموجه. هذه هي تفاصيل التقاط الحزمة.
تفاصيل حزمة دقة DNS
س: هل هو مقبول عندما يقوم خادم DNS بإرجاع سجل CNAME بدلا من سجل ؟
نعم، إنها ليست مشكلة. تتم متابعة تحليل DNS واتصال HTTP بدون أي مشاكل عند إرجاع سجل CNAME بواسطة خادم DNS. هذه هي تفاصيل التقاط الحزمة.
حزم DNS في الداخل
تفاصيل حزمة دقة DNS
حزم HTTP في الداخل
س: ما هو الأمر لنقل مجموعات الحزم التي يتم تجميعها على موجه C8300 إلى خادم FTP ؟
a: إستخدام monitor capture <capture name> export bootflash:<capture name>.pcap copy bootflash:<capture name>.pcap ftp://<user>:<password>@<FTP IP Address> الأوامر لنقل لقطات الحزم إلى خادم FTP. هذا مثال لنقل CAPIN إلى خادم FTP.
monitor capture CAPIN export bootflash:CAPIN.pcap
copy bootflash:CAPIN.pcap ftp://<user>:<password>@<FTP IP Address>
المرجع
فهم تصميم جدار الحماية القائم على المناطق