Có 2 kiểu dịch đó là Tĩnh và động Sử dụng dịch tĩnh khi bạn muốn một host inside luôn luôn xuất hiện với một địa chỉ cố định trên mạng global của PIX Firewall.. Dịch tĩnh được sử dụng để
Trang 1CHƯƠNG 6 CISCO PIX FIREWALL TRANSLATION
Tổng quan:
Chương này bao gồm các topic sau:
Mục đích
Các giao thức vận chuyển
Việc dịch trong PIX Firewall
Truy cập qua PIX Firewall
Các cách khác qua PIX Firewall
Tổng hợp
Lab exercise
Trang 2Mục đích
Trang 3 UDP – Khó khăn để kiểm tra một cách đúng đắn
Note: Trong ngữ cảnh này thì thuật ngữa outbound có nghĩa là những kết nối từ
side tin cậy nhiều hơn của PIX Firewall đến side có tính tin cậy ít hơn của PIX
Trang 4TCP là một giao thức kết nối có hướng Khi một phiên từ một host thuộc side an
ninh hơn của PIX Firewall được bắt đầu, PIX Firewall sẽ tạo một log (bản ghi) trong session state filter (bộ lọc trạng thái phiên) PIX Firewall cho phép trích các
phiên từ các lưu lượng mạng và kích hoạt kiểm tra tính hợp thức của chúng trong
thời gian thực Stateful filter duy trì các tham số (hoặc trạng thái) cho mỗi kết nối
mạng và kiểm tra các đơn vị giao thức tiếp theo Khi TCP khởi tạo một phiên với PIX Firewall, PIX Firewall ghi lại các lưu lượng mạng và xem phản hồi từ thiết bị
mà nó đã cố gắng truyền thông PIX Firewall sau đó cho phép lưu lượng đi qua giữa các kết nối dựa trên quá trình bắt tay 3 bước
Trang 5Khi một phiên TCP được thiết lập trên PIX Firewall sẽ xảy ra những điều dưới đây:
1 Gói tin IP đầu tiên từ host inside là nguyên nhân phát sinh ra một khe dịch (translation slot) Thông tin TCP được nhúng sau đó được sử dụng để tạo một khe kết nối trong PIX Firewall
2 Khe kết nối được đánh dấu là embryonic (chưa thiết lâp)
3 PIX Firewall ngẫu nhiên khởi tạo số thứ tự của kết nối, lưu trữ giá trị delta và đẩy gói tin đến giao diện ra
4 Bây giờ PIX Firewall trông đợi gói tin SYN/ACK từ host đích Sau đó PIX Firewall kết hợp với gói tin nhận được dựa trên khe kết nối Tính toán thông
Trang 65 host inside hoàn thành cài đặt kết nối (bắt tay ba bước) với một ACK
6 Khe kết nối trên PIX Firewall được đánh dấu là đã kết nối (active-established)
và dữ liệu được truyền Bộ đếm embryonic sau đó được reste lại cho kết nối
này
Trang 7UDP là một giao thức kết nối không có hướng PIX Firewall cần giữ một phương pháp để đảm bảo tính an ninh của nó Các ứng dụng sử dụng UDP là khó để đảm bảo tính an ninh bởi vì nó không có quá trình bắt tay hoặc sự xắp xếp thứ tự Nó khó để xác định trạng thái hiện tại của một giao dịch UDP (đang mở, đã thiết lập, và
đóng) Nó cũng khó khăn để duy trì trạng thái của một phiên như là nó không clear beginning (xóa về từ đầu), trạng thái luông… Tuy nhiên PIX Firewall tạo một khe
kết nối UDP khi một gói tin UDP được gửi từ một giao diện có mức an ninh cao hơn đến giao diện có mức an ninh thấp hơn Tất cả những gói tin UDP tiếp theo kết hợp với khe kết nối đẩy ra mạng inside
Trang 8Khi một khe kết nối UDP ở trạng thái nhàn rỗi mà lâu hơn thời gian nhàn rỗi cho phép đã được cấu hình nó sẽ bị xóa từ bảng kết nối Dưới đây là một số đặc trưng của UDP:
UDP là một giao thức vận chuyển không tin cậy nhưng hiệu quả
Sự giả mạo gói tin UDP là rất dễ (không có quá trình bắt tay 3 bước hoặc không có thứ tự) Khi mà không có trạng thái máy thì phần khởi tạo của giao dịch hoặc trạng thái hiện tại thường không thể xác định được
UDP không phân phối đảm bảo
UDP không quản lý tắc nghẽn hoặc tránh tắc nghẽn
Trang 9PIX Firewall Translations
Phần này sẽ mô tả về tiến trình dịch trong PIX Firewall Có 2 kiểu dịch đó là Tĩnh
và động
Sử dụng dịch tĩnh khi bạn muốn một host inside luôn luôn xuất hiện với một địa chỉ
cố định trên mạng global của PIX Firewall Dịch tĩnh được sử dụng để ánh xạ một địa chỉ host inside đến một outside, địa chỉ global:
Trang 10 Sử dụng lệnh static cho các kết nối bên ngoài để đảm bảo gói tin đi ra khỏi
một host inside luôn luôn được ánh xạ đến một địa chỉ IP global cụ thể ( ví dụ: một host inside DNS, SMTP)
Sử dụng riêng lệnh static cho các kết nối bên ngoài mà cần ánh xạ đến cùng
một địa chỉ IP global Những thông tin dưới đây có thể giúp bạn xác định khi nào thì sử dụng dịch tĩnh trong PIX Firewall:
Không tạo statics với chỉ IP tĩnh chồng chéo Mỗi địa chỉ IP cần duy nhất
Statics cần đảm bảo thứ tự trên cặp lệnh nat và global
Nếu một địa chỉ IP global được swer dụng cho cho dịch địa chỉ cổng (PAT), không sử dụng cùng địa chỉ IP global cho dịch tĩnh
Trang 11Dịch động được sử dụng cho host cục bộ và các kết nối bên ngoài của chúng và địa chỉ host được ẩn trước Internet Với dịch động, trước tiên bạn cần phải định nghĩa
host thích hợp cho việc dịch với lệnh nat và sau đó định nghĩa địa chỉ pool với lệnh
global Việc cấp dải địa chỉ được chọn trên outgoing interface dựa trên nat_id đã
được chọn với lệnh nat
Lệnh nat làm việc với lệnh global để kích hoạt NAT Lệnh nat kết hợp với một
mạng với dải địa chỉ IP Nó cho phép bạn chỉ định danh sách các host inside có thể
sử dụng PIX Firewall cho việc dịch
Trong hình vẽ trên thì địa chỉ global pool được gán bởi lệnh global là từ
192.168.0.20 đến 192.168.0.254, cho phép lên tới 235 địa chỉ IP riêng biệt
Trang 12Việc dịch tại lớp Ip và tiếp tục tại lớp vận chuyển Các kết nối là các tập hợp con của translation Bạn có thể có nhiều kết nối mở dưới một translation
Bạn có thể chỉ định tới 256 global pool địa chỉ IP Tối đã là một địa chỉ mạng lớp B hoặc 255 dịa chỉ lớp C – là 65.535 địa chỉ
Trang 13Lệnh xlate cho phép bạn hiển thị hoặc xóa nội dung của các translation slot
translation slot vẫn có thể còn mập mờ sau những thay đổi vừa mới tạo Luôn luôn
sử dụng lệnh clear xlate hoặc reload lại sau khi thêm, thay đổi hoặc gỡ bỏ các lệnh
alias, global, nat, route, static trong cấu hình
Cú pháp lệnh xlate như sau
clear xlate [global_ip [local_ip]]
show xlate [global_ip [local_ip]]
Global_ip Địa chỉ IP đã được đăng ký để sử dụng từ global pool
Local_ip Địa chỉ IP cục bộ từ mạng inside
Trang 14Truy cập thông qua PIX Firewall
Chỉ có 2 cách cho phép truy cập thông qua PIX Firewall :
Valid user request – tất cả các phiên từ inside đến outside Khi một server outside đáp ứng yêu cầu, PIX Firewall kiểm tra bảng translation để xem translation slot có tồn tại cho yêu cầu cụ thể hay không? Nếu nó tồn tại thì PIX Firewall cho phép phiên được tiếp tục Sau khi phiên kết thúc, translation slot sẽ bị xóa
Sau khi một phiên được thiết lập cho yêu cầu UDP, một cấu hình timer được thiết lập Phiên kết thúc dựa trên thời gian được phép cho phiên UDP và sau
đó đóng translation slot
Predefined statics and conduits – sử dụng trong truyền thông từ ouside đến inside Định nghĩa trước một static translation sử dụng một hoặc một dải các
Trang 15Mặc dù phần lớn các kết nối xảy ra từ một giao diện với mức an ninh cao hơn đến một giao diện có mức an ninh thấp hơn Cũng có lúc bạn muốn kết nối từ một giao diện có mức an ninh thấp đến giao diện có mức an ninh cao hơn Để thực hiện điều
này sử dụng lệnh static và conduit
Lệnh statics tạo một ánh xạ giữa một IP inside và một IP global Sử dụng lệnh
static cho phép bạn thiết lập một địa chỉ global cố định cho một địa chỉ IP inside cụ
thể Điều này sẽ tạo một lối vào cho một giao diện có mức an ninh thấp hơn đến giao diện có mức an ninh cao hơn
Sau khi tạo một ánh xạ tĩnh giữa một địa chỉ IP inside và một địa chỉ IP global sử
dụng lệnh static, kết nối từ outside đến inside vẫn bị khóa bởi ASA (thuật toán an ninh thích ứng ) của PIX Firewall Lệnh conduit được sử dụng để cho phép lưu lượng đi giữa các giao diện (giữa các vùng) Lệnh conduit loại trừ ASA của PIX
Trang 16Lệnh static tạo một ánh xạ cố định (được gọi là static translation hoặc xlate) giữa địa chỉ IP cục bộ và địa chỉ IP global Đối với các kết nối bên ngoài sử dụng static
để chỉ định một địa chỉ trong global pool mà luôn được sử dụng để dịch giữa host
cục bộ và địa chỉ global Đối với kết nối bên trong sử dụng lệnh static và conduit
để nhận biết địa chỉ hiện hữu trên mạng bên ngoài
Lệnh static tạo một ánh xạ cố định (static traslation slot) giữa địa chỉ IP cục bộ và
một địa chỉ đã được đăng ký
Trong ví dụ phía trên, khi một gói tin từ client 10.0.0.3 đi ra ngoài thông qua PIX Firewall nó sẽ có địa chỉ IP nguồn là 192.168.0.10 Các kết nối đến 192.168.0.10 là không giới hạn nhưng giới hạn embryonic connection là 1000
Cú pháp của lệnh static như dưới đây:
static [(internal_if_name, external_if_name)] global_ip local_ip [netmask
Trang 17Netmask Từ khóa yêu cầu trước khi chỉ định mặt nạn mạng
Mask Mặt nạ mạng gắn liền với cả 2 global_ip và local_ip
Max_conns Số tối đa kết nối cho phép qua static tại cùng một thời điểm
Emb_limit Giới hạn embryonic connection Một embryonic connection là
một connection bắt đầu nhưng chưa hoàn thành Thiết lập giới hạn này để ngăn cản tấn công theo kiểu tràn ngập embryonic connection Mặc định là 0, có nghĩa là không giới hạn kết nối
Norandomseq Không ngẫu nhiên hóa thứ tự gói tin TCP/IP Chỉ sử dụng tùy
chọn này nếu có một firewall nội tuyến khác cũng đang chạy chế độ ngẫu nhiên hóa và kết quả là làm xáo trộn dữ liệu Sử dụng tùy chọn này mở một lỗ hổng an ninh trong PIX Firewall
Mức an ninh cho mỗi interface được thiết lập bởi lệnh nameif Lệnh static cho phép
lưu lượng bắt đầu từ một interface với một mức an ninh thấp hơn quan PIX Firewall đến một interface có mức an ninh cao hơn Ví dụ, một static và conduit cần được cấu hình để cho phép các phiên vào từ outside interface đến DMZ interface, hoặc từ outside interface đến inside interface
Statics được ưu tiên trên cặp lệnh nat và global Sử dụng lệnh show static để hiển
thị trạng thái static trong cấu hình
Trong các phiên bản phần mềm 5.2 và cao hơn, tất cả các lưu lượng truyền vào, PIX Firewall sẽ hủy việc truyền đối với địa chỉ IP đích được nhận dạng là địa chỉ mạng
hay địa chỉ broadcast Nó sử dụng IP global và mask từ lệnh static để phân biệt địa
chỉ IP thông thường từ mạng hay địa chỉ broadcast, sau khi PIX Firewall cấm xlate đối với địa chỉ IP mạng hoặc địa chỉ broadcast với gói tin truyền vào
Trang 18Lệnh conduit cho phép hoặc hủy bỏ các kết nối từ outside PIX Firewall truy cập
đến các dịch vụ TCP/UDP trên các host inside Khai báo conduit tạo một ngoại lệ đến PIX Firewall ASA bằng cách cho phép các kết nối từ một giao diện mạng truy cập đến host trên giao diện khác
Để cho phép các kết nối từ một giao diện có mức an ninh thấp hơn đến một giao
diện có mức an ninh cao hơn, lệnh conduit cần được sử dụng
Ví dụ phía trên cho phép các dịch vụ FTP thông qua địa chỉ IP 192.168.0.10 đến
host inside 10.0.0.3 từ outside Global_ip và global_mask định nghĩa địa chỉ IP
hoặc những địa chỉ mà các kết nối được phép
Bạn có thể có tới 8000 conduit và có thể gỡ conduit bằng lệnh no conduit
Cú pháp cho lệnh conduit như dưới đây
Trang 19ospf, tcp, udp hoặc một số nguyên trong dải từ 0 đến 255 mô
tả một giao thức IP Sử dụng ip chỉ dịnh tất cả các giao thức
vận chuyển Bạn có thể hiển thị các giao thức hợp lệ tại //www.isi.edu/in- notes/iana/assignments/protocol-numbers
Icmp Cho phép hoặc cấm ICMP truy cập từ một hoặc nhiều hơn địa
chỉ IP global Chỉ định kiểu ICMP trong biến icmp_type hoặc
bỏ qua tất cả các kiểu ICMP
Global_ip Một địa chỉ IP global trước đó được định nghĩa bởi lệnh
global hoặc static Bạn có thể sử dụng bất kể địa chỉ IP nào
nếu global_ip và global_mask là 0.0.0.0 0.0.0.0 Lệnh any áp
dụng cho phép hoặc cấm đến địa chỉ global trên tất cả các interface
Operator Một toán hạng so sánh cho phép bạn chỉ định một port hoặc
dải các port Có thể có các giá trị là: eq, lt, any, gt, neq, range
Global_mask Mặt nạ mạng của global_ip Global_mask là một số 32 bit
Gồm 4 phần cách nhau bởi dấu chấm, ví dụ 255.255.255.255
Sử dụng số 0 chỉ ra vị trí bít được bỏ qua Sử dụng mạng con nếu cần đến
Nếu bạn sử dụng 0 cho global_ip, thì sử dụng 0 cho global_mask nếu không thì nhập global_mask phù hợp với global_ip
Port Dịch vụ bạn cho phép sử dụng trong khi truy cập global_ip
Chỉ định các dịch vụ bởi cách cổng, ví dụ 25 cho SMTP, 80 cho HTTP…0 có nghĩa là bất kỳ cổng nào Các giá trị cổng được định nghĩa trong RFC 1700 Cho phép các tên là dns,
Trang 20nào Nếu cả 2 foreign_ip và foreign_mask là 0.0.0.0 0.0.0.0
bạn có thể sử dụng viết tắt bất kỳ lệnh nào áp dụng cho tất cả các cổng
Foreign_mask Mặt nạ mạng của foreign_ip Foreign_mask là một số 32 bit,
có 4 phần, ví dụ 255.255.255.255 sử dụng số 0 trong một phần để cho biết vị trí bit được bỏ qua Sử dụng mạng con nếu cần thiết
Operator Một toán hạng so sánh cho phép bạn chỉ định một port hoặc
dải các port Có thể có các giá trị là: eq, lt, any, gt, neq, range
Port Dịch vụ bạn cho phép sử dụng trong khi truy cập global_ip
hoặc foreign_ip Chỉ định các dịch vụ bởi các cổng như là 25 cho SMTP, 80 cho HTTP…Bạn có thể chỉ định các cổng bởi tên hoặc số trong dải từ 0 đến 65535 Bạn có thể chỉ định tất
cả các cổng bằng cách không chỉ định giá trị nào, ví dụ
conduit deny tcp any any Lệnh này là điều kiện mặc định
cho lệnh conduit trong tất cả các cổng bị cấm cho đến khi permit
Note: Nếu bạn muốn người sử dụng bên trong có thể ping ra các host bên ngoài, bạn cần tạo một ICMP conduit cho echo reply Ví dụ, để ping đến tất cả các host sử
dụng lệnh conduit permit icmp any any Tuy nhiên điều này có thể là nguyên
nhân làm nhiều lưu lượng trên mạng
Trang 21Other Ways Through the PIX Firewall
Phần này sẽ mô tả các cách khác đi qua PIX Firewall như là PAT và Xlate
PAT là sự kết hợp một địa chỉ IP và một chỉ số port nguồn, nó tạo một phiên duy nhất PAT sử dụng cùng một địa chỉ IP cho tất cả các gói tin nhưng khác nhau đối với các port nguồn duy nhất lớn hơn 1024 PAT cung cấp những thuận lợi sau:
PAT và NAT có thể sử dụng cùng nhau
Địa chỉ PAT có thể khác nhau từ địa chỉ giao diện outside
Cung cấp sự mở rộng địa chỉ IP
Một địa chỉ IP outside được sử dụng cho 64,000 host inside
Ánh xạ chỉ số port đến một IP đơn
Trang 22Đặc tính mở rộng dải địa chỉ của PIX Firewall PAT:
Một địa chỉ IP outside được sử dụng cho khoảng 4000 host inside (giới hạn trên lý thuyết là 64000 host inside)
PAT ánh xạ chỉ số port đến một địa chỉ IP đơn
PAT cung cấp khả năng an ninh bằng cách ẩn dấu địa chỉ nguồn inside sử dụng một địa chỉ IP đơn từ PIX
PAT có thể dùng với NAT
Một PAT có thể là một địa chỉ ảo, khác từ địa chỉ outside Không sử dụng PAT khi đang chạy ứng dụng multimedia thông qua PIX Ứng dụng multimedia cần truy cập đến các cổng đặc biệt và có thể xung đột với lược
đồ cổng đưa ra bởi PIX Firewall Trong ví dụ của PAT, công ty XYZ chỉ có 4 địa chỉ đã đăng ký Một địa chỉ cho router vành đai, 1 địa chỉ cho PIX Firewall, một cho host bastion
Trang 23Bạn có thể sử dụng địa chỉ IP của outside interface như là địa chỉ PAT bằng cách sử
dụng lựa chọn interface của lệnh global Điều này rất quan trọng để cấu hình
DHCP Việc hỗ trợ DHCP sẽ được thảo luận sau
Trong hình vẽ, địa chỉ nguồn của host trên mạng 10.0.0.0 được dịch thành 192.168.0.2 cho việc truy cập ra và source port được thay đổi thành một số duy nhất lớn hơn 1024