Tác giả: Nguyễn Thị Băng Tâm Chương 5: MỘT SỐ CHỨC NĂNG KHÁC CỦA PIXFIREWALL 1. Attack Guard a. DNS guard Giả sử để phân giải một tên đến một địa chỉ , một host có thể truy vấn (query ) cùng DNS server nhiều lần . Đặc điểm DNS guard của PIX firewall là nhận biết được một truy vấn outbound DNS và chỉ cho phép lần reply đầu tiên từ server được qua PIX firewall . Tất cả các lần replies khác sẽ bị loại bỏ . Sau lần DNS reply đầu tiên đó , DNS guard sẽ đóng tất cả các phiên UDP được mở bởi DNS request mà không cần chờ đến khoảng thời gian timeout của UDP . Một host cũng có thể truy vấn nhiều DNS server khác nhau . Ví dụ , nếu DNS resolver gửi ba query cụ thể đến 3 server khác nhau, PIX firewall sẽ tạo ra 3 kết nối khác nhau. Kết nối đến mỗi server được thực hiện riêng biệt vì request được gửi một cách riêng biệt , mỗi request được đặc trưng bởi một ID . Reply cho request này bao gồm cùng một ID và IP address giống nó . Từ đó , ta kết luận DNS Guard có những đặc điểm sau : - Chỉ chấp nhận các replies nào đúng địa chỉ IP - Chỉ chấp nhận một reply . Trong trường hợp có nhiều replies , ngoại trừ reply đầu tiên , tất cả các replies sẽ bị loại bỏ . - Kết nối UDP tương ứng với kết nối DNS sẽ bị loại bỏ ngay khi nhận được DNS reply mà không đợi đến khi hết thời gian timeout . - Bảo vệ được các phiên làm việc UDP từ các hình thức tấn công như DoS hay hijacking. Để hiểu rõ hơn hoạt động của DNS Guard , ta xem xét ví dụ sau : Error! Client (có địa chỉ 192.168.0.1) và Web server (web.company.com , có địa chỉ 192.168.0.5 ) nằm trong inside interface của PIX và các địa chỉ private . DNS server nằm ở outside interface . PIX được cấu hình để chuyển địa chỉ của client và server khi đi ra mạng ngoài thành địa chỉ 1.2.3.4 thông qua PAT . Địa chỉ này được DNS server ghi lại là địa chỉ cho web.company.com. Khi client yêu cầu địa chỉ IP của server , PIX sẽ chuyển yêu cầu đó đến DNS server, đổi địa chỉ source từ 192.168.0.1 thành 1.2.3.4 (PIX thực hiện NAT ) . Khi PIX nhận được reply từ DNS server , ngoài việc pix đổi địa chỉ đích của gói tin (từ 1.2.3.4 đến 192.168.0.1) , nó còn thay đổi địa chỉ của Web server có trong reply đó (đó là 1.2.3.4 chuyển thành 192.168.0.5) . ? NOTE : không thể tắt tính năng DNS Guard cũng như thay đổi giá trị mặc định là port 53 của DNS trong PIX . b. Mail Guard Mail Guard được thiết kế để bảo đảm độ an toàn cho các kết nối SMTP từ outside đến email server inside , nó sẽ hạn chế server và client có thể được phép làm và xem gì ? SMPT là một giao thức dựa trên telnet , được thiết kế cho việc truyền thư điện tử giữa các server . Client gửi các command đến server , server trả lời lại bằng các status messages và một số thông tin phụ thêm . Các command được phép đến mail server đó là : HELLO , MAIL , RCPT , DATA , RSET , NOOP , và QUIT . Mặc định PIX sẽ kiểm tra các kết nối port 25 cho lưu lượng SMTP . Nếu các SMTP server sử dụng nhiều port khác ngoài port 25 , ta phải sử dụng câu lệnh [no] fixup protocol smtp [<port> [-<port>]] Mục tiêu chính của Mail Guard là hạn chế các command mà client sử dụng đến mức thấp nhất (minimal set), trong khi vẫn quản lí toàn bộ command , cụ thể : - Mail Guard quản lí các command được gửi bởi client , nếu command này không thuộc về minimal set , nó sẽ thay thể bằng NOOP command . - Nếu Mail Guard gặp một command không biết , toàn bộ phần dữ liệu trong gói tin sẽ được đánh dấu bằng kí tự X , với kí tự này khi server nhận được sẽ phát ra một error . c. SYN flood Guard Để bảo vệ các host bên trong tránh khỏi các cuộc tấn công DoS , sử dụng câu lệnh static để giới hạn số lượng các kết nối embryonic được phép đến server . Cấu trúc của câu lệnh như sau : Static(internal_if_name , external_if_name) global_ip local_ip [netmask network_mask] [max_conns[em_limit]] · Internal_if_name : tên của interface mạng bên trong · External_if_name : tên của interface mạng bên ngoài · Global_ip : địa chỉ global ip cho interface bên ngoài . Địa chỉ này không được là địa chỉ PAT · Local_ip : địa chỉ local ip của mạng bên trong · Netmask network_mask : là mask của địa chỉ global và local · Max_conns : số lượng kết nối tối đa được phép đến local_ip . Mặc định là 0 , tức là unlimited · Em_limit : được sử dụng để giới hạn số lượng kết nối embryonic được phép đến server . è Nếu ta thiết lập mức ngưỡng quá cao , có nguy cơ sẽ làm quá tải IP stack và dễ bị DoS attack . Nếu thiết lập mức ngưỡng quá thấp, dễ dẫn đến tình trạng từ chối dịch vụ của các user hợp lệ . Thông thường chọn giá trị em_limit thấp hơn giá trị max_conns. Nếu trong câu lệnh static có cấu hình mức ngưỡng em_limit để giới hạn kết nối embryonic , và khi các kết nối đó đạt được giá trị ngưỡng thì PIX firewall chỉ đơn giản đánh rớt các kết nối mới . điều này cho phép kết thúc việc tổ chức lưu lượng từ các cuộc tấn công , ngay cả với các attack đơn giản nhất . Nếu trong câu lệnh static không có cấu hình ngưỡng em_limit , PIX firewall sẽ cho tất cả traffic đi qua , điều này sẽ dẫn đến bảng kết nối embryonic bị quá tải và tất cả traffic bị dừng lại khi có attack . Trong các version từ 5.2 trở lên , đã đưa ra một đặc điểm mới là TCP Intercept . TCP Intercept là phương pháp cải tiến việc đáp ứng một kết nối embryonic của PIX firewall . Khi số lượng kết nối này vượt quá giá trị ngưỡng được cấu hình , PIX firewall sẽ chặn đứng và chuyển sang kết nối mới . Các version trước 5.2 , pix không cho phép các kết nối mới sau khi đạt được giá trị ngưỡng . Điều này vẫn gây ra DoS vì các TCP connection slot vẫn được làm đầy . Hoạt động của TCP Intercept cũng đơn giản , đối với mỗi SYN , PIX firewall đáp ứng về cho server một SYN/ACK segment rỗng , PIX firewall giữ lại thông tin trạng thái SYN đó , đánh rớt các gói tin , và chờ ACK từ client . Nếu nhận được ACK , pix sẽ gửi bản copy SYN segment của client đến server , khi đó TCP three- way handshake được thực hiện giữa PIX firewall và server . Chỉ khi nào three-way handshake hoàn tất , kết nối đó mới được đưa về trạng thái bình thường . Để bảo vệ các host bên ngoài từ các cuộc tấn công DoS và để giới hạn số lượng kết nối embryonic đến server , sử dụng lệnh nat Cấu trúc câu lệnh như sau : nat [(if_name)] nat_id local_ip {netmask [max_conns [em_limit]]} Sử dụng lệnh show local-host để xem số lượng các kết nối hiện tại và các kết nối embryonic . d. AAA Floodguard Khi sử dụng AAA với PIX để nhận diện , thẩm quyền và quản lí user để làm giảm các vấn đề như truy cập không có thẩm quyền : logging host [<interface>] <ip_address> [tcp | udp / <port_number>] Có thể cấu hình UDP hay là TCP cho syslog , tham số port _number là giá trị nằm trong khoảng 1025 đến 65535 . TCP không phải là phương pháp chuẩn cho việc cấu hình syslog vì hầu hết các syslog server không hỗ trợ . Nếu sử dụng kết nối TCP cho syslog server , cần lưu ý là nếu syslog server bị down thì tất cả lưu lượng trong mạng qua pix sẽ bị khóa . Một lưu ý khác là khi cấu hình TCP syslog thì kết nối syslog sẽ chậm hơn UDP vì TCP phụ thuộc vào quá trình bắt tay 3 bước . Điều này sẽ dẫn đến thêm overhead của kết nối và làm chậm việc gửi syslog messages đến server . - Đối với những pix có hỗ trợ tính năng failover , lệnh logging standby cho phép failover PIX gửi syslog messages cho các log files được đồng bộ trong trường hợp stateful failover xảy ra . c. logging level Mặc dù lệnh logging có 8 level khác nhau được sử dụng trong pix (theo bảng ) , logging level 0 không được sử dụng . Khi cấu hình logging , ta phải chỉ ra mức level có thể bằng số hay bằng từ khóa . Khi đó , PIX firewall ghi lại tất cả các sự kiện như nhau cho mức level được chỉ ra cũng như các level thấp hơn nó . Ví dụ , level mặc định cho pix là level 3 (error) , thì pix cũng sẽ log các sự kiện ở level 2 , level 1 , và level 0 . Error! Ví dụ về các level được ghi lại : Error! Error! Error! d. Logging facility Mỗi syslog message có một số tiện ích (facility number) . Có 24 facility khác nhau được xếp từ 0 đên 23 . 8 facility được sử dụng phổ biến cho syslog là local0 đến local7 . Facility có vai trò giống như những ống dẫn dẫn dắt tiến trình syslog . Tiến trình syslog sẽ đặt các messages vào đúng log file dựa trên facility . Cấu hinh tính năng này như sau : logging facility <facility_code> Các facility_code được sắp xếp theo bảng sau : Error! 3. Content Filtering a. Filtering URL với Websense Có thể sử dụng access-list để cho phép hoặc từ chối truy cập web , nhưng nếu list các site ngày càng dài hơn , thì giải pháp này sẽ ảnh hưởng đến hoạt động của firewall . Ngoài ra , access-list không đưa ra được sự tiện lợi trong việc điều khiển truy cập trong trường hợp này . Ví dụ như nó không thể cho phép hoặc từ chối truy cập đến các trang cụ thể trong website , mà là toàn bộ website được chỉ ra trong câu lệnh của nó . Access-list cũng không có tác dụng đối với những website là những host ảo . Ví dụ như có nhiều website thuộc về cùng một server và tất của các website đó phải có địa chỉ IP , do đó chỉ có thể cho phép hoặc từ chối truy cập đến tất cả các website đó trong cùng một lúc . Pix đã đưa ra một giải pháp điều khiển truy cập web tốt hơn và hiệu quả hơn đó là sử filtering URL thông qua một filtering server . Cụ thể như trong hình sau : Error! - khi một client thiết lập kết nối TCP đến Web server - Client gửi HTTP request cho một trang trong server này - Pix chặn request này và chuyển nó đến filtering server - Filtering server sẽ quyết định xem client có được phép truy cập đến trang đã yêu cầu hay không ? - Nếu được , PIX sẽ chuyển request đến server và client nhận được nội dung đã request - Nếu không , request của client bị đánh rớt . Websense là một phần mềm cung cấp chức năng filtering cho PIX firewall , giúp cho nhà quản trị mạng giám sát và điều khiển lưu lượng mạng . Websense được sử dụng để khóa các URL mà PIX không thể khóa . Websense quyết định là khóa hay cho phép một URL nào đó dựa trên thông tin cấu hình của nó và Master Database . Cấu hình Websense là đưa ra các quy tắc filtering mà ta đã thiết lập trong Websense. Master Database là database của URL bị khóa . Database này được duy trì và cập nhập hằng ngày bởi Websense corporate office . Câu lệnh chỉ ra filtering server cho Websense là : url-server <if_name> host <local_ip> [timeout <seconds>] [protocol <tcp> | <udp>] [version 1 | 4] Cấu hình Pix để làm việc với Websense : Filter url http [local_ip local_mask foreign_ip foreign_mask ] [allow] b. Active Code Filtering Active content trong các trang web có thể được xem là vấn đề không mong muốn trong việc bảo mật . PIX firewall có thể lọc các active code , các active code này có thể được sử dụng trong các ứng dụng như Java hay ActiveX . PIX firewall hỗ trợ Java applet filer có thể dừng các ứng dụng Java nguy hiểm dựa trên user hay địa chỉ IP . Câu lệnh để filter java là : Filter java port [- port] local_ip mask foreign_ip mask ActiveX controls có thể gây ra các vấn đề bảo mật bởi vì chúng có thể đưa một cách nào đó cho hacker tấn công server . PIX firewall có hỗ trợ tính năng khóa tất cả các activeX controls . filter activex port local_ip mask foreign_ip mask 4. Intruction Detection PIX Firewall software version 5.2 trở về sau có khả năng phát hi ện xâm nhập (IDS). Phát hiện xâm nhập l à kh ả năng phát hiện sự tấn công mạng. Có 3 loại tấn công vào mạng : - Reconnaissance attack - Kẻ xâm nhập cố gắng phát hiện và sắp xếp hệ thống, dịch vụ hoặc các cho yếu điểm - Access attack - Kẻ xâm nhập tấn công mạng hoặc hệ thống để lấy dữ liệu, tăng tốc độ truy cập và nâng cao đặc quyền truy cập - DoS attack -Kẻ xâm nhâ tấn công vào hệ thống mạng bằng cách ga6 nguy hiểm hoặc làm hỏng các hệ thống máy tính hoặc từ chối iệc truy cấp vào mạng, các dịch vụ hoặc các hệ thống PIX Firewall phát hiện xâm nhập bằng cách sử dụng signature phát hiện xâm nhập. Một signature là một tập các nguyên tắc gắn liền với các hoạt động xâ nhập. Với việc cho phép phát hiện xâm nhập, PIX Firewall có thể phát hiện signature và truyền đáp ứng khi một tập các nguyên tắc được so sánh với hoạt động của mạng. Nó có thể giám sát các gói của 53 signature phat hiện xâm nhập và được cấu hình để gởi cảnh báo đến một Syslog server, drop packet hoặc reset lại kết nối. 53 signature làmột tập con của các signature được hỗ trợ bởi Cisco Intrusion Detection System (CIDS) PIX Firewall có thể phát hiện hai loại signature khác nhau: informational signature và attack signature. Information class signature là các signature mà đư ợc gây ra bởi hoạt động thông thường của mạng mà bản thân nó xem như vô hại nhưng có thể được dùng để xác định tính hiệu lực của việc tấn công. Attack class signature là những signature mà được gây ra bởi một hoạt độg được biết, hoặc có thể dẫn đến, lấy lại dữ liệu không có thẩm quyển a. Phát hiện xâm nhập trong PIX Firewall Phát hiện xâm nhập được cho phép bởi lệnh ip audit. Sử dụng lệnh ip audit kiểm tra các policy có thể được tạo để xác định traffic mà được kiểm tra hoặc phân công các hoạt động khi một signature bị phát hiện. Sau khi một policy được tạo ra, nó có thể được đưa vào bất cứ interface nào Mỗi interface có hai policy: một cho informational signature và một cho attack signature. Mỗi lần một policy của một class signature được tạo ra và đưa vào interface, tất cả các signature được hỗ trợ của class đó được giám sát trừ khi disable chúng với lệnh ip audit signature disbale PIX Firewall hỗ trợ cả inbound và outbound auditing. Auditing thự hiện bằng cách nhìn vào các gói IP đến tại một input interface. Ví dụ, nếu một attack policy được đưa vào một outside interface, attack signature được gây ra khi attack traffic đến tại outside interface ở hướng vào, kể cả inbound traffic hoặc return traffic từmột kết nối