1. Mục đích của bài viết Giúp người đọc hiểu được chức năng của port security trên Switch Cisco Catalyst 2. Sơ đồ thực hành (lab) Yêu cầu : Bạn cần có 1 Catalyst Switch C1000, C9200, C9300 (hoặc các dòng cũ hơn 2960, 3650),..và 2 host Sơ đồ: 3. Cấu hình port security Bước 1: Vào cổng interface cần cấu hình Switch>enable Switch#conf terminal Switch(config)#interface f0/1 Bước 2: Đưa port vào chế độ access, đây là chế độ bắt buộc cho port khi cấu hình port security Switch(config-if)#switchport mode access Bước 3: Khởi động port security Switch(config-if)#switchport port-security Bước 4: Chỉ định số lần địa chỉ MAC được thay đổi. Switch(config-if)#switchport port-security maximum maximum Đây là thông số chỉ định số lần tối đa mà port vẫn còn chấp nhận sự thay đổi địa chỉ MAC. “Thay đổi địa chỉ MAC” có nghĩa là bạn đã thay đổi một host khác trong kết nối với Switch. Gọi số lần được phép thay đổi này là k, gọi số lần bạn đã thay đổi địa chỉ MAC là n. Port sẽ vẫn cho phép hoạt động nếu như n≤k và một điều quan trọng nữa là phải kết nối địa chỉ MAC ban đầu vào lại port. Số lần được thay đổi tối thiểu là 1 và tối đa là 1024, và mặc định là 1. Ví dụ nếu chỉ định số lần là 3: Switch(config-if)#switchport port-security maximum 3 Bạn được phép thay đổi địa chỉ MAC tối đa là 3 lần. Cần chú ý là mặc dù cho phép thay đổi nhưng không có nghĩa là port vẫn hoạt động bình thường khi địa chỉ MAC bị sai. Khi địa chỉ MAC không đúng port sẽ chuyển sang trạng thái lỗi. Tuy nhiên nếu bạn kết nối địa chỉ MAC ban đầu vào lại trong lúc này thi port sẽ hoạt động bình thường trở lại. Trở lại với bài cấu hình, ta sẽ cấu hình số lần được phép thay đổi là 1, đây là thông số mặc định và do đó không cần phải cấu hình lệnh này cho switch. Bước 5: Chỉ định địa chỉ MAC cần được bảo mật trên interface. Với động tác này khi host có địa chỉ MAC tương ứng sẽ được hoạt động bình thường khi kết nối vào switch trên interface này. Nếu địa chỉ MAC của host khác với địa chỉ được chỉ định trên interface thì port sẽ vào trạng thái lỗi và hiển nhiên là sẽ không có sự chuyển tiếp gói tin trên port này. Switch(config-if)#switchport port-security mac-address mac-address Chú ý : Định dạng về địa chỉ MAC trong câu lệnh trên là: AAAA.BBBB.CCCC Địa chỉ này phải giống với địa chỉ của host cần được bảo mật. Đối với host là PC, để tìm địa chỉ MAC này làm như sau: - Mở DOS command bằng cách vào StartRun rồi gõ lệnh cmd - Trong giao diện DOS này gõ lệnh C:>ipconfig /all. Màn hình sẽ hiện ra các thông số về địa chỉ MAC của card mạng. Đối với host là Router, để tìm địa chỉ MAC: - Kết nối cổng console máy tính với router - Dùng lênh show version để tìm địa chỉ MAC Cấu hình cho Switch Cisco: Switch(config-if)#switchport port-security mac-address 00e0.4d01.2978 Bước 6: Chỉ định trạng thái của port sẽ thay đổi khi địa chỉ MAC kết nối bị sai: Cấu trúc lệnh : Switch(config-if)#switchport port-security violation [shutdown | restrict | protect] - shutdown: port sẽ được đưa vào trạng thái lỗi và bị shutdown - restrict: port sẽ vẫn ở trạng thái up mặc dù địa chỉ MAC kết nối bị sai. Tuy nhiên các gói tin đến port này đều bị hủy, và sẽ có một bản thông báo về số lượng gói tin bị hủy. - protect: port vẫn up như restrict, các gói tin đến port bị hủy và không có thông báo về việc hủy bỏ gói tin này Trong bài lab này sẽ chỉ định trạng thái port là shut down. Switch(config-if)#switchport port-security violation shutdown Đến đây bạn đã hoàn tất phần cấu hình port security trên Switch. Bước tiếp theo sẽ là thử nghiệm. 4. Kiểm tra Bước 1: Cấu hình lệnh debug để quan sát sự thay đổi: Switch#debug port-security Bước 2: Sử dụng một host khác để thay thể cho host ban đầu. Kiểm tra địa chỉ MAC của host mới Host mới có địa chỉ MAC là 0006.7b08.cab5 Bước 3: Tiến hành rút cáp ra khỏi host và cắm vào host đã chuẩn bị ở bước 3. Quan sát: + Đèn trên port f0/1 sẽ bị tắt + Thông báo trên giao diện 00:22:24: %PM-4-ERR_DISABLE: psecure-violation error detected on Fa0/1, putting Fa0/1 in err-disable state 00:22:24: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address 0006.7b08.cab5 on port FastEthernet0/1. 00:22:25: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down 00:22:26: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to down Bước 4: Dùng lệnh show để xem trạng thái của port f0/1 Switch#show interface f0/1 FastEthernet0/1 is down, line protocol is down (err-disabled) Hardware is Fast Ethernet, address is 000f.239d.c641 (bia 000f.239d.c641) MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 10Mb/s Lúc này mọi nỗ lực để tiến hành gửi thông tin trên port 1 đều vô ích!!! 5. Khôi phục port về trạng thái bình thường Để khôi phục lại port thì bạn phải can thiệp vào switch. Bước 1: Nối cổng console vào switch Switch>enable Switch#conf terminal Bước 2: Có hai cách để khôi phục port Cách 1: Khôi phục nhân công, bạn sẽ thực hiện trực tiếp quá trình khôi phục này. Switch(config)#interface f0/1 Switch(config-if)#shutdown Switch(config-if)#no shutdown Thông báo trên màn hình khi thực hiện xong lệnh 00:17:58: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down 00:18:00: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up 00:18:01: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up Quá trình trên giống như bạn cho phép port hoạt động lại bình thường, tuy nhiên cần chú ý rằng các cấu hình trước đó cho port này vẫn không thay đổi, kể cả port-security. Cách 2: Khôi phục tự động, thiết lập lệnh để switch tự động dò tìm lỗi và khôi phục. Với cách này giả sử như bạn không hề biết nguyên nhân vì sao port bị down. Bước 2-1: Tiến hành tìm lỗi trên port Cấu trúc lệnh: Switch(config)#errdisable detect cause [all | cause-name ] + all có nghĩa là tìm tất cả các lỗi xảy ra + cause-name : chỉ tìm lỗi có tên là cause-name, gồm có: all Enable error detection on all cases dhcp-rate-limit Enable error detection on dhcp-rate-limit dtp-flap Enable error detection on dtp-flapping (Cấu trúc lệnh - tiếp theo) gbic-invalid Enable error detection on gbic-invalid link-flap Enable error detection on linkstate-flapping loopback Enable error detection on loopback pagp-flap Enable error detection on pagp-flapping Trong bài lab này sẽ cho switch tìm tất cả các lỗi: Switch(config)#errdisable detect cause all Bước 2-2: Cho Switch Cisco khôi phục trạng thái Switch(config)#errdisable recorvery cause all Bước 2-3: Cài đặt thông số thời gian cho quá trình khôi phục. Mặc định port sẽ được khôi phục sau 300 giây khi bạn đã thực hiện lệnh ở bước 2-2. Tuy nhiên bạn có thể can thiệp vào thông số thời gian này bằng cách dùng lệnh: Switch(config-if)#errdisable recorvery second Thông số thời gian second có đơn vị là giây bạn cần phải chú ý điều này để tránh nhầm lẫn. Bây giờ bạn cài đặt thông số thời gian khôi phục cho switch cisco là 30 giây Switch(config-if)#errdisable recorvery 30 Switch(config-if)#^Z Bước 2-4: Quan sát + Quan sát đèn trên port f0/1 của switch : sau 30 giây sẽ sáng lại + Quan sát trên giao diện: - Quan sát thông số thời gian do lệnh debug tạo ra. 00:55:54: %PM-4-ERR_RECOVER: Attempting to recover from psecure-violation err-disable state on Fa0/1 00:55:55: PSECURE: psecure_linkchange: Fa0/1 hwidb=0x807D6C98 00:55:55: PSECURE: Link is coming up 00:55:55: PSECURE: psecure_linkup_init_internal: Fa0/1 hwidb = 0x807D6C98 00:55:55: PSECURE: No change in violation_mode 00:55:55: PSECURE: psecure_vlan_linkchange invoked: Vlan 1 00:55:55: PSECURE: Activating port-security feature 00:55:55: PSECURE: port_activate: status is 1 00:55:55: PSECURE: PSECURE: Deleting all dynamic addresses from h/w tables. 00:55:55: PSECURE: psecure_platform_delete_all_addrs: deleting all addresses on vlan 1 00:55:55: PSECURE: psecure_delete_address_not_ok address <1,00e0.4d01.2978> allowed 00:55:55: PSECURE: skipping Fa0/1 while searching <1,00e0.4d01.2978> 00:55:55: PSECURE: Adding entry to HA table from port-security sub block 00:55:55: PSECURE: psecure_platform_add_mac_addrs: Do nothing, called to add <1,00e0.4d01.2978> to FastEthernet0/1 00:55:57: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up 00:55:58: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up - Dùng lệnh : Switch#show interface f0/1 FastEthernet0/1 is up, line protocol is up (connected) Hardware is Fast Ethernet, address is 000f.239d.c641 (bia 000f.239d.c641) MTU 1500 bytes, BW 100000 Kbit, DLY 1000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) 6. Kết luận Đến đây bạn đã có một khái niệm cơ bản và thao tác cấu hình tương đối về port security trên Switch Cisco. Bạn có thể thay đổi các thông số trong các câu lệnh để tìm hiểu rõ các đặc tính của chúng Chúc các bạn thực hiện thành công!
Các phương pháp cấu hình bảo mật cổng (Port Security) trên Switch Cisco Một trong những phương pháp hay nhất trong bảo mật mạng là thử và ngăn chặn các mối đe dọa bảo mật từ điểm vào của mạng LAN. Điều này có nghĩa là Switch có thể đóng một vai trò quan trọng trong an ninh mạng vì nó là điểm vào của mạng. Ví dụ, bảo mật cổng trên thiết bị chuyển mạch Switch có thể được sử dụng để ngăn chặn các cuộc tấn công làm ngập MAC hoặc ngăn các máy chủ không được ủy quyền kết nối với thiết bị chuyển mạch. Trong MAC-Flooding, kẻ tấn công có thể kết nối máy tính xách tay với một cổng Switch trống hoặc ổ cắm tường RJ45 trống, và anh ta có thể sử dụng các công cụ hack để tạo ra hàng triệu khung Ethernet với địa chỉ MAC nguồn giả và gửi chúng đến giao diện switch. Bộ chuyển mạch sẽ học các địa chỉ MAC này và khi bộ chuyển mạch đạt đến giới hạn học địa chỉ MAC, nó sẽ bắt đầu làm ngập tất cả lưu lượng truy cập đến tất cả các cổng của nó (tức là nó sẽ bắt đầu hoạt động như một trung tâm). Điều này có nghĩa là kẻ tấn công có thể nắm bắt được lưu lượng truy cập từ các thiết bị được kết nối. Giải pháp cho loại tấn công này (và cả các cuộc tấn công Lớp 2 khác) rất dễ dàng và đơn giản. Nó được gọi là Bảo mật cổng và bạn có thể sử dụng nó để giới hạn số lượng địa chỉ MAC trên mỗi giao diện hoặc thậm chí để chỉ định địa chỉ MAC nào có thể kết nối với mỗi cổng vật lý của bộ chuyển mạch. I. Cấu hình bảo mật cổng Bây giờ chúng ta hãy xem cấu hình bảo mật cổng cơ bản trên thiết bị chuyển mạch Switch Cisco 1. Đặt giới hạn địa chỉ MAC cho mỗi cổng Dưới đây là một ví dụ về Bảo mật cổng trong đó chỉ cho phép một địa chỉ MAC trên giao diện g0 / 1. Switch-TGM(config)#int g0/1 Switch-TGM(config-if)#switchport mode access Switch-TGM(config-if)#switchport port-security Switch-TGM(config-if)#switchport port-security maximum 1 Bây giờ, giao diện g0 / 1 chỉ được phép học một địa chỉ MAC. Nếu giao diện này nhận thêm bất kỳ địa chỉ MAC nào, nó sẽ chuyển sang trạng thái bị tắt. 2. Đặt tính năng lọc địa chỉ MAC trên mỗi cổng Bên cạnh việc đặt giới hạn tối đa về số lượng địa chỉ MAC, bạn cũng có thể sử dụng bảo mật cổng để lọc địa chỉ MAC. Trong ví dụ sau, tôi đã định cấu hình bảo mật cổng để nó chỉ cho phép địa chỉ MAC f1d3.2c9f.abdc.ccba kết nối với cổng cụ thể của bộ chuyển mạch. Switch-TGM(config)#int g0/1 Switch-TGM(config-if)#switchport mode access Switch-TGM(config-if)#switchport port-security Switch-TGM(config-if)#switchport port-security mac-address f1d3.2c9f.abdc.ccba Bất kỳ thiết bị nào có địa chỉ MAC khác với địa chỉ này sẽ vi phạm quy tắc và giao diện sẽ chuyển sang trạng thái bị tắt. Bạn sẽ thấy thông báo bên dưới nếu có bất kỳ vi phạm nào. %PM-4-ERR_DISABLE: psecure-violation error detected on Gi0/1, putting Gi0/1 in err-disable state %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address f02d.3f4e.2dcc on port GigabitEthernet0/1. Như bạn có thể thấy từ thông báo nhật ký ở trên, thiết bị có địa chỉ MAC f02d.3f4e.2dcc đã vi phạm bảo mật cổng và giao diện ở trạng thái bị vô hiệu hóa. 3. Đặt tính năng lọc địa chỉ MAC bằng lệnh sticky Có một cách rất hữu ích khác để lọc địa chỉ MAC. Thay vì nhập địa chỉ MAC theo cách thủ công, bạn có thể sử dụng lệnh "sticky". Với lệnh này, switch cisco sẽ tìm hiểu địa chỉ MAC đầu tiên được kết nối với giao diện và lưu nó để bảo mật cổng. Trước tiên, bạn phải xóa lệnh hiện có (nếu bạn đã định cấu hình lọc MAC thủ công): Switch-TGM(config-if)#no switchport port-security mac-address f1d3.2c9f.abdc.ccba Switch-TGM(config-if)#switchport port-security mac-address sticky Để xem địa chỉ MAC nào được học / “sticky” trên giao diện, hãy gõ lệnh “show run interface” Switch-TGM#sh run int g0/1 Building configuration. . . Current configuration : 544 bytes ! interface GigabitEthernet0/1 switchport mode access switchport port-security switchport port-security aging time 15 switchport port-security mac-address sticky switchport port-security mac-address sticky f02d.3f4e.2dcc Như bạn có thể thấy ở trên, switch đã học địa chỉ MAC f02d.3f4e.2dcc và từ giờ trở đi chỉ địa chỉ này mới được phép kết nối với cổng này. II. Lệnh xác minh Bạn có thể thấy các cổng Switch đã chuyển sang trạng thái bị lỗi (do vi phạm bảo mật) bằng lệnh sau: Switch-TGM#show int status err-disabled Port Name Status Reason Err-disabled Vlans Gi0/1 err-disabled psecure-violation Bạn cũng có thể xác minh điều này với hiển thị “show interface g0/1” Switch-TGM#sh int g0/1 GigabitEthernet0/1 is down, line protocol is down (err-disabled) Để đưa giao diện này ra khỏi trạng thái bị vô hiệu hóa, bạn phải chạy lệnh “shutdown” sau đó là “no shutdown”. Switch-TGM(config)#int g0/1 Switch-TGM(config-if)#shut Switch-TGM(config-if)#no shut Để xác minh, hãy chạy các lệnh “show interface status err-disabled” hoặc “show interface g0/1” III. Khôi phục lỗi bị vô hiệu hóa Bạn cũng có thể đặt khôi phục tự động trên cổng Switch bằng các lệnh sau: Switch-TGM(config)#errdisable recovery cause psecure-violation Switch-TGM(config)#interface g0/1 Switch-TGM(config-if)#switchport port-security aging time 15 Sau 15 phút, giao diện g0 / 1 sẽ tự động khôi phục từ trạng thái vô hiệu hóa. Hãy chắc chắn rằng trong 15 phút này, bạn giải quyết được vấn đề vì nếu không nó sẽ có một vi phạm khác và giao diện sẽ lại ở trạng thái vô hiệu hóa lần nữa. Và đừng quên bật khôi phục tự động ở chế độ cấu hình chung với lệnh "errdisable recovery cause psecure-violation ". IV. Các lệnh bảo mật khác Switch-TGM(config-if)#switchport port-security violation ? protect [Security violation protect mode] restrict [Security violation restrict mode] shutdown [Security violation shutdown mode] Có ba hành động cho mỗi cổng để thực hiện khi có vi phạm trên giao diện. Các tùy chọn này là “Shutdown” (mặc định), “Protect” và “Restrict”. Protect: Từ các địa chỉ MAC bị hạn chế, các khung sẽ bị xóa nhưng sẽ không có bất kỳ thông tin ghi nhật ký nào. Restrict: Từ các địa chỉ MAC bị hạn chế, các khung sẽ bị xóa nhưng bạn sẽ thấy thông tin ghi nhật ký và SNMP sẽ được gửi. Shutdown: Đây là hành động mặc định của giao diện. Nếu một giao diện nhận được các khung từ một địa chỉ MAC bị hạn chế, giao diện đó sẽ chuyển sang trạng thái vô hiệu hóa và thực tế sẽ bị tắt. Sẽ có ghi nhật ký và SNMP sẽ được gửi. Để khôi phục, bạn phải bật giao diện theo cách thủ công hoặc đặt khôi phục tự động. Đến đây chắc các bạn đã hiểu cách thực hiện công tác bảo mật trên cổng Switch Cisco Chúc các bạn thực hiện thành công.