Quy tắc cơ bản cho Security level là : Khi PIX firewall được cấu hình với 6 command cơ bản , dữ liệu có thể đi vào pix thông qua một interface với Security level caohơn , đi qua pix và đ
Trang 1Bài Viết Về PIX FIREWALL
Tác giả: Nguyễn Thị Băng Tâm
Chương 2: CẤU HÌNH CƠ BẢN CỦA PIX
1 ASA Security levels
Khi cấu hình PIX firewall , một điều quan trọng cần lưu ý là cấuhình pix có 2 interface cũng giống như cấu hình cho pix có 6interface Đó là vì PIX firewall hoạt động dựa trên cơ chế ASA(Adaptive Security Algorithm) sử dụng Security levels Giữa 2interface thì một sẽ có Security level cao hơn , một có Securitylevel thấp hơn
ASA Security levels :
Security level thiết kế cho interface là inside (trusted) hoặcinterface outside (untrusted) quan hệ với các interface khác Mộtinterface được xem là inside trong mối quan hệ với các interfacekhác nếu nó có Security level cao hơn các interface khác , mộtinterface được xem là outside nếu nó có Security level thấp hơnSecurity level của các interface khác
Quy tắc cơ bản cho Security level là :
Khi PIX firewall được cấu hình với 6 command cơ bản , dữ liệu
có thể đi vào pix thông qua một interface với Security level caohơn , đi qua pix và đi ra ngoài thông qua interface có Securitylevel thấp hơn Ngược lại , dữ liệu đi vào interface có Securitylevel thấp hơn không thể đi qua pix và đi ra ngoài thông quainterface có Security level cao hơn nếu trên pix không có cấu hình
conduit hoặc access-list để cho phép nó thực hiện điều này
Security level xắp xếp từ 0 đến 100 , cụ thể :
- Security level 100 : đây là Security level cao nhất cho mộtinterface Nó được sử dụng cho inside interface của PIXfirewall , là cấu hình mặc định cho Pix và không thể thay đổi
Vì 100 là Security level trusted nhất cho interface , mạng của
tổ chức thường ở sau interface này , không ai có thể truy nhậpvào mạng này trừ khi được phép thực hiện điều đó Việc chophép đó phải được cấu hình trên pix , các thiết bị bên trongmạng này có thể truy cập ra mạng outside
- Security level 0 : đây là Security level thấp nhất Securitylevel này được sử dụng cho outside interface Đây là cấu hìnhmặc định cho Pix và không thể thay đổi Vì 0 là Securitylevel ít trusted nhất cho một interface , các untrusted networkthường ở sau interface này Các thiết bị ở outside chỉ được
Trang 2phép truy cập vào pix khi nó được cấu hình để làm điều đó Interface này thường được dùng cho việc kết nối internet
- Security level 1-99 : Các Security level này có thể được đăng
kí cho perimeter interface kết nối đến PIX , mà thông thường
là những kết nối đến một mạng hoạt động như là demilitarizedzone (DMZ) DMZ là một thiết bị hay là một mạng thườngđược sử dụng cho phép user từ untrusted network truy cập vào DMZ là vùng được cách ly với môi trường internal , trusted
Ví dụ về ASA với pix có 3 interface , Security level trong ví dụnày cụ thể như sau :
• Outside security 0 đến DMZ security 50 thì DMZ này được
coi là inside Do đó cần phải có static translation với conduit cấu hình cho phép các session được khởi tạo từ
outside đến DMZ
• Inside security 100 đến DMZ security 50 thì DMZ này được
coi là outside Do đó global và nat thường được cấu hình để
cho phép các session khởi tạo từ inside interface đến DMZinterface
Note : Một PIX firewall có thể có đến 4 perimeter network do
đó nó có tối đa tổng cộng là 6 interfaces
Khi có nhiều kết nối giữa PIX firewall và các perimeter device thì:
• Dữ liệu đi từ interface có Security level cao hơn đến interface
có Security level thấp hơn : Cần phải có một translation (statichay dynamic) để cho phép traffic từ interface có Security levelcao hơn đi đến interface có Security level thấp hơn Khi đã cótranslation này , traffic bắt đầu từ inside interface đến outsideinterface sẽ được phép , trừ khi nó bị chặn bởi access-list ,authentication hoặc là authorization
• Dữ liệu đi từ interface có Security level thấp hơn đến interface
có Security level cao hơn : 2 điều quan trọng cần thiết phải
Trang 3được cấu hình để cho traffic từ interface có security thấp hơnđến interface security cao hơn là static translation và conduithoặc access-list Nếu conduit được cấu hình , user cũng cóthể chặn traffic nếu cấu hình thêm authentication hoặc làauthorization
• Dữ liệu đi qua 2 interface có Security level như nhau : Không
có traffic đi giữa 2 interface có level như nhau
2. Cấu hình cơ bản của PIX firewall
Phần này sẽ mô tả cấu hình cơ bản cần thiết để sử dụng PIXfirewall và cách thiết lập kết nối cơ bản từ internal network đếnpublic Internet
- Privileged mode : tại mode này user có thể thay đổi một vàicấu hình hiện tại và xem cấu hình trong pix Các câu lệnh ởmode unprivileged đều hoạt động tốt ở mode này Khi ta đãvào được mode privileged , thì ta có thể vào đượcconfiguration mode
- Configuration mode : Tại mode này ta có thể thay đổi cấuhình của hệ thống Tất cả các lệnh unprivileged , privileged ,configuration đều làm việc ở mode này
- Monitor mode : Tại mode này cho phép ta thao tác một số cấuhình đặc biệt như là update image hay password recovery Dấu hiệu để nhận biết đang ở trong mode nào :
b. Các lệnh dùng để duy trì và kiểm tra PIX firewall
- Enable command : lệnh enable cho phép ta tiến vào modeprivileged Để thoát ra và trở về mode trước đó , sử dụngdisable command
Trang 4- Enable password : tham số cấu hình này thiết lập passwordcho việc truy nhập vào mode enable Không có password mặcđịnh Khi truy cập vào mode này lần đầu tiên (trước khienable command được tạo ra) , pix đưa ra dấu nhắc cần nhậppassword Bởi vì password chưa được cấu hình nên chỉ đơngiản là nhấn Enter Password là case-sensitive và có thể dàiđến 16 chữ cái Ta có thể sử dụng bất kì kí tự nào ngoàikhoảng trắng , dấu hỏi , và dấu hai chấm Password ở dạng
mã hóa
- Passwd : password này được thiết lập cho inbound traffic
telnet đến pix Password mặc định là cisco
- Hostname : câu lệnh hostname cho phép ta thay đổi tên củaPix , mặc định pix có tên là pixfirewall
- Ping : lệnh ping quyết định PIX firewall có kết nối đến mộtđích cụ thể nào đó hay không Khi ping command được sử
dụng , pix sẽ gửi ra ngoài echo-request Đích sẽ đáp lại bằng một echo-reply nếu echo-reply được nhận thì host có tồn tại
Nếu không được nhận , ngõ ra sẽ xuất hiện “no responsereceived” Ping command truyền đi 3 echo-request để tìm địachỉ Nếu ta muốn internal host có thể ping được external
host , ta phải tạo một ICMP conduit hoặc là access-list để
cho phép echo-reply
Note: Sau khi pix được cấu hình và hoạt động , user sẽ không
thể từ outside interface ping được inside interface và ngược lại Nếu từ inside interface ping thấy được inside network , và outsideinterface ping thấy outside network thì pix họat động đúng vàbìng thường
- Telnet : lệnh telnet cho phép ta chỉ ra host nào có thể truy cậpcổng console PIX firewall thông qua telnet Với các version5.0 trở về trứơc , chỉ có các internal host mới có thể truy cậpvào PIX firewall thông qua telnet , nhưng các version saunày , user có thể telnet vào PIX firewall qua tất cả cácinterface Tuy nhiên , PIX firewall khuyến cáo rằng , tất cảtelnet traffic đến outside interface phải được bảo vệ bởiIPSEC Do đó , để khởi động một telnet session đến PIX ,user cần cấu hình pix để thiết lập IPSEC tunnel họăc là vớimột pix khác , hoặc là router , hay là VPN Client Tunnel đóphải được mã hóa cho các traffic đặc biệt trong đó có telnetđến một host nào đó được định nghĩa trong câu lệnh telnet
Có đến 16 host hoặc mạng được phép telnet đến Pix , nhưngtrong một lúc chỉ có 5 mà thôi
telnet ip_address [netmask] [if_name]
clear telnet [ip_address] [netmask] [if_name]
no telnet ip_address [netmask] [if_name]
Trang 5telnet timeout minutes
show telnet
show telnet timeout
- write terminal : cho xem cấu hình đang chạy trên pix , câulệnh này có ý nghĩa như câu lệnh show running-config Cấuhình này được lưu trong RAM
- write net : dùng để lưu running configuration vào TFTPserver
- write erase : xóa tập tin cấu hình trong Flash memory
- write memory : lưu tập tin running configuration vào Flash
- write floppy : lưu cấu hình hiện tại vào đĩa mềm
- write standby : ghi lại cấu hình được lưu trong RAM củaactive failover PIX , đến RAM của standby PIX firewall Khiactive PIX firewall boot , nó tự động ghi cấu hình này đếnstandby PIX firewall
c. Sáu câu lệnh cơ bản cho cấu hình PIX firewall :
• Nameif command :
nameif hardware_id if_name security_level
câu lệnh nameif dùng để đăng kí 1 tên cho mỗi interface củaPix và chỉ ra mức security của nó (ngoại trừ outside và insideinterface , chúng có tên mặc định )
Với cấu hình mặc định , e0 có tên là outside với mức security
là 0 , e1 có tên là inside với mức security là 100
• Interface command :
interface hardware_id hardware_speed [shutdown]
- hardware_id : chỉ ra interface và vị trí vật lí của nótrên pix
- hardware_speed : chỉ ra tốc độ kết nối Sử dụng auto
để pix tự động điều chỉnh tốc độ với thiết bị mà nó kếtnối
- shutdown : administratively shut down interface
Note: tránh sử dụng từ khóa auto trên bất kì interface Ethernet
nào Duplex mismatch có thể xảy ra và làm giảm hoạt động củaPix
• ip address command :
Mỗi interface trên pix phải được cấu hình với 1 địa chỉ
ip address if_name ip_address [netmask]
• nat command :
Network address translation (NAT) giúp cho user dấu đượcđịa chỉ internal khi đi ra mạng ngoài
nat (if_name) nat_id local_ip [netmask]
- if_name : tên của internal interface sẽ sử dụng địa chỉ
Trang 6global Dữ liệu sẽ đi ra khỏi pix thông qua interfaceđược chỉ ra trong global command
- nat_id : chỉ ra global pool , id này phải giống với idtrong global commad
- local_ip : địa chỉ IP được đăng kí đến thiết bị củainside netword 0.0.0.0 (có thể viết tắt là 0) được sửdụng để cho phép tất cả các kết nối outbound được nat
ra ngoài với điạ chỉ trong global command
- netmask : mặt nạ mạng cho local ip address
Khi bắt đầu cấu hình pix , tất cả các host có thể truy cập các kết
nối outbound với nat 1 0.0.0.0 0.0.0.0 command Câu lệnh này
có ý nghĩa cho phép tất cả các inside host được phép nat ra ngoàitương ứng với địa chỉ trong global command 0 có thể được sửdụng để thay thế 0.0.0.0
• global command :
Khi dữ liệu được gửi đi từ một trusted network đến untrustednetwork, địa chỉ source ip thường được chuyển đổi Pix thực hiện
điều này bằng 2 câu lệnh , câu lệnh thứ nhất là nat – định nghĩa
địa chỉ trusted source sẽ được chuyển đổi , câu lệnh thứ hai làglobal command - định nghĩa tầm địa chỉ mà source address sẽchuyển đổi thành
global (if_name) nat_id interface | global_ip [- global_ip]
netmask [global_mask]
Ví dụ về NAT :
Khi gói dữ liệu outbound được gửi từ một thiết bị thuộc mạnginside đến pix , địa chỉ source được extract ra và so sánh với bảngchuyển đổi internal Nếu địa chỉ của thiết bị không có trongbảng , nó sẽ được chuyển đổi thành Một entry mới được tạo racho thiết bị đó , sau đó nó được đăng kí một địa chỉ global ip từpool địa chỉ global Đây được gọi là translation slot Sau khitranslation xảy ra , bảng được update và gói ip được chuyển đổi
đó được gửi ra ngoài Sau khoảng thời gian timeout (mặc định là
3 giờ) , sẽ không có gói tin được translate nào dành cho địa chỉglobal đó , entry của nó ở trong bảng translation sẽ bị loại bỏ vàđịa chỉ global được sử dụng bởi bất kì host nào trong mạnginside
Quá trình được miêu tả như hình vẽ sau :
Trang 7NOTE : PIX firewall đăng kí địa chỉ từ global pool bắt đầu từ
thấp cho đến cao Sau khi thay đổi , thêm vào , hay loại bỏ một
global statement , sử dụng clear xlate để xóa tất cả các translation
slot
• Route command : định nghĩa một static route cho mộtinterface
route if_name ip_address netmask gateway_ip [metric]
3 PIX firewall translation
PIX firewall có thể được sử dụng để translate tất cả địa chỉ bêntrong , khi dữ liệu đi từ inside ra outside hay đi đến một mạng cómức security thấp hơn Nếu user ở mạng outside cố gắng thựchiện kết nối đến inside , user đó sẽ không thành công Mộtsession không thể được tạo ra từ Internet với địa chỉ đích là địachỉ private trừ khi nó được cấu hình cho phép thực hiện điều đó
Có hai cách để một mạng ít tin cậy hơn đi vào một mạng có độ tincậy cao hơn là :
- Response to Valid Request : Khi user ở inside thành lập mộtkết nối đến thiết bị ở outside , mặc định response cho request
đó được phép qua pix Tất cả kết nối từ inside đến outside sẽđược update trong bảng translation Khi một thiết bị outsideđáp ứng cho request đó , PIX firewall sẽ kiểm tra bảngtranslation để xem thử có translation slot nào tồn tại chorequest đó hay không ? Nếu nó tồn tại, PIX firewall cho phépresponse tiếp tục Sau khi session được tạo ra , idle timer sẽbắt đầu khởi động , mặc định là 3 giờ
- Cấu hình Conduit : Được sử dụng cho việc liên lạc từ outside
đến inside Static translation hoặc là global và nat được cấuhình trước , sau đó cấu hình conduit để định nghĩa địa chỉ ,hay là một nhóm địa chỉ , source port hay là destination port
Trang 8được phép đi qua pix
a Static address translation :
Static address translation được sử dụng nếu một host đượctranslate đến cùng một địa chỉ khi mỗi outbound session được tạo
ra qua pix Tức là nó được dùng để tạo ra một ánh xạ cố định(static translation slot) giữa một địa chỉ local và một địa chỉ global Khi kết nối đến internet , địa chỉ global phải được phải là địa chỉthực ( địa chỉ được đăng kí )
Static address translation được sử dụng bằng câu lệnhsau :
Static [(internal_if_name , external_if_name)] global_ip local_ip [netmask network_mask] [max_conns [em_limit]]
[norandomseq]
Đối với outbound connection , sử dụng static để chỉ ra một địa chỉglobal luôn được sử dụng cho việc translation giữa local host vàglobal host đó Đối với inbound connection , mặc định là các host
ở untrusted network sẽ không được vào trusted network , do đómuốn cho các mạng outside vào inside , ta sẽ phải sử dụng kếthợp cả static command và conduit command để định nghĩa các địachỉ trong mạng outside
Một chú ý quan trọng là :
o Conduit command cho phép kết nối từ interface có mức bảo
mật thấp hơn đến interface có mức bảo mật cao hơn
o Static command được sử dụng để tạo ra ánh xạ cố định giữa
local host và global ip address
Conduit command :
conduit permit | deny protocol global_ip global_mask [operator
port [port]] foreign_ip foreign_mask [operator port [port]]
Một ví dụ khi sử dụng conduit command là kiểm tra kết nối thôngqua pix với các message ICMP Để cho phép một gói tin echo-request từ outside qua pix , conduit phải được cấu hình Ngoài
ra , user outside cũng cần phải có một địa chỉ đích để sử dụng ,thông tin này có thể được map vào pix sử dụng static command
Trang 9b Dynamic address translation : đây chính là sử dụng nat và
global command mà ta đã nhắc đến phía trước
Ngoài ra thay vì nat các địa chỉ inside ra outside trong một poolđịa chỉ , ta cũng có thể nat bằng một địa chỉ global bằng cách sửdụng PAT (port address translation) PAT là sự kết hợp một địachỉ và một source port number để tạo ra một session duy nhất Pix sẽ translate mỗi địa chỉ local đến cùng một điạ chỉ globalnhưng đăng kí giá trị port khác nhau và lớn hơn 1024 Câu lệnhcấu hình PAT giống như Nat , nhưng trong global command , thay
vì sử dụng một pool địa chỉ ,ta chỉ sử dụng 1 địa chỉ
c Cấu hình NAT 0
Đây là chức năng phổ biến khi kết nối đến internet để cho phéptruy cập từ outside đến HTTP server hoặc là SMTP server Cácserver này phải có địa chỉ thực để còn liên lạc với các thiết bịkhác trong mạng internet Do đó có thể cấu hình pix để địa chỉprivate của thiết bị đó trong inside network được phép đi ra ngoàimạng mà không có quá trình translation
Sử dụng nat 0 command phụ thuộc vào chính sách bảo mật mànơi ta áp đặt nó vào Nếu chính sách đó cho phép các internalclient sử dụng địa chỉ private của chúng để đi ra ngoài internet ,nat 0 sẽ đáp ứng dịch vụ đó Sử dụng nat 0 một minh sẽ khôngcho phép truy cập từ outside đến inside Nếu chính sách cho phéptruy cập từ outside đến inside , ta phải cấu hình thêm conduitcommand
4. Truy nhập vào PIX firewall
Pix có thể được truy nhập vào thông qua port console hoặc là truycập từ xa qua các phương pháp sau :
- telnet
- Secure Shell (SSH)
- Browser sử dụng PIX device Manger (PDM)
a. Truy cập vào PIX bằng Telnet
Có thể quản lí PIX firewall thông qua Telnet từ các host thuộcinternal interface Nếu IPSEC được cấu hình thì ta có thể quản líPIX từ các interface có security level thấp hơn
Để truy cập vào PIX thông qua kết nối Telnet , ta cấu hình nhưsau :
bước 1 : cho phép host hay mạng được phép telnet :
telnet local_ip [mask] [if_name]
bước 2 : đặt password cho Telnet :
passwd telnetpasswd
Trang 10bước 3 : Nếu cần thiết thì thiết lập cho phép Telnet session đượcidle trong khoảng bao lâu trước khi Pix làm rớt kết nối Mặc định
là 5 phút
telnet timeout time
b Cấu hình truy cập PIX qua Secure Shell (SSH)
SSH là một chương trình ứng dụng chạy trên lớp transport , cókhả năng xác thực và mã hóa mạnh do đó nó có độ bảo mật caohơn Telnet 5 SSH client có thể được phép truy cập PIX consoleđồng thời PIX firewall hỗ trợ SSH v1
Cấu hình PIX cho việc truy cập thông qua SSH có 2 bước :
- Cấu hình trên PIX để chấp nhận kết nối SSH
- Cấu hình SSH client để kết nối đến PIX
5 LAB
Bài 1 : Cấu hình translation
Scenario :
Địa chỉ của các interface như sau :
E1E2
209.162.1.1/2410.10.10.1/24172.16.1.1/24Router
Trang 11Pix# write terminal
Building configuration
: Saved
:
PIX Version 6.2(2)
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 dmz security50
enable password 2KFQnbNIdI.2KYOU encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
hostname Pix
fixup protocol ftp 21
fixup protocol http 80
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol ils 389
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol sip 5060
fixup protocol skinny 2000
names
access-list aclout deny tcp any any eq www
access-list aclout permit tcp 10.10.10.0 255.255.255.0 host209.162.1.2 eq telnet access-list aclout permit tcp host10.10.10.10 host 172.16.1.2 eq www
access-list aclout permit ip any any
pager lines 24
interface ethernet0 auto
interface ethernet1 auto
interface ethernet2 auto
ip audit info action alarm
ip audit attack action alarm
no failover
failover timeout 0:00:00
failover poll 15
failover ip address outside 0.0.0.0
failover ip address inside 0.0.0.0
Trang 12access-group aclout in interface inside
conduit permit tcp host 209.162.1.10 eq www any
conduit permit tcp host 209.162.1.9 eq www any
conduit permit tcp host 209.162.1.9 eq telnet any
conduit permit icmp any any
route outside 0.0.0.0 0.0.0.0 209.162.1.2 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00timeout uauth 0:05:00 absolute
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius
aaa-server LOCAL protocol local
no snmp-server location
no snmp-server contact
snmp-server community public
no snmp-server enable traps
service timestamps debug uptime
service timestamps log uptime
no service password-encryption