Khi các mạng LAN được triển khai rộng rãi và chúng ta cũng biết nhiều về lợi ích của nó, xong đi kèm với nó là việc bảo mật cũng rất khó khăn. Bài viết này chúng tôi chỉ chỉ đề cập và thảo luận một số kỹ thuật cơ bản để bảo mật hệ thống này và một số giải pháp bảo mật hữu Đồ án Tốt Nghiệp Tìm hiểu vấn đề bảo mật mạng LAN
Trang 1Giới thiệu
Khi các mạng LAN được triển khai rộng rãi và chúng ta cũng biết nhiều vềlợi ích của nó, xong đi kèm với nó là việc bảo mật cũng rất khó khăn Bài viết nàychúng tôi chỉ chỉ đề cập và thảo luận một số kỹ thuật cơ bản để bảo mật hệ thốngnày và một số giải pháp bảo mật hữu
Tại sao bảo mật lại rất quan trọng
Tại sao chúng ta lại phải quan tâm đến vấn đề bảo mật của mạng LAN? Đểkết nối tới một mạng LAN hữu tuyến bạn cần phải truy cập theo đường truyền bằngdây cáp, phải kết nối một PC vào một cổng mạng Điều khiển cho mạng hữu tuyến
là đơn giản: đường truyền bằng cáp thông thường được đi trong các tòa nhà caotầng và các port không sử dụng có thể làm cho nó disable bằng các ứng dụng quản
lý Đặc biệt với mạng wireless LAN thì khác bởi vì bạn có thể truy cập từ máy tínhcủa bạn trong vùng bao phủ của mạng không dây Các mạng không dây(hay vôtuyến) sử dụng sóng vô tuyến xuyên qua các toà nhà và như vậy sự bao phủ làkhông giới hạn bên trong một toà nhà Do vậy ai đó có thể truy cập vào mạng nhờmột thiết bị tích hợp Không ai nói trước được hậu quả gì sẽ xảy ra khi có ngườixâm nhập được vào mạng của bạn Điều này làm cho việc bảo mật mạng LAN trởnên cấp thiết hơn bao giờ hết
Tuy bài viết đã được chỉnh sửa nhiều nhưng vẫn không tránh khỏi thiếu sót,chúng em mong thầy giáo góp ý cho chúng em để bài làm sau được tốt hơn
Chúng em chân thành cảm ơn thầy
Hà Nội ngày 19 tháng 12 năm 2008
Trang 2Chương I: Firewall ( Tường Lửa)
I.Tổng quan về Bức tường lửa (Firewall):
Hai kiểu bức tường lửa đang thống lĩnh thị trường hỉện nay: hệ giám quảnứng dụng (application proxies) và cổng lọc gói tin (packet filtering gateway) Tuycác hệ giám quản ứng dụng được xem là an ninh hơn cổng lọc gói tin, song bản chấthạn hẹp và các hạn chế khả năng vận hành của chúng đã giới hạn chúng vào luồnglưu thông đi ra thay vì luồng lưu thông đi vào
Nhiều người tin rằng hiện chưa xuất hiện bức tường lửa hoàn hảo, nhưngtương lai còn đầy sán lạn Một số hãng kinh doanh như Network Associates Inc.(NAI), AXENT, Internet Dynamics, và Microsoft đã phát triển công nghệ cung cấptính năng bảo mật ủy nhiệm với khả năng vận hành của công nghệ lọc gói tin (mộtdạng lai ghép giữa hai công nghệ),song vẫn chưa hoàn thiện
Suốt từ khi bức tường lửa đầu tiên được cài đặt, các bức tường lửa đã bảo vệ
vô số mạng tránh được những cặp mắt tò mò và bọn phá hoại nhưng còn lâu chúngmới trở thành phương thuốc trị bách bệnh bảo mật Các chỗ yếu bảo mật đều đượcphát hiện hàng năm với hầu như mọi kiểu bức tường lửa trên thị trường.Tệ hại hơn,hầu hết các bức tường lửa thường bị cấu hình sai, không bảo trì, và không giám sát,ngưỡng cửa mở toang
II Ðịnh danh các bức tường lửa
Hầu hết mọi bức tường lửa đều mang một "mùi hương" điện tử duy nhất.Nghĩa là, với một tiến trình quét cổng, lập cầu lửa, và nắm giữ biểu ngữ đơn giản,bọn tấn công có thể hiệu quả xác định kiểu, phiên bản, và các quy tắc của hầu hếtmọi bức tường lửa trên mạng Tại sao việc định danh này lại quan trọng? Bởi vì một
Trang 3khi đã ánh xạ được các bức tường lửa, chúng có thể bắt đầu tìm hìểu các điểm yếu
và gắng khai thác chúng
1 Quét trực tiếp : Kỹ thuật Noisy
Cách dễ nhất để tìm kiếm các bức tường lửa đó là quét các cổng ngầm định
cụ thể Một số bức tường lửa trên thị trường sẽ tự định danh duy nhất bằng các đợtquét cổng đơn giản bạn chỉ cần biết nội dung tìm kiếm
Ví dụ, Firewall-1 của Check point lắng chờ trên các cổng TCP 256, 257, 258,
và Proxy Server của Microsoft thường lắng chờ trên các cổng TCP 1080 và 1745.Với sự hiểu biết này, quá trình tìm kiếm các kiểu bức tường lửa này chẳng có gì khóvới một bộ quét cổng như nmap:
Code:
# nmap -n -vv -P0 -p256,1080,1745 192.168.50.1 - 60.254
Dùng khóa chuyển -PO để vô hiệu hóa tính năng ping ICMP trước khi quét.Ðiều này quan trọng bởi hầu hết bức tường lửa không đáp ứng các yêu cầu dộiICMP
Cả attacker nhút nhát lẫn hung bạo đều tiến hành quét rộng rãi mạng của bạn theocách này, tìm kiếm các bức tường lửa này và tìm kiếm mọi khe hở trong két sắtvành đai của bạn Nhưng attacker nguy hiểm hơn sẽ lùng sục vành đai của bạn cànglén lút càng tốt Có nhiều kỹ thuật mà attacker có thể sử dụng để hạ sập radar củabạn, bao gồm ngẫu nhiên hóa các ping, các cổng đích, các địa chỉ đích, và các cổngnguồn;dùng các server cò mồi; và thực hiện các đợt quét nguồn có phân phối Nếu cho rằng hệ thống phát hiện xâm nhập (IDS) của bạn như RealSecure củaInternet Security Systems hoặc SessionWall-3 của Abirnet sẽ phát hiện attackernguy hiểm này, bạn nên suy nghĩ lại
Hầu hết các IDS đều ngầm định cấu hình để chỉ nghe các đợt quét cổng nguđần và ồn ào nhất Trừ phi bạn sử dụng IDS nhanh nhạy và tinh chỉnh các ký danhphát hiện, hầu hết các cuộc tấn công sẽ hoàn toàn làm ngơ Bạn có thể tạo một đợtquét ngẫu nhiên hóa nh vậy bằng cách dùng các ký mã Perl cung cấp trên chuyênkhu web www.osborne.com/hacking
Trang 4a) Các biện pháp phòng chống
Bạn cần phong tỏa các kiểu quét này tại các bộ định tuyến biên hoặc dùngmột kiểu công cụ phát hiện đột nhập nào đó miễn phí hoặc thương mại Mặc dù thế,các đợt quét cổng đơn lẻ sẽ không đợc thu nhặt theo ngầm định trong hầu hết cácIDS do đó bạn phải tinh chỉnh độ nhạy cảm của nó trước khi có thể dựa vào tínhnăng phát hiện
b) Phát Hiện
Ðể chính xác phát hiện các đợt quét cổng bằng tính năng ngẫu nhiên hóa vàcác server cò mồi, bạn cần tinh chỉnh từng lý danh phát hiện quét cổng Tham khảotài liệu hướng dẫn sử dụng của hãng kinh doanh IDS để biết thêm chi tiết Nêu muốn dùng RealSecure 3.0 để phát hiện tiến trình quét trên đây, bạn ắt phảinâng cao độ nhạy cảm của nó theo các đợt quét cổng đơn lẻ bàng cách sửa đổi cáctham số của ký danh quét cổng Bạn nên thay đổi các nội dung dới đây để tạo độnhạy cảm cho quét này:
1 Lựa và tùy biến (Customize) Network Engine Policy
2 Tìm "Port Scan" và lựa tùy chọn Options
3 Thay đổi ports thành 5 cổng
4 Thay đổi Delta thành 60 giây
Nếu đang dùng Firewall-l với UNIX, bạn có thể dùng trình tiện ích củaLance Spitzner để phát hiện các đợt quét cổng Firewall-1www.enteract.com/~lspitz/intrusion.html Ký mã alert.sh của ng sẽ cấu hình Checkpoint để phát hiện và giám sát các đợt quét cổng và chạy một User Defined Alertkhi đợc ứng tác
c) Phòng Chống
Ðể ngăn cản các đợt quét cổng bức tường lửa từ Internet, bạn cần phong tỏacác cổng này trên các bộ định tuyến đứng trước các bức tường lửa Nếu các thiết bịnày do ISP quản lý, bạn cần liên hệ với họ để tiến hành phong tỏa Nếu tự bạn quản
lý chúng, bạn có thể dùng các Cisco ACL dớí đây để phong tỏa rõ rệt các đợt quét
đã nêu trên đây:
Trang 5access - list 101 deny tcp any any eq 256 log ! Block Firewall-l scans access - list
101 deny tcp any any eq 257 log ! Block Firewall-l scans access - list 101 deny tcpany any eq 258 log ! Block Firewall-l scans access - list 101 deny tcp any any eq
1080 log ! Block Socks scans access - list 101 deny tcp any any eq 1745 log ! BlockWinsock scans
Ghi chú : Nếu phong tỏa các cổng của Check Point (256-258) tại các bộ dịnhtuyến biên, bạn sẽ không thể quản lửa bừc từờng lửa từ lnternet Ngoài ra, tất cả các
bộ định tuyến phải có một quy tắc dọn dẹp (nếu không khước từ các gói tìn theo ngầm định), sẽ có cùng hiệu ứng nh khi chỉ định các tác vụ khước từ: access - list 101 deny ip any any log ! Deny and log any packet that got through ourACLs above
2 Rà Tuyến Ðường
Một cách thinh lặng và tinh tế hơn để tìm các bức tường lửa trên một mạng
đó là dùng traceroute Bạn có thể dùng traceroute của UNIX hoặc tracert.exe của
NT để tìm từng chặng dọc trên trên đường truyền đến đích và tiến hành suy diễn.Traceroute của Linux có tùy chọn -I, thực hiện rà đường bằng cách gửi các gói tinICMP, trái với kỹ thuật gói tin UDP ngầm định
Code:
$ traceroute - I www.yourcompany.com traceroute to www.yourcompany.com( 172.17.100.2 ) , 30 hops max, 140 byte packets 1 attack-gw ( 192.168.50.21)5.801 ms 5.105 ms 5.445 ms 2 gw1.smallisp.net ( 192.168.51.l) 3 gw2.smallisp.net( 192.168.52.2) 13 hssi.bigisp.net ( 10.55.201.2 ) 14 seriall.bigisp.net( 10.55.202.l) 15 www.yourcompany.com ( 172.29.11.2)
Có cơ may chặng đứng ngay trước đích ( 10.55.202.1) là bức tường lửa,nhưng ta cha biết chắc Cần phải đào sâu thêm một chút
Ví dụ trên đây là tuyệt vời nếu các bộ định tuyến giữa bạn và các serverđích đápứng các gói tin có TTL hết hạn Nhưng một số bộ định tuyến và bức tường lửa đợc
Trang 6xác lập để không trả về các gói tin ICMP có TTL hết hạn (từ các gói tin ICMP lẫnUDP) Trong trờng hợp này, sự suy diễn ít khoa học hơn Tất cả những gì bạn cóthể thực hiện đó là chạy traceroute và xem chặng nào đáp ứng cuối cùng, và suy rađây là một bức tường lửa hoặc chí ít là bộ định tuyến đầu tiên trong đường truyềnbắt đầu phong tỏa tính năng tracerouting Ví dụ, ở đây ICMP đang bị phong tỏa đếnđích của nó, và không có đáp ứng nào từ các bộ định tuyến vợt quá client -
Code:
1 stoneface (192.168.10.33) 12.640 ms 8.367 ms 2 gw1.localisp.net (172.31.10.1)214.582 ms 197.992 ms 3 gw2.localisp.net (172.31.10.2) 206.627 ms 38.931 ms 4dsl.localisp.net (172.31.12.254) 47.167 ms 52.640 ms 14ATM6.LAX2.BIGISP.NET (10.50.2.1) 250.030 ms 391.716 ms 15ATM7.SDG.BIGISP.NET (10.50.2.5) 234.668 ms 384.525 ms 16 client-gw.smallisp.net (10.50.3.250) 244.065 ms ! X * * 17 * * * 18 * * *
Các Biện Pháp Phòng Chống
Việc chỉnh sửa sự rò rỉ thông tin traceroute đó là hạn chế tối đa các bứctường lửa và bộ định tuyến đáp ứng các gói tin có TTL hết hạn Tuy nhiên, điều nàykhông phải lúc nào cũng n m dới sự kiểm soát của bạn vì nhiều bộ định tuyến có thể
n m dới s điều khiển cúa ISP
a) Phát Hiện
Ðể phát hiện các traceroute chuẩn trên biên, bạn cần giám sát các gói tinUDP và ICMP có giá trị TTL là 1 Ðể thực hiện điều này với RealSecure 3.0, bạnbảo đảm đánh dấu TRACE_ROUTE decode name trong Security Events củaNetwork Engine Policy
b) Phòng chống
Ðể ngăn cản các traceroute chạy trên biên, bạn có thể cấu hình các bộ địnhtuyến không đáp ứng các thông điệp TTL EXPI#800000 khi nó nhận một gói tin cóTTL là 0 hoặc 1 ACL dới đây sẽ làm việc với các bộ định tuyến Cisco: Code:
Trang 7access - list 101 deny ip any any 11 0 ! ttl-exceeded
Hoặc theo lý tởng, bạn nên phong tỏa toàn bộ luồng lu thông UDP không cầnthiết tại các bộ định tuyến biên
3 Nắm Giữ Biểu Ngữ
Kỹ thuật quét tìm các cổng bức tường lừa là hữu ích trong việc định vị cácbức tường lửa, nhưng hầu hết các bức tường lửa không lắng chờ trên các cổng ngầmđịnh như Check point và Microsoft, do đó việc phát hiện phải đợc suy diễn Nhiềubức tường lứa phổ dụng sẽ công bố sự hiện diện của chúng bằng cách đơn giản nốivới chúng Ví dụ , nhiều bức tường lửa giám quản sẽ công bố chức năng cúa chúngvới cách một bức tường lửa, và một số sẽ quảng cáo kiểu và phiên bản của chúng
Ví dụ, khi ta nối với một máy được tin là một bức tường lửa bằng netcat trên cổng
21 (FTP ), ta sẽ thấy một số thông tin thú vị :
Code:
C:\TEMP>nc -v -n 192.168.51.129 2 l [UNKNOWN] [ 192.168.5l.129 ] 2 l ( ? )open 220 Secure Gateway FTP server ready
Biểu ngữ "Secure Gateway server FTP ready" là một dấu hiệu lộ tẩy của mộthộp Eagle Raptor cũ Việc nối thêm với cổng 23 (telnet) sẽ xác nhận tên bức tườnglửa là "Eagle."
Code:
C:\TEMP>nc -v -n 192.168.51.129 23 [UNKNOWN] [ 192.168.5l.129 ] 23 ( ? )open Eagle Secure Gateway Hostname :
Và cuối cùng nếu vẫn chưa bị thuyết phục server của bạn là một bức tườnglửa bạn có thể netcat với cổng 25 ( SMTP ), và nó sê báo cho ban biết nó là gì: Code:
C:\TEMP>nc -v -n 192.168.51.129 25 [UNKNOWN] [ 192.168.5l.129 ] 25 ( ? )open 421 fw3.acme.com Sorry, the firewall does not provide mail service to you Như đã thấy trong các ví dụ trên đây, thông tin biều ngữ có thể cung cấp các thôngtin quý giá cho attacker trong khi định danh các bức tường lửa Dùng thông tin này,
Trang 8chúng có thể khai thác các chỗ yếu phổ biến hoặc các cấu hình sai chung
b) Phòng Chống
Ðể ngăn cản attacker giành được quá nhiều thông tin về các bức tường lửa từcác biểu ngữ quảng cáo, bạn có thể thay đổi các tập tin cấu hình biểu ngữ Cáckhuyến nghị cụ thể thờng tùy thuộc vào hãng kinh doanh bức tường lửa Trên cácbức tường lửa Eagle Raptor, bạn có thể thay đổi các biểu ngữ ftp và telnet bằngcách sửa đổi các tập tin thông báo trong ngày: tập tin ftp.motd và telnet.motd
4 Kỹ Thuật Phát Hiện Bức tường Lửa Cao Cấp
Nếu tiến trình quét cổng tìm các bức tường lửa trực tiếp, dò theo đườngtruyền, và nắm giữ biểu ngữ không mang lại hiệu quả, attacker sẽ áp dụng kỹ thuậtđiểm danh bức tường lửa theo cấp kế tiếp Có thể suy diễn các bức tường lửa và cácquy tắc ACL của chúng bằng cách dò tìm các đích và lu ý các lộ trình phải theo(hoặc không theo) để đến đó
a) Suy Diễn Ðơn Giản với nmap
Nmap là một công cụ tuyệt vời để phát hiện thông tin bức tường lửa vàchúng ta liên tục dùng nó Khi nmap quét một hệ chủ, nó không chỉ báo cho bạnbiết các cổng nào đang mở hoặc đóng, mà còn cho biết các cổng nào đang bị phongtỏa Lợng (hoặc thiếu) thông tin nhận đợc từ một đợt quét cổng có thể cho biết khánhiều về cấu hình của bức tường lửa Một cổng đã lọc trong nmap biểu hiện chomột trong ba nội dung sau:
• không nhận gói tin SYN/ACK nào
• không nhận gói tin RST/ACK nào
Trang 9• Ðã nhận một thông báo ICMP type 3 (Destination Unreachable ) có một mã
13 (Communication Administratively Prohibited - [RFC1812])
Nmap gom chung cả ba điều kiện này và báo cáo nó dới dạng một cổng "đãlọc." Ví dụ, khi quét www.mycompany.com ta nhận hai gói tin ICMP cho biết bứctường lửa đã phong tỏa các cổng 23 và 111 từ hệ thống cụ thể của chúng ta Code:
# nmap -p20, 21, 23, 53, 80, 111 - P0 -vv www.mycompany.com Starting nmap V.2.08 by Fyodor ( <a href="mailto:fyodor@dhp.com">fyodor@dhp.com</a>
<mailto:fyodor@dhp.com>, www.insecure.org/nmap/ ) Initiating TCP connect ( )scan agains t ( 172.32.12.4 ) Adding TCP port 53 (state Open) Adding TCP port
111 ( state Firewalled ) Adding TCP port 80 ( state Open) Adding TCP port 23( state Firewalled) Interesting ports on ( 172.17.12.4 ) : port State Protocol Service
23 filtered tcp telnet 53 open tcp domain 80 open tcp http 111 filtered tcp sunrpc
Trạng thái "Firewalled", trong kết quả trên đây, là kết quả của việc nhận mộtICMP type 3, mã 13 (Admin Prohibited Filter), như đã gặp trong kết xuất tcpdump: Code:
23 : 14 : 01.229743 10.55.2.1 > 172.29.11.207 : icmp : host 172.32.12.4 nreachable
- admin prohibited filter 23 : 14 : 01.97 9743 10.55.2.l > 172.29.11.207 : icmp : host172.32.12.4 nreachable - admin prohibited filter
Làm sao để nmap kết hợp các gói tin này với các gói tin ban đầu, nhất là khichúng chỉ là một vài trong biển cả các gói tin đang ríu rít trên mạng? Vâng, gói tinICMP đợc gửi trở lại cho máy quét sẽ chứa đựng tất cả các dữ liệu cần thiết để tìmhiều nội dung đang xảy ra Cổng đang bị phong tỏa là phần một byte trong phần đầuICMP tại byte 0x41 ( 1 byte), và bức tường lửa lọc gửi thông điệp sẽ n m trongphần IP của gói tin tại byte
Trang 10không lắng chờ trên cổng đó, hoặc bức tường lửa đang đáp ứng đích và đánh lừa địachỉ IP của nó với cờ RST/ACK đợc ấn định Ví dụ, đợt quét một hệ thống cục bộcho ta hai cổng cha lọc khi nó nhận hai gói tin RST/ACK từ cùng hệ chủ Sự kiệnnày cũng có thể xảy ra với một số bức tường lửa nh Check point (với quy tắcREJECT) khi nó đáp ứng đích đang gửi trả một gói tin RST/ACK và đánh lừa địachỉ IP nguồn của đích
21 :26 :22.742482 172.18.20.55.258 > 172.29.11.207.39667 : S 415920470 :
1415920470 ( 0 ) ack 3963453111 win 9112 <mss 536> (DF ) (ttl 254, id 50438 )
21 :26 :23.282482 172.18.20.55.53 > 172.29.11.207.39667 : R 0 : 0 ( 0 ) ack
3963453111 win 0 (DF ) ( ttl 44, id 50439 ) 21 :2 6: 24.362482 172.18.20.55.257 >172.29.111.207.39667 : S 1416174328 : 1416174328 ( 0 ) ack 396345311 winX112 <mss 5 3 6 > ( DF ) ( ttl 254, id 504 0 ) 21: 26: 26.282482 172.18.20.55.7 >17.2.29.11.207.39667 : R 0 : 0 ( 0 ) ack 3963453111 win 0 ( DF ) ( ttl 44, id 50441)
b) Các Biện Pháp Phòng Chống
Ðể ngăn cản attacker điểm danh các ACL bộ định tuyến và bức tường lửathông qua kỹ thuật admin prohibited filter", bạn có thể v hiệu hóa khả năng đáp ứngvới gói tin ICMP type 13 của bộ định tuyến Trên Cisco, bạn có thể thực hiện điềunày bàng cách phong tỏa thiết bị đáp ứng các thông điệp IP không thể đụng đến no
ip unreachables
Trang 115 Ðịnh Danh Cổng
Một số bức tường lửa có một dấu ấn duy nhất xuất híện dới dạng một sêricon số phân biệt với các bức tường lửa khác Ví dụ, Check Point sẽ hiển thì một sêricác con số khi bạn nối với cổng quản lý SNMP của chúng, TCP 257 Tuy sự hiệndiện đơn thuần của các cổng 256-259 trên một hệ thống thờng cũng đủ là một dấuchỉ báo về sự hiện diện của Firewall-1 của Check Point song trắcônghiệm sau đây
sẽ xác nhận nó :
Code:
[ root@bldg_043]# nc -v -n 192.168.51.1 257 ( UNKNOWN) [ 192.168.51.1] 257( ? ) open 30000003 [ root@bldg_043 # nc -v -n 172.29.11.19l 257 (UNKNOWN )[ 172.29.11.191] 257 ( ? ) open 31000000
Các Biện Pháp Phòng Chống
a) Phát Hiện
Ðể phát hiện tuyến nối của một kẻ tấn công với các cổng của bạn bạn bốsung một sự kiện tuyến nối trong RealSecure Theo các bớc sau:
1 Hiệu chỉnh nội quy
2 Lựa tab Connection Events
3 Lựa nut Add Connection, và điền một mục cho Check Point
4 Lựa đích kéo xuống và lựa nút Add
5 Ðiền dịch vụ và cổng, nhắp OK
6 Lựa cổng mới, và nhắp lại OK
7 Giờ đây lựa OK và áp dụng lại nội quy cho động cơ
b) Phòng Chống
Ðể ngăn cản các tuyến nối với cổng TCP 257, bạn phong tỏa chúng tại các
bộ định tuyến thượng nguồn Một Cisco ACL đơn giản nh dới đây có thể khước từ
rõ rệt một nỗ lực của bọn tấn công:
Trang 12access -list 101 deny tcp any any eq 257 log ! Block Firewall- l scans
III Quét qua các bức tường lửa
Ðừng lo, đoạn này không có ý cung cấp cho bọn nhóc ký mã một số kỹ thuật
ma thuật để vô hiệu hóa các bức tường lửa Thay vì thế, ta sẽ tìm hiểu một số kỹthuật để nhảy múa quanh các bức tường lửa và thu thập một số thông tin quan trọng
về các lộ trình khác nhau xuyên qua và vòng quanh chúng
1 hping
hping của Salvatore Sanfilippo, làm việc bằng cách gửi các gói tin TCP đếnmột cổng đích và báo cáo các gói tin mà nó nhận trở lại hping trả về nhiều đáp ứngkhác nhau tùy theo v số điều kiện Mỗi gói tin từng phần và toàn thể có thể cungcấp một bức tranh khá rõ về các kiểu kiểm soát truy cập của bức tường lửa Ví dụ,khi dùng hping ta có thể phát hiện các gói tin mở, bị phong tỏa, thả, và loại bỏ Trong ví dụ sau đây, hping báo cáo cổng 80 đang mở và sẵn sàng nhận một tuyếnnối Ta biết điều này bởi nó đã nhận một gói tin với cờ SA đợc ấn định (một gói tinSYN/ACK)
Code:
# hping www.yourcompany.com -c2 – S -p80 -n HPING www.yourcomapany.com( eth0 172.30.1.2 0 ) : S set, 40 data bytes 60 bytes from 172.30.1.20 : flags=SAseq=0 ttl=242 id= 65121 win= 64240 time=144.4 msGiờ đây ta biết có một cống mở thông đến đích, nhưng chưa biết nơi của bức tườnglửa Trong ví dụ kế tiếp, hping báo cáo nhận một ICMP unreachable type 13 từ192.168.70.2 Một ICMP type 13 là một gói tin lọc bị ICMP admin ngăn cấm,thường được gửi từ một bộ định tuyến lọc gói tin.Code:
# hping www.yourcompany.com -c2 –S -p23 -n HPING www.yourcompany.com( eth0 172.30.1.20 ) : S set, 40 data bytes ICMP Unreachable type 13 f rom192.168.70.2
Trang 13Giờ đây nó đợc xác nhận, 192.168.70.2 ắt hẳn là bức tường lửa, và ta biết nó đangphong tỏa cổng 23 đến đích của chúng ta Nói cách khác, nếu hệ thống là một bộđịnh tuyến Cisco nó ắt có một dòng như dưới đây trong tập tin config: Code:
access -list 101 deny tcp any any 23 ! telnet
Trong ví dụ kế tiếp, ta nhận đợc một gói tin RST/ACK trả lại báo hiệu mộttrong hai viêc:
(1) gói tin lọt qua bức tường lửa và server không lắng chờ cổng đó (2) bức tường lửa thải bỏ gói tin (như trường hợp của quy tắc reject của CheckPoint)
nó sẽ đáp ứng các hệ thống bên trong của nó , gửi một đáp ứng và lừa bịp địa chỉcủa đích Tuy nhiên, khi attacker đụng một trong các điều kiện này trên Internet,chúng không hề
biết sự khác biệt bởi địa chỉ MAC sẽ không bao giờ chạm máy của chúng.Cuối cùng, khi một bức tường lửa đang phong toả các gói tin đến một cổng, bạnthờng không nhận đợc gì trở lại
Code:
[ root@bldg_04 3 /opt ] # hping 192.168.50.3 -c2 -S -p2 2 -n
HPING 192.168.50.3 ( eth0 192.168.50.3 ) : S set, 40 data
Trang 14Kỹ thuật hping này có thể có hai ý nghĩa: (1) gói tin không thể đạt đến đích
và đã bị mất trên đường truyền, hoặc (2) có nhiều khả năng hơn, một thiết bị (ắt làbức tường lửa của chúng ta 192.168.70.2 ) đã bỏ gói tin trên sàn dới dạng một phầncác quy tắc ACL của nó
Biện Pháp Phòng Chống
Ngăn ngừa một cuộc tấn công hping không phải là dễ Tốt nhất, ta chỉ việcphong tỏa các thông điệp ICMP type 13 ( nh m tả trong đoạn phòng chống tiến trìnhquét nmap trên đây )
2 Firewalk
Firewalk là một công cụ nhỏ tiện dụng, nhu một bộ quét cổng, đợc dùng đểphát hiện các cổng mở đàng sau một bức tường lửa Ðợc viết bởi Mike Schiffnlan,còn gọi là Route và Dave Goldsmith, trình tiện ích này sẽ quét một server xua dòng
từ một bức tường lửa và báo cáo trở lại các quy tắc đợc phép đến server đó màkhông phải thực tế chạm đến hệ đích Firewalk làm việc bằng cách kiến tạo các góitin với một IP TTL đợc tính toán để kết thúc một chãng vợt quá bức tường lửa Về
lý thuyết, nếu gói tin đợc bức tường lửa cho phép, nó sẽ đợc phép đi qua và sẽ kếtthúc nh dự kiến, suy ra một thông điệp "ICMP TTL expired in transit." Mặt khác,nếu gói tin bị ACL của bức tường lửa phong tỏa, nó sẽ bị thả, và hoặc không có đápứng nào sẽ đợc gửi, hoặc một gói tin lọc bị ICMP type 13 admin ngăn cấm sẽ đợcgửi
Code:
# firewalk -pTCP -S135 -140 10.22.3.1 192.168.1.1 Ramping up hopcounts tobinding host probe : 1 TTL : 1 port 33434 : expired from [exposed.acme.com]probe : 2 TTL : 2 port 33434 : expired from [rtr.isp.net] probe : 3 TTL : 3 port
33434 : Bound scan at 3 hops [rtr.isp.net] port open port 136 : open port 137 : openport 138 : open port 139 : * port 140 : open
Sự cố duy nhất mà chúng ta gặp khi dùng Firewalk đó là nó có thể ít hơn dựđoán, vì một số bức tường lửa sẽ phát hiện gói tin hết hạn trước khi kiểm tra các
Trang 15ACL của nó và cứ thế gửi trả một gói tin ICMP TTL EXPI#800000 Kết quả là,Firewalk mặc nhận tất cả các cổng đều mở
IV Lọc gói tin
Các bức tường lửa lọc gói tin nh Firewall-1 của Check Point, Cisco PIX, vàIOS của Cisco (Cisco IOS có thể được xác lập dới dạng một bức tường lửa) tùythuộc vào các ACL (danh sách kiểm soát truy cập) hoặc các quy tắc để xác địnhxem luồng traffic có đợc cấp quyền để truyền vào/ra mạng bên trong Ða phần, cácACL này đợc sắp đặt kỹ và khó khắc phục Nhưng thông thờng, bạn tình cờ gặpmột bức tường lửa có các ACL tự do, cho phép vài gói tin đi qua ở tình trạng mở Các ACL Tự Do
Các danh sách kiểm soát truy cập (ACL) tự do thờng gặp trên các bức tườnglửa nhiều hơn ta tưởng Hãy xét trờng hợp ở đó có thể một tổ chức phải cho phépISP thực hiện các đợt chuyển giao miền Một ACL tự do nh "Cho phép tất cả mọihoạt động từ cổng nguồn 53" có thể đợc sử dụng thay vì cho phép hoạt động từserverDNS của ISP với cổng nguồn 53 và cổng đích 53." Nguy cơ tồn tại các cấuhình sai này có thể gây tàn phá thực sự, cho phép một hắc cơ quét nguyên cả mạng
từ bên ngoài Hầu hết các cuộc tấn công này đều bắt đầu bằng một kẻ tấn công tiếnhành quét một server đằng sau bức tường lửa và đánh lừa nguồn của nó dới dạngcống 53 (DNS)
Biện Pháp Phòng Chống
Bảo đảm các quy tắc bức tường lửa giới hạn ai có thể nối ở đâu Ví dụ, nếuISP yêu cầu khả năng chuyển giao miền, thì bạn phải rõ ràng về các quy tắc củamình Hãy yêu cầu một địa chỉ IP nguồn và mã hóa cứng địa chỉ IP đích(serverDNS bên trong của bạn) theo quy tắc mà bạn nghĩ ra Nếu đang dùng một
Trang 16bức tường lửa Checkpoint, bạn có thể dùng quy tắc sau đây để hạn chế một cổngnguồn 53 (DNS) chỉ đến DNS của ISP Ví dụ, nếu DNS của ISP là 192.168.66.2 vàDNS bên trong của bạn là 172.30.140.1, bạn có thể dùng quy tắc dới đây: Nguồn gốc Ðích Dịch vụ Hành động Dấu vết
192.168.66.2 172.30 140.1 domain-tcp Accept Short
V Tunneling ICMP và UDP
Tunneling ICMP là khả năng đóng khung dữ liệu thực trong một phần đầuICMP
Nhiều bộ định tuyến và bức tường lửa cho phép ICMP ECHO, ICMP ECHOREPLY, và các gói tin UDP mù quáng đi qua, và như vậy sẽ dễ bị tổn thơng trướckiểu tấn công này Cũng như chỗ yếu Checkpoint DNS, cuộc tấn công TunnelingICMP và UDP dựa trên một hệ thống đã bị xâm phạm đứng sau bức tường lửa Jeremy Rauch và Mike D Shiffman áp dụng khái niệm Tunneling vào thực tế và đãtạo các công cụ để khai thác nó : loki và lokid (clien và server) -xem
Nếu chạy công cụ serverlokid trên một hệ thống đứng sau bức tường lửa cho phépICMP ECHO và ECHO REPLY, bạn cho phép attacker chạy công cụ clien (loki),đóng khung mọi lệnh gửi đi trong các gói tin ICMP ECHO đến server(lokid) công
cụ lokid sẽ tháo các lệnh, chạy các lệnh cục bộ , và đóng khung kết xuất của cáclệnh trong các gói tin ICMP ECHO REPLY trả lại cho bọn tấn công Dùng kỹ thuậtnày, attacker có thể hoàn toàn bỏ qua bức tường lửa
Biện Pháp Phòng Chống
Ðể ngăn cản kiểu tấn công này, bạn vô hiệu hóa khả năng truy cập ICMPthông qua bức tường lừa hoặc cung cấp khả năng truy cập kiểm soát chi tiết trênluồng lưu thông ICMP Ví dụ, Cisco ACL dới đây sẽ v hiệu hóa toàn bộ luồng luthông ICMP phía ngoài mạng con 172.29.10.0 (DMZ) vì các mục tiêu điều hành: Code:
access - list 101 permit icmp any 172.29.10.0 0.255.255.255 8 ! echo access - list
Trang 17101 permit icmp any 172.29.10.0 0.255.255.255 0 ! echo- reply access - list 102deny ip any any log ! deny and log all else
Cảnh giác: nếu ISP theo dõí thời gian hoạt động của hệ thống bạn đằng saubức tường lửa của bạn với các ping ICMP (hoàn toàn không nên!), thì các ACL này
sẽ phá vỡ chức năng trọng yếu của chúng Hãy liên hệ với ISP để khám phá xem họ
có dùng các ping ICMP để kiểm chứng trên các hệ thống của bạn hay không
VI IPS hệ thống ngăn ngừa xâm nhập tường lửa thế hệ kế tiếp
1.Các Hệ thống Ngăn ngừa Xâm nhập
Hai kiểu IPS được biết trên thị trường hiện nay là “dựa vào máy chủ” và “nộituyến” (dựa vào mạng) Các hệ thống “dựa vào máy chủ” là các phần mềm ngănngừa xâm nhập được viết để “móc” trực tiếp vào trong các ứng dụng hay cài đặttrực tiếp trên các máy chủ ứng dụng Bài viết này chỉ tập trung vào bảo mật “nộituyến” Bảo mật “nội tuyến” tương tự như trong kiến trúc tường lửa di trú kép haymột cổng chống vi rút được đặt ngược chiều từ các ứng dụng được bảo vệ và ápdụng các dịch vụ ngăn ngừa xâm nhập cho nhiều ứng dụng xuôi chiều của các IPS.Theo đúng nghĩa của khái niệm này, ta có thể định nghĩa như sau“Một Hệ thốngNgăn ngừa Xâm nhập “nội tuyến” (inline) là bất kỳ một thiết bị phần cứng hay phầnmềm nào có khả năng phát hiện và ngăn ngừa các cuộc tấn công đã quen biết”.Thậm chí đơn giản hơn, “Ngăn ngừa Xâm nhập” chỉ đề cập đến việc phát hiện vàsau đó ngăn chặn những cuộc tấn công chuyên biệt ứng dụng đã biết Thuật ngữ
“Hệ thống Ngăn ngừa Xâm nhập” (Intrusion Prevention System) bản thân được sửdụng để hợp nhất cả hai khái niệm “Hệ thống Phát hiện” (detection system) và “Hệthống Ngăn ngừa” (prevention system) dưới một cấu trúc Chú ý rằng định nghĩanày chỉ nhằm vào các cuộc tấn công đã quen biết
2 Phát hiện và ngăn ngừa
Nhìn bề ngoài, các giải pháp phát hiện xâm nhập và ngăn ngừa xâm nhậpxuất hiện theo kiểu cạnh tranh nhau Rốt cuộc, chúng chia sẻ một danh sách cácchức năng giống nhau như kiểm tra gói tin, phân tích có trạng thái, ráp lại các đoạn,ráp lại các TCP-segment, kiểm tra gói tin sâu, xác nhận tính hợp lệ giao thức và
Trang 18thích ứng chữ ký Một IPS hoạt động giống như một người bảo vệ gác cổng chomột khu dân cư, cho phép và từ chối truy nhập dựa trên cơ sở các uỷ nhiệm và tậpquy tắc nội quy nào đó Một IDS (hệ thống phát hiện xâm nhập) làm việc giống nhưmột xe tuần tra bên trong khu dân cư, giám sát các hoạt động và tìm ra những tìnhhuống bất bình thường Dù mức độ an ninh tại cổng vào khu dân cư mạnh đến mứcnào, xe tuần tra vẫn tiếp tục hoạt động trong một hệ thống giám sát và sự cân bằngcủa chính nó.
3 Phát hiện xâm nhập
Mục đích của “phát hiện xâm nhập” là cung cấp sự giám sát, kiểm tra, tínhpháp lý và báo cáo về các hoạt động của mạng Nó hoạt động trên các gói tin đượccho phép thông qua một thiết bị kiểm soát truy nhập Do những hạn chế về độ tincậy và những đe doạ bên trong, “Ngăn ngừa Xâm nhập” phải cho phép một số
“vùng xám” (gray area) tấn công để tránh các trường hợp báo động giả Mặt khác,những giải pháp IDS được “nhồi” trí thông minh có sử dụng nhiều kỹ thuật khácnhau để nhận biết những cuộc xâm nhập, những khai thác, lạm dụng bất chính vàcác cuộc tấn công tiềm tàng Một IDS có thể thực hiện các hoạt động mà không làmảnh hưởng đến các kiến trúc tính toán và kết nối mạng
Bản chất bị động của IDS nằm ở chỗ cung cấp sức mạnh để chỉ đạo phân tíchthông minh các lưu lượng gói tin Những vị trí IDS này có thể nhận ra :
- Các cuộc tấn công quen biết theo đường chữ ký (signature) và các quy tắc
- Những biến thiên trong lưu lượng và phương hướng sử dụng những quy tắc vàphân tích thống kê phức tạp
- Những biến đổi mẫu lưu lượng truyền thông có sử dụng phân tích luồng
- Phát hiện hoạt động bất bình thường có sử dụng phân tích độ lệch đường cơ sở(baseline deviation analysis)
- Phát hiện hoạt động đáng nghi nhờ phân tích luồng, các kỹ thuật thống kê
và phát hiện sự bất bình thường
Trang 194 Ngăn ngừa xâm nhập
Như được đề cập trước đây, các giải pháp “Ngăn ngừa Xâm nhập” nhằmmục đích bảo vệ tài nguyên, dữ liệu và mạng Chúng sẽ làm giảm bớt những mối đedoạ tấn công bằng việc loại bỏ những lưu lượng mạng có hại hay có ác ý trong khivẫn cho phép các hoạt động hợp pháp tiếp tục Mục đích ở đây là một hệ thống hoànhảo – không có những báo động giả nào làm giảm năng suất người dùng cuối vàkhông có những từ chối sai nào tạo ra rủi ro quá mức bên trong môi trường Có lẽmột vai trò cốt yếu hơn sẽ là cần thiết để tin tưởng, để thực hiện theo cách mongmuốn dưới bất kỳ điều kiện nào Điều này có nghĩa các giải pháp “Ngăn ngừa Xâmnhập” được đặt vào đúng vị trí để phục vụ với:
- Những ứng dụng không mong muốn và những cuộc tấn công “Trojanhorse” nhằm vào các mạng và các ứng dụng cá nhân, qua việc sử dụng các nguyêntắc xác định và các danh sách điều khiển truy nhập (access control lists)
- Các gói tin tấn công giống như những gói tin từ LAND và WinNuke qua việc sửdụng các bộ lọc gói tốc độ cao
- Sự lạm dụng giao thức và những hành động lảng tránh – những thao tácgiao thức mạng giống như Fragroute và những khảo sát lấn TCP (TCP overlapexploits) – thông qua sự ráp lại thông minh
- Các tấn công từ chối dịch vụ (DOS/DDOS) như “lụt” các gói tin SYN vàICMP bởi việc sử dụng các thuật toán lọc dựa trên cơ sở ngưỡng
- Sự lạm dụng các ứng dụng và những thao tác giao thức – các cuộc tấn công đã biết
và chưa biết chống lại HTTP, FTP, DNS, SMTP v.v – qua việc sử dụng những quytắc giao thức ứng dụng và chữ ký
- Những cuộc tấn công quá tải hay lạm dụng ứng dụng bằng việc sử dụng cáchữu hạn tiêu thụ tài nguyên dựa trên cơ sở ngưỡng
Tất cả các cuộc tấn công và trạng thái dễ bị tấn công cho phép chúng tình cờxảy ra đều được chứng minh bằng tài liệu Ngoài ra, những khác thường trong các
Trang 20giao thức truyền thông từ mạng qua lớp ứng dụng không có chỗ cho bất cứ loại lưulượng hợp pháp nào, làm cho các lỗi trở thành tự chọn lọc trong ngữ cảnh xác định.
5 Tình trạng của công nghệ IPS
Trạng thái của công nghệ IPS là chưa chín muồi nếu bạn xem xét ở góc độsản phẩm của từng nhà cung cấp đơn lẻ với tất cả các tính năng phát hiện, giám sát,ngăn ngừa, cập nhật và báo cáo trên mỗi sự truyền tải cho truy nhập vào trong và rangoài qua một điểm nghẽn (choke-point) mạng đặc biệt Các sản phẩm IPS mới nổicủa ngày nay được tập trung chủ yếu dành riêng cho Port 80 và như vậy chúng hiệnkhông thay thế các hệ thống hiện tại Thay vào đó chúng làm tăng thêm giá trị củanhững hệ thống này Một giải pháp IPS đa giao thức bao hàm tất cả sẽ phải đượcphát triển và chứng tỏ trước khi những hệ thống như vậy được coi như những thaythế thực tế cho các hệ thống đã triển khai
VII IDS trong bảo mật hệ thống mạng
1 Giới Thiệu IDS
Intrusion Detection là thiết bị bảo mật vô cùng quan trọng IntrusionDetection Systems (IDS) là giải pháp bảo mật được bổ sung cho Firewalls (hìnhdưới đây thể hiện điều đó) Một IDS có khả năng phát hiện ra các đoạn mã độc hạihoạt động trong hệ thống mạng và có khả năng vượt qua được Firewall
Hầu hết các vấn đề liên quan tới IDS đó là cấu hình sai, đó là việc thiết lậpcác thống số bị lỗi Đó là những giao tiếp hợp lệ nhưng lại bị thiết bị IDS cảnh báo
là các giao tiếp đó là các đoạn mã nguy hiểm …Có hai dạng chính của IDS đó là:
Network Based và Host Based