Tải bản đầy đủ (.doc) (43 trang)

THỰC TẬP CƠ SỞ - PHƯƠNG PHÁP LẬP TRÌNH VƯỢT FIREWALL pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.06 MB, 43 trang )

Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI THỰC TẬP CƠ SỞ:
CÁC PHƯƠNG PHÁP LẬP TRÌNH VƯỢT
FIREWALL
Học Viện Kỹ Thuật Mật Mã Trang
1
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
MỤC LỤC
Lời Nói Đầu
Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ
theo cả chiều sâu và chiều rộng. Máy tính không còn là một phương tiện quý
hiếm mà ngày càng trở thành công cụ làm việc và giải trí thông dụng của con
người.
Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và
các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông
tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị.
Ở Việt Nam cũng có rất nhiều doanh nghiệp đang tiến hành thương mại hóa
trên Internet nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa
Học Viện Kỹ Thuật Mật Mã Trang
2
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
phát triển mạnh, các dịch vụ thanh toán điện tử qua ngân hàng chưa phổ biến
nên chỉ dừng lại ở mức độ giới thiệu sản phẩm và tiếp nhận đơn đặt hàng thông
qua web.
Để tiếp cận và góp phần đẩy mạnh sự phổ biến của công nghệ thông tin
chúng em đã tìm hiểu về đề tài “Các phương pháp tấn công vượt tường lửa.”
Với sự hướng dẫn tận tình của thầy Phạm Văn Hưởng nhóm em đã hoàn thành
bản báo cáo này. Tuy đã cố gắng hết sức tìm hiểu, phân tích nhưng chắc rằng
không tránh khỏi những thiếu sót. Nhóm em rất mong nhận được sự thông cảm


và góp ý của quí Thầy cô. Nhóm em xin chân thành cảm ơn.
Hà Nội, th¸ng 12 n¨m 2010
Nhóm sinh viên thực hiện:
Trương Văn Trường
Nguyễn Xuân Phao
Phạm Văn Trọng
Học Viện Kỹ Thuật Mật Mã Trang
3
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
CHƯƠNG I: Tổng Quan Về Firewall
1.1 Đặt vấn đề
Song song với việc xây dựng nền tảng về công nghệ thông tin, cũng như
phát triển các ứng dụng máy tính trong sản xuất, kinh doanh, khoa học, giáo
dục, xã hội, thì việc bảo về những thành quả đó là một điều không thể thiếu.
Sử dụng các bức tường lửa (Firewall) để bảo vệ mạng nội bộ (Intranet), tránh sự
tấn công từ bên ngoài là một giải pháp hữu hiệu
Những thông tin lưu trữ trên hệ thống máy tính cần được bảo vệ do các
yêu cầu sau:
* Bảo mật: Những thông tin có giá trị về kinh tế, quân sự, chính sách vv
cần được giữ kín.
* Tính toàn vẹn: Thông tin không bị mất mát hoặc sửa đổi, đánh tráo.
* Tính kịp thời: Yêu cầu truy nhập thông tin vào đúng thời điểm cần thiết.
Trong các yêu cầu này, thông thường yêu cầu về bảo mật được coi là yêu
cầu số một đối với thông tin lưu trữ trên mạng. Tuy nhiên, ngay cả khi những
thông tin này không được giữ bí mật, thì những yêu cầu về tính toàn vẹn cũng
rất quan trọng. Không một cá nhân, một tổ chức nào lãng phí tài nguyên vật
chất và thời gian để lưu trữ những thông tin mà không biết về tính đúng đắn của
những thông tin đó.
Học Viện Kỹ Thuật Mật Mã Trang
4

Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
1.2 Phân loại Các kiểu tấn công
1.2.1 Tấn công trực tiếp
Kẻ tấn công có thể sử dụng những thông tin như tên người dùng, ngày
sinh, địa chỉ, số nhà vv… để đoán mật khẩu. Trong trường hợp có được danh
sách người sử dụng và những thông tin về môi trường làm việc, có một trương
trình tự động hoá về việc dò tìm mật khẩu này. Một chương trình có thể dễ dàng
lấy được từ Internet để giải các mật khẩu đã mã hoá của các hệ thống unix có
tên là crack, có khả năng thử các tổ hợp các từ trong một từ điển lớn, theo
những quy tắc do người dùng tự định nghĩa. Trong một số trường hợp, khả năng
thành công của phương pháp này có thể lên tới 30%.
Sử dụng các lỗi của chương trình ứng dụng và bản thân hệ điều hành đã
được sử dụng từ những vụ tấn công đầu tiên và vẫn được tiếp tục để chiếm
quyền truy nhập. Trong một số trường hợp phương pháp này cho phép kẻ tấn
công có được quyền của người quản trị hệ thống (root hay administrator). Hai
ví dụ thường xuyên được đưa ra để minh hoạ cho phương pháp này là ví dụ với
chương trình sendmail và chương trình rlogin của hệ điều hành UNIX.
Sendmail là một chương trình phức tạp, với mã nguồn bao gồm hàng
ngàn dòng lệnh của ngôn ngữ C. Sendmail được chạy với quyền ưu tiên của
người quản trị hệ thống, do chương trình phải có quyền ghi vào hộp thư
của những người sử dụng máy. Và Sendmail trực tiếp nhận các yêu cầu về
thư tín trên mạng bên ngoài. Đây chính là những yếu tố làm cho sendmail trở
thành một nguồn cung cấp những lỗ hổng về bảo mật để truy nhập hệ thống.
Rlogin cho phép người sử dụng từ một máy trên mạng truy nhập từ xa
vào một máy khác sử dụng tài nguyên của máy này. Trong quá trình nhận tên
và mật khẩu của người sử dụng, rlogin không kiểm tra độ dài của dòng
nhập, do đó kẻ tấn công có thể đưa vào một xâu đã được tính toán trước để ghi
đè lên mã chương trình của rlogin, qua đó chiếm được quyền truy nhập.
Học Viện Kỹ Thuật Mật Mã Trang
5

Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
1.2.2 Nghe trộm
Việc nghe trộm thường được tiến hành ngay sau khi kẻ tấn công đã
chiếm được quyền truy nhập hệ thống, thông qua các chương trình cho
phép bắt các gói tin vào chế độ nhận toàn bộ các thông tin lưu truyền trên
mạng. Những thông tin này cũng có thể dễ dàng lấy được trên Internet.
1.2.3 Vô hiệu các chức năng của hệ thống (DoS, DDoS)
Đây là kểu tấn công nhằm tê liệt hệ thống, không cho nó thực hiện chức
năng mà nó thiết kế. Kiểu tấn công này không thể ngăn chặn được, do những
phương tiện đợc tổ chức tấn công cũng chính là các phương tiện để làm việc và
truy nhập thông tin trên mạng. Ví dụ sử dụng lệnh ping với tốc độ cao nhất có
thể, buộc một hệ thống tiêu hao toàn bộ tốc độ tính toán và khả năng của mạng
để trả lời các lệnh này, không còn các tài nguyên để thực hiện những công việc
có ích khác.
Hình 1: Mô hình tấn công DDoS
Client là một attacker sắp xếp một cuộc tấn công
• Handler là một host đã được thỏa hiệp để chạy những chương trình
• Đặc biệt dùng để tấn công
• Mỗi handler có khả năng điều khiển nhiều agent
• Mỗi agent có trách nhiệm gửi stream data tới victim
Học Viện Kỹ Thuật Mật Mã Trang
6
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
1.2.4 Tấn công vào yếu tố con người
Kẻ tấn công có thể liên lạc với một ngời quản trị hệ thống, giả làm một
người sử dụng để yêu cầu thay đổi mật khẩu, thay đổi quyền truy nhập của
mình đối với hệ thống, hoặc thậm chí thay đổi một số cấu hình của hệ thống để
thực hiện các phương pháp tấn công khác. Với kiểu tấn công này không một
thiết bị nào có thể ngăn chặn một cách hữu hiệu, và chỉ có một cách giáo dục
người sử dụng mạng nội bộ về những yêu cầu bảo mật để đề cao cảnh giác với

những hiện tượng đáng nghi. Nói chung yếu tố con người là một điểm yếu trong
bất kỳ một hệ thống bảo vệ nào, và chỉ có sự giáo dục cộng với tinh thần hợp
tác từ phía người sử dụng có thể nâng cao được độ an toàn của hệ thống bảo vệ.
1.3 Firewall là gì ?
Trong công nghệ mạng thông tin, Firewall là một kỹ thuật được tích hợp
vào hệ thống mạng để chống sự truy cập trái phép, nhằm bảo vệ các nguồn
thông tin nội bộ và hạn chế sự xâm nhập không mong muốn vào hệ thống. Cũng
có thể hiểu Firewall là một cơ chế (mechanism) để bảo vệ mạng tin tưởng
(Trustednetwork) khỏi các mạng không tin tưởng (Untrusted network).
Hình 2: Mô hình firewall
Firewall là hệ thống ngăn chặn việc truy nhập trái phép từ bên ngoài vào
mạng cũng như những kết nối không hợp lệ từ bên trong ra. Firewall thực hiện
việc lọc bỏ những địa chỉ không hợp lệ dựa theo các quy tắc hay chỉ tiêu định
trước.
Học Viện Kỹ Thuật Mật Mã Trang
7
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
Hình 3: Lọc gói tin tại firewall
Firewall có thể là hệ thống phần cứng, phần mềm hoặc kết hợp cả hai.
Nếu là phần cứng, nó có thể chỉ bao gồm duy nhất bộ lọc gói tin hoặc là thiết bị
định tuyến (router được tích hợp sẵn chức năng lọc gói tin). Bộ định tuyến có
các tính năng bảo mật cao cấp, trong đó có khả năng kiểm soát địa chỉ IP. Quy
trình kiểm soát cho phép bạn định ra những địa chỉ IP có thể kết nối với mạng
của bạn và ngược lại. Tính chất chung của các Firewall là phân biệt địa chỉ IP
dựa trên các gói tin hay từ chối việc truy nhập bất hợp pháp căn cứ trên địa chỉ nguồn.
1.3.1 Các chức năng chính:
Chức năng chính của Firewall là kiểm soát luồng thông tin từ giữa
Intranet và Internet. Thiết lập cơ chế điều khiển dòng thông tin giữa mạng bên
trong (Intranet) và mạng Internet. Cụ thể là:
• Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet ra Internet).

• Cho phép hoặc cấm những dịch vụ phép truy nhập vào trong (từ
Internet vào Intranet).
• Theo dõi luồng dữ liệu mạng giữa Internet và Intranet.
• Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập.
• Kiểm soát người sử dụng và việc truy nhập của người sử dụng. Kiểm
soát nội dung thông tin lưu chuyển trên mạng.
Học Viện Kỹ Thuật Mật Mã Trang
8
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
Hình 4: Một số chức năng của Firewall
1.3.2 Nguyên lý
Khi nói đến việc lưu thông dữ liệu giữa các mạng với nhau thông qua
Firewall thì điều đó có nghĩa rằng Firewall hoạt động chặt chẽ với giao thức
TCI/IP. Vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận
được từ các ứng dụng trên mạng, hay nói chính xác hơn là các dịch vụ chạy trên
các giao thức (Telnet, SMTP, DNS, SMNP, NFS ) thành các gói dữ liệu (data
pakets) rồi gán cho các paket này những địa chỉ để có thể nhận dạng, tái lập lại
ở đích cần gửi đến, do đó các loại Firewall cũng liên quan rất nhiều đến các
packet và những con số địa chỉ của chúng.
Học Viện Kỹ Thuật Mật Mã Trang
9
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
Hình 5: Lọc gói tin
Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được. Nó
kiểm tra toàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn
một trong số các luật lệ của lọc packet hay không. Các luật lệ lọc packet này là
dựa trên các thông tin ở đầu mỗi packet (packet header), dùng để cho phép
truyền các packet đó ở trên mạng.
Đó là:
• Địa chỉ IP nơi xuất phát ( IP Source address)

• Địa chỉ IP nơi nhận (IP Destination address)
• Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)
• Cổng TCP/UDP nơi xuất phát (TCP/UDP source port)
• Cổng TCP/UDP nơi nhận (TCP/UDP destination port)
• Dạng thông báo ICMP ( ICMP message type)
• Giao diện packet đến ( incomming interface of packet)
• Giao diện packet đi ( outcomming interface of packet)
Nếu luật lệ lọc packet được thoả mãn thì packet được chuyển qua
Firewall. Nếu không packet sẽ bị bỏ đi. Nhờ vậy mà Firewall có thể ngăn cản
được các kết nối vào các máy chủ hoặc mạng nào đó được xác định, hoặc khoá
việc truy cập vào hệ thống mạng nội bộ từ những địa chỉ không cho phép. Hơn
nữa, việc kiểm soát các cổng làm cho Firewall có khả năng chỉ cho phép một số
Học Viện Kỹ Thuật Mật Mã Trang
10
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
loại kết nối nhất định vào các loại máy chủ nào đó, hoặc chỉ có những dịch vụ
nào đó (Telnet, SMTP, FTP ) được phép mới chạy được trên hệ thống mạng
cục bộ.
Ưu điểm:
Đa số các hệ thống Firewall đều sử dụng bộ lọc packet. Một trong những
ưu điểm của phương pháp dùng bộ lọc packet là chi phí thấp vì cơ chế lọc
packet đã được bao gồm trong mỗi phần mềm router.
Ngoài ra, bộ lọc packet là trong suốt đối với người sử dụng và các ứng
dụng, vì vậy nó không yêu cầu sự hiểu biết chuyên sâu nào cả.
Hạn chế:
Việc định nghĩa các chế độ lọc packet là một việc khá phức tạp, đòi hỏi
người quản trị mạng cần có hiểu biết chi tiết vể các dịch vụ Internet, các dạng
packet header, và các giá trị cụ thể có thể nhận trên mỗi trường.
Do làm việc dựa trên header của các packet, rõ ràng là bộ lọc packet
không kiểm soát được nội dung thông tin của packet. Các packet chuyển qua

vẫn có thể mang theo những hành động với ý đồ ăn cắp thông tin hay phá hoại
của kẻ xấu.
1.3.3 Các dạng firewall
1.3.3.1 Firewall cứng
Thiết bị sản xuất ra chuyên làm một nhiệm vụ firewall.
Đơn giản, dễ lắp đặt, cấu hình, quản lý
* Không làm được cache, loại có cache thì quá đắt. Cache chỉ phát huy tác
dụng khi rất nhiều người vào cùng một site, dữ liệu sẽ được cache server đáp
ứng cho người dùng (local nên rất nhanh) và cache sẽ định kỳ refresh lại các
thông tin cache. Nếu trong mạng của mình có khoảng <10PC thì cache chẳng có
ý nghĩa gì mấy, thậm chí còn ngược lại Stick out tongue.
* Feature rich, ta nên dùng UTM firewall (UTM - Unified Threat
Management) là loại không chỉ là firewall mà còn chống virus, chống tấn công,
Học Viện Kỹ Thuật Mật Mã Trang
11
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
chống spam, lọc nội dung web, quản lý điều tiết băng thông cho từng dịch vụ,
chống P2P,
* Có thể quản lý tập trung về firewall và bảo mật, người làm SI nên cũng
biết một số loại firewall, để lựa chọn cho khách hàng tùy theo mục đích, yêu
cầu, tóm lại trong trường hợp triển khai rộng, cho nhiều đơn vị, các đơn vị
không có dân IT chuyên nghiệp, nên dùng firewall cứng.
+ Ưu điểm: tối ưu hóa cho một công việc nên ổn định và tin cậy cao
+ Nhược điểm: Ít có khả năng linh động và khó nâng cấp.
1.3.3.2 Firewall mềm
Một software được cài đặt trên 1 hệ điều hành nào đó để làm nhiệm vụ
của 1 firewall
* Có nhiều lựa chọn như Squid+IP table (Redhat), WinGate, nhưng phổ biến
nhất chắc là ISA trên Windows.
* Có thể làm được gần như "mọi thứ" Smile hay dùng nhất là firewall (thiết lập

các policy truy nhập) và cache để tăng tốc truy nhập các trang web, đây có lẽ
là ưu điểm nổi trội nhất.
* Nhược điểm "nổi trội".
* Cần người hiểu biết: biết cài đặt và biết xử lý khi có sự cố
- Biết cài đặt: muốn cài đặt ISA nên : cài windows, chỉ cài các thành phần cần
thiết, các thành phần dịch vụ không cần thiết phải bỏ đi, cài các bản vá lỗi của
Windows (critical + recommend); "hardening your server" nghĩa là tunning một
số registry về network, tăng buffer để máy tính có khả năng chịu tấn công tốt
hơn, xử lý mạng tốt hơn, ; cài ISA cấu hình và tunning ISA
* Bản quyền cũng là một vấn - nếu muốn dùng Smiles
+ Ưu điểm : linh hoạt và dễ nâng cấp
+ Nhược điểm : Phụ thuộc nhiều vào hệ điều hành và software.
- Các công ty lớn thường sử dụng cả 2 loại "mềm" và "cứng" tùy theo để lọc ở
trong hay ở ngoài.
Học Viện Kỹ Thuật Mật Mã Trang
12
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
Hình 7: Firewall mềm
Cầu nối đóng vai trò trung gian giữa hai giao thức. Ví dụ, trong một mô
hình gateway đặc trưng, gói tin theo giao thức IP không được chuyển tiếp tới
mạng cục bộ, lúc đó sẽ hình thành quá trình dịch mà gateway đóng vai trò bộ
phiên dịch.
Ưu điểm của Firewall application gateway là không phải chuyển tiếp IP.
Quan trọng hơn, các điều khiển thực hiện ngay trên kết nối. Quá trình chuyển
tiếp IP diễn ra khi một server nhận được tín hiệu từ bên ngoài yêu cầu chuyển
tiếp thông tin theo định dạng IP vào mạng nội bộ. Việc cho phép chuyển tiếp IP
là lỗi không tránh khỏi, khi đó, hacker có thể thâm nhập vào trạm làm việc trên
mạng của bạn.
Hạn chế khác của mô hình Firewall này là mỗi ứng dụng bảo mật (proxy
application) phải được tạo ra cho từng dịch vụ mạng. Như vậy một ứng dụng

dùng cho Telnet, ứng dụng khác dùng cho HTTP, v.v Do không thông qua quá
trình chuyển dịch IP nên gói tin IP từ địa chỉ không xác định sẽ không thể tới máy
tính trong mạng của bạn, do đó hệ thống applicationgateway có độ bảo mật cao hơn.
1.4 Hạn chế của Firewall
• Firewall không đủ thông minh như con người để có thể đọc hiểu từng loại
thông tin và phân tích nội dung tốt hay xấu của nó. Firewall chỉ có thể ngăn
Học Viện Kỹ Thuật Mật Mã Trang
13
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
chặn sự xâm nhập của những nguồn thông tin không mong muốn nhưng phải
xác định rõ các thông số địa chỉ.
• Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công này
không "đi qua" nó. Một cách cụ thể, firewall không thể chống lại một cuộc tấn
công từ một đường dial-up, hoặc sự dò rỉ thông tin do dữ liệu bị sao chép bất
hợp pháp lên đĩa mềm.
• Firewall cũng không thể chống lại các cuộc tấn công bằng dữ liệu (data-
driven attack). Khi có một số chương trình được chuyển theo thư điện tử, vượt
qua firewall vào trong mạng được bảo vệ và bắt đầu hoạt động ở đây.
• Một ví dụ là các virus máy tính. Firewall không thể làm nhiệm vụ rà quét
virus trên các dữ liệu được chuyển qua nó, do tốc độ làm việc, sự xuất hiện liên
tục của các virus mới và do có rất nhiều cách để mã hóa dữ liệu, thoát khỏi khả
năng kiểm soát của firewall. Tuy nhiên, Firewall vẫn là giải pháp hữu hiệu được
áp dụng rộng rãi.
Học Viện Kỹ Thuật Mật Mã Trang
14
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
1.5 Một số mô hình Firewall
1.5.1 Packet-Filtering Router
Hệ thống Internet firewall phổ biến nhất chỉ bao gồm một packet-filtering
router đặt giữa mạng nội bộ và Internet. Một packet-filtering router có hai chức

năng: chuyển tiếp truyền thông giữa hai mạng và sử dụng các quy luật về lọc
gói để cho phép hay từ chối truyền thông.
Hình 8: Packet filtering
Căn bản, các quy luật lọc đựơc định nghĩa sao cho các host trên mạng
nội bộ được quyền truy nhập trực tiếp tới Internet, trong khi các host trên
Internet chỉ có một số giới hạn các truy nhập vào các máy tính trên mạng nội
bộ. Tư tưởng của mô cấu trúc firewall này là tất cả những gì không được chỉ ra
rõ ràng là cho phép thì có nghĩa là bị từ chối.
Ưu điểm:
• Giá thành thấp, cấu hình đơn giản
• Trong suốt(transparent) đối với user.
Học Viện Kỹ Thuật Mật Mã Trang
15
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
Hạn chế:
Có rất nhiều hạn chế đối với một packet-filtering router, như là dễ bị tấn
công vào các bộ lọc mà cấu hình được đặt không hoàn hảo, hoặc là bị tấn công
ngầm dưới những dịch vụ đã được phép. Bởi vì các packet được trao đổi trực
tiếp giữa hai mạng thông qua router, nguy cơ bị tấn công quyết định bởi số lợng
các host và dịch vụ được phép.
Điều đó dẫn đến mỗi một host được phép truy nhập trực tiếp vào Internet
cần phải được cung cấp một hệ thống xác thực phức tạp, và thường xuyên kiểm
tra bởi người quản trị mạng xem có dấu hiệu của sự tấn công nào không.
Nếu một packet-filtering router do một sự cố nào đó ngừng hoạt động, tất
cả hệ thống trên mạng nội bộ có thể bị tấn công
1.5.2 Mô hình Single-Homed Bastion Host
Hình 9: Mô hình single-Homed Bastion Host
Hệ thống này bao gồm một packet-filtering router và một bastion host.
Hệ thống này cung cấp độ bảo mật cao hơn hệ thống trên, vì nó thực hiện cả
bảo mật ở tầng network (packet-filtering) và ở tầng ứng dụng (application

level). Đồng thời, kẻ tấn công phải phá vỡ cả hai tầng bảo mật để tấn công vào
mạng nội bộ.
Học Viện Kỹ Thuật Mật Mã Trang
16
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
Trong hệ thống này, bastion host được cấu hình ở trong mạng nội bộ.
Quy luật filtering trên packet-filtering router được định nghĩa sao cho tất cả các
hệ thống ở bên ngoài chỉ có thể truy nhập bastion host. Việc truyền thông tới tất
cả các hệ thống bên trong đều bị khoá. Bởi vì các hệ bastion host ở trên cùng
một mạng, chính sách bảo mật của một tổ chức sẽ quyết định xem các hệ thống
nội bộ được phép truy nhập trực tiếp vào bastion Internet hay là chúng phải sử
dụng dịch vụ proxy trên bastion host. Việc bắt buộc những user nội bộ được
thực hiện bằng cách đặt cấu hình bộ lọc của router sao cho chỉ chấp nhận những
truyền thông nội bộ xuất phát từ bastion host.
Ưu điểm: Bởi vì bastion host là hệ thống bên trong duy nhất có thể truy nhập
được từ Internet, sự tấn công cũng chỉ giới hạn đến bastion host mà thôi. Tuy
nhiên, nếu như user logon được vào bastion host thì họ có thể dễ dàng truy nhập
toàn bộ mạng nội bộ. Vì vậy cần phải cấm không cho user logon vào bastion
host.
1.5.3 Mô hình Dual-Homed Bastion Host
Demilitarized Zone (DMZ) hay Screened-subnet Firewall hệ thống bao
gồm hai packet-filtering router và một bastion host. Hệ có độ an toàn cao nhất
vì nó cung cấp cả mức bảo mật network và application. Mạng DMZ đóng vai
trò như một mạng nhỏ, cô lập đặt giữa Internet và mạng nội bộ. Cơ bản, một
DMZ được cấu hình sao cho các hệ thống trên Internet và mạng nội bộ chỉ có
thể truy nhập được một số giới hạn các hệ thống trên mạng DMZ, và sự truyền
trực tiếp qua mạng DMZ là không thể được.
Học Viện Kỹ Thuật Mật Mã Trang
17
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng


Hình 10: Mô hình Dual-Homed Bastion Host
Với những thông tin đến, router ngoài chống lại những sự tấn công chuẩn
(như giả mạo địa chỉ IP), và điều khiển truy nhập tới DMZ. Hệ thống chỉ cho
phép bên ngoài truy nhập vào bastion host. Router trong cung cấp sự bảo vệ thứ
hai bằng cách điều khiển DMZ truy nhập mạng nội bộ chỉ với những truyền
thông bắt đầu từ bastion host. Với những thông tin đi, router trong điều khiển
mạng nội bộ truy nhập tới DMZ. Nó chỉ cho phép các hệ thống bên trong truy
nhập bastion host và có thể cả information server. Quy luật filtering trên router
ngoài yêu cầu sử dung dich vụ proxy bằng cách chỉ cho phép thông tin ra bắt
nguồn từ bastion host.
Ưu điểm: Kẻ tấn công cần phá vỡ ba tầng bảo vệ: router ngoài, bastion host và
route
Chỉ có một số hệ thống đã được chọn ra trên DMZ là được biết đến bởi
Internet qua routing table và DNS information exchange (Domain Name
Server). Bởi vì router trong chỉ quảng cáo DMZ network tới mạng nội bộ, các
hệ thống trong mạng nội bộ không thể truy nhập trực tiếp vào Internet. Điều
nay đảm bảo rằng những user bên trong bắt buộc phải truy nhập Internet qua
dịch vụ proxy.
Học Viện Kỹ Thuật Mật Mã Trang
18
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
1.5.4 Proxy server
Chúng ta sẽ xây dựng Firewall theo kiến trúc application-level gateway,
theo đó một bộ chương trình proxy được đặt ở gateway ngăn cách một mạng
bên trong (Intranet) với Internet. Bộ chương trình proxy được phát triển dựa
trên bộ công cụ xây dựng Internet Firewall TIS (Trusted Information System),
bao gồm một bộ các chương trình và sự đặt lại cấu hình hệ thống để nhằm mục
đích xây dựng một Firewall. Bộ chương trình được thiết kế để chạy trên hệ
UNIX sử dụng TCP/IP với giao diện socket Berkeley.

Hình 11: Mô hình 1 Proxy đơn giản
Bộ chương trình proxy được thiết kế cho một số cấu hình firewall, theo
các dạng cơ bản: dual-home gateway, screened host gateway, và screened
subnet gateway. Thành phần Bastion host trong Firewall, đóng vai trò như một
người chuyển tiếp thông tin, ghi nhật ký truyền thông, và cung cấp các dịch vụ,
đòi hỏi độ an toàn cao. Proxy server chúng ta sẽ tìm hiểu kĩ hơn ở phần sau.
Học Viện Kỹ Thuật Mật Mã Trang
19
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
CHƯƠNG II: Các Phương Pháp Lập Trình Vượt Firewall
2.1 Vượt firewall là gì?
•Vượt firewall là vượt qua sự truy cản của các chương trình bảo mật
(Firewall) để có thể truy cập đến được đích mong muốn
•Vượt firewall có thể là vượt từ bên trong ra hay từ bên ngoài vào
• Vượt firewall từ bên trong ra, có thể tóm gọn lại có 3 hình thức vượt
firewall chủ yếu là: http proxy, web- based proxy, http tunneling.
2.2 Một sô phương pháp vượt firewall
2.2.1 Phương pháp HTTP Proxy
• Là phương pháp mà server sử dụng một cổng nào đó để trung chuyển
các yêu cầu, các server này thường được gọi là web proxy server hay http proxy
server
• Khi các yêu cầu của client bị từ chối bởi người quản trị (hay nói chính
xác hơn là các chương trình quản lý trong mạng LAN), thì người sử dụng có thể
sử dụng các proxy server để chuyển tiếp các yêu cầu mà trong đó, proxy server
là một địa chỉ được cho phép kết nối đến.
• Các proxy server này thường không cố định, nó thường có thời gian sống
rất ngắn.
• Sử dụng proxy này, bạn chỉ cần cấu hình mục proxy mà trong hầu hết các
Web browser đều có hỗ trợ
2.2.1.1 Khi các HTTP Proxy Server trở nên hữu ích

• Nhiệm vụ chính của HTTP proxy server là cho phép những client bên
trong truy cập ra internet mà không bị ngăn trở bởi Firewall. Lúc này tất cả các
client phía sau Firewall đều có thể truy cập ra ngoài Internet và không bị ngăn
trở bởi các dịch vụ bảo mật
• Proxy server lắng nghe các yêu cầu từ các client và chuyển tiếp (forward)
những yêu cầu này đến các server bên ngoài Internet. Proxy server đọc phản hồi
(response) từ các server bên ngoài rồi gửi trả chúng cho các client bên trong.
Học Viện Kỹ Thuật Mật Mã Trang
20
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
• Thông thường, những client mà cùng subnet thì dùng cùng một proxy server.
Do đó, proxy server có thể cache các document để phục vụ cho các client có
cùng nhu cầu (cùng truy cập đến một trang chẳng hạn).
• Người dùng khi sử dụng proxy cảm thấy họ đang nhận các phản hồi một
cách trực tiếp từ bên ngoài. Nhưng thực sự thì họ đang ra ngoài Internet một
cách gián tiếp thông qua proxy.
• Các client mà không sử dụng DNS vẫn có thể duyệt web vì họ chỉ cần một
thông tin duy nhất, đó là địa chỉ IP của proxy server. Tương tự, các cơ quan,
doanh nghiệp… sử dụng các địa chỉ ảo (10.x.x.x,
192.168.x.x,172.16.x.x,172.32.x.x) vẫn có thể ra ngoài Internet một cách bình
thường thông qua proxy server.
• Các proxy server có thể cho phép hay từ chối các yêu cầu dựa trên giao
thức của các kết nối. Ví dụ như: một proxy server có thể cho phép các kết nối
HTTP trong khi từ chối các kết nối FTP.
• Khi bạn dùng proxy server như một cổng ra ngoài Internet từ mạng LAN, bạn
có thể chọn lựa các tùy chọn như sau:
- Cho phép hay ngăn chặn client truy cập Internet dựa trên nền tảng địa chỉ IP
- Caching document: lưu giữ lại các trang web phục vụ cho các nhu cầu
giống nhau
- Sàng lọc kết nối

- Cung cấp dịch vụ Internet cho các công ty dùng mạng riêng (nền tảng IP ảo)
- Chuyển đổi dữ liệu sang dạng HTML để có thể xem bằng trình duyệt
Học Viện Kỹ Thuật Mật Mã Trang
21
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng

Hình 12: Mô hình hoạt động chung của các proxy
2.2.1.2 Những bất cập do proxy
• Lợi dụng ý tưởng về proxy, hàng loạt các máy tính trên mạng tự biến
mình thành những proxy server để cho các client có thể truy cập vào những
trang có nội dung xấu mà nhà cung cấp dịch vụ đã ngăn chặn bằng firewall.
• Vấn đề được đặt ra là làm thế nào để cho các client truy cập Internet
bình thường nhưng không thể truy cập những trang bị chặn, hay nói cách khác
là cấm cản người dùng sử dụng proxy bên ngoài hệ thống.
2.2.1.3 Kĩ thuật lập trình một HTTP Proxy cơ bản
Lập trình một HTTP proxy cần qua các bước sau:
• Lắng nghe các kết nối đến proxy server.
• Khi có kết nối đến thì tạo ra một thread để quản lý kết nối này.
• Tiếp nhận và sửa đổi lại gói tin HTTP Request cho hợp lệ.
• Phân tích URL lấy được phần tên trang Web và Port.
VD:www.yahoo.com:8080 có tên là www.yahoo.com và port là 8080
(nếu không có giá trị port thì mặc định port=8080).
• Sử dụng phần tên này để phân giải địa chỉ lấy số IP.
Học Viện Kỹ Thuật Mật Mã Trang
22
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
• Kết nối đến remote server.
• Chuyển yêu cầu đến server.
• Chờ đợi thông tin phản hồi từ remote server.
• Chuyển phần gói tin này về lại cho user.

2.2.1.4 Sử dụng trang web trung gian
Tìm hiểu: Trang web trung gian không nằm trong danh sách bị tường lửa,
ta truy cập được, từ đó ta "nhờ" trang trung gian này truy cập tiếp vào trang web
bị chặn 1 cách dễ dàng.
Cách dùng:
- Truy cập vào các trang web trung gian sau:
(không quảng cáo)
o/(không quảng cáo)
o (quảng cáo nhỏ)
(quảng cáo nhỏ)
(quảng cáo khá lớn, hỗ trợ link trực tiếp)
- Kéo trang web xuống phía dưới sẽ thấy một khung trống để nhập địa
chỉ trang web (thường có chữ Enter the url, Website url, hoặc Web
Address ). Nhập địa chỉ cần vượt vào, sau đó Enter hoặc bấm nút bên phải
khung đó (thường có chữ Surf, Go hoặc Browse ), lập tức trang web sẽ hiện ra.
- Ngoài ra có thể tìm thêm trên Google với từ khóa “free surf anonymous
site”, hoặc vào rapidwire.net và proxy4free.com để tìm thêm các trang tương tự.
Học Viện Kỹ Thuật Mật Mã Trang
23
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
2.2.1.5 Thay đổi địa chỉ proxy của trình duyệt
Cách dùng: Mỗi trình duyệt có cách thay đổi IP riêng. Xin minh họa bằng
2 trình duyệt phổ biến nhất: Internet Explorer và Mozilla Firefox (nên dùng
Firefox, sẽ có công cụ giúp đơn giản hóa việc thay đổi "địa chỉ" này).
- Proxy có dạng: 119.70.40.101: 8080. Dãy số đứng trước dấu ":" gọi là IP,
dãy số phía sau là Port
- Đầu tiên, ta cần tìm kiếm các proxy.
- Sau đó kiểm tra xem proxy có còn dùng được.
- Cuối cùng, ta thiết lập proxy cho trình duyệt của mình.
a) Các trang cung cấp Proxy và kiểm tra Proxy:

- Đầu tiên ta cần tìm địa chỉ Proxy (HTTP và HTTPS)
1) /> (Proxy trang web này cung cấp khá tốt, không cần phải kiểm tra )
2)
- Sau đó tô đen tất cả thông số Proxy, nhấn Ctrl+C để copy lại
- Vào trang web sau để kiểm tra Proxy còn dùng được hay không
/>Học Viện Kỹ Thuật Mật Mã Trang
24
Nhóm 19: Lập Trình Vượt Firewall GVHD:Phạm Văn Hưởng
- Các địa chỉ còn dùng tốt sẽ được hiển thị dưới cùng.
b) Cách thiết lập:
+ Internet Explorer : vào Tool -> Internet Options, chọn thẻ Connections, bấm
chọn nút LAN Settings ở dưới cùng, đánh dấu chọn và nhập địa chỉ proxy như
hình . Nhấn OK (Nếu muốn trở lại kết nối trực tiếp cũ, bỏ đánh dấu).
Học Viện Kỹ Thuật Mật Mã Trang
25

×