Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác. Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường Đại Học đến nay, chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ của Thầy Cô, gia đình và bạn bè. Xin gửi lời cảm ơn chân thành đến gia đình, bè bạn, đã luôn là nguồn động viên to lớn, giúp chúng em vượt qua những khó khăn trong suốt quá trình học tập và thực hiện đồ án. Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên đồ án “Xây dựng chính sách an toàn sử dung phần mềm pfsense” chắc chắn sẽ không thể tránh khỏi những thiếu sót. Chúng em rất mong nhận được sự quan tâm, thông cảm và những đóng góp quý báu của các thầy cô và các bạn để đồ án này ngày càng hoàn thiện hơn. Sau cùng, chúng em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông Tin dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau. Trân trọng! Hà Nội, ngày 22 tháng 03 năm 2019 Sinh viên thực hiện: Trương Hồng Sơn 2 Mục Lục: CHƯƠNG I:KHÁI QUÁT TƯỜNG LỬA...........................................................................................................3 1. Đôi nét về tường tửa ...........................................................................................................................3 1.1 Tại sao chúng ta cần tường lửa? .........................................................................................................3 1.2 Tường lửa(Firewall) là gì?....................................................................................................................4 1.3 Cấu trúc và cách hoạt động của tường lửa(Firewall) ..........................................................................6 1.3.1 Cấu trúc FireWall: ...........................................................................................................................6 1.3.2 Các thành phần của tường lửa: ......................................................................................................7 1.3.3 Cách thức hoạt động của tường lửa:..............................................................................................8 CHƯƠNG II:MỤC ĐÍCH VÀ CHỨC NĂNG CỦA TƯỜNG LỬA........................................................................9 2. Mục đích và chức năng của tường lửa(Firewall).................................................................................9 2.1 Nhiệm vụ cơ bản của FireWall là bảo vệ những vấn đề sau :..............................................................9 2.2 Firewall bảo vệ chống lại cái gì ? .........................................................................................................9 2.3 Mục đích của tường lửa ....................................................................................................................10 2.4 Những tùy chọn triển khai tường lửa................................................................................................11 2.4.1 Tường lửa có trạng thái (Stateful firewall) ...................................................................................11 2.4.2 Tường lửa thế hệ tiếp theo (Next-generation firewalls - NGFW)..............................................12 2.4.3 Tường lửa dựa trên proxy (Proxy-based firewall):.....................................................................12 2.4.4 Tường lửa ứng dụng web (Web application firewall - WAF): ....................................................13 2.4.5 Phần cứng tường lửa: ...................................................................................................................14 2.4.6 Phầm mềm tường lửa:..................................................................................................................15 CHƯƠNG III: ĐÔI ĐIỀU VỀ PFSENSE...........................................................................................................16 3. Giới thiệu về pfsense:........................................................................................................................16 3.1 Tính năng của pfsense .......................................................................................................................17 3.1.1 Aliases: ..........................................................................................................................................17 3.1.2 NAT(Network Address Translation):.............................................................................................17 3.1.3 Firewall rules.................................................................................................................................17 3.1.4 Traffic shaper................................................................................................................................17 3.1.5 VPN(Virtual Private Network).......................................................................................................19 3.1.6 Squid Guard ..................................................................................................................................19
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
GIAO THỨC AN NINH MẠNG
Đề tài:
XÂY DỰNG CHÍNH SÁCH AN TOÀN SỬ DỤNG PHẦN MỀM PFSENSE
Giáo viên hướng dẫn: Lê Mạnh Hùng
Sinh viên thực hiện: Trương Hồng Sơn
Hà Nội, tháng 3 năm 2019
Trang 2TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
GIAO THỨC AN NINH MẠNG
Đề tài:
XÂY DỰNG CHÍNH SÁCH AN TOÀN SỬ DỤNG PHẦN MỀM PFSENSE
Giáo viên hướng dẫn: TS Nguyễn Thị Thanh B
Sinh viên thực hiện: Trương Hồng Sơn
Hà Nội, tháng 3 năm 2019
Trang 3Lời Nói Đầu
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác Trong suốt thời gian
từ khi bắt đầu học tập ở giảng đường Đại Học đến nay, chúng em đã nhận được rất nhiều
sự quan tâm, giúp đỡ của Thầy Cô, gia đình và bạn bè
Xin gửi lời cảm ơn chân thành đến gia đình, bè bạn, đã luôn là nguồn động viên to lớn, giúp chúng em vượt qua những khó khăn trong suốt quá trình học tập và thực hiện đồ
Trân trọng!
Hà Nội, ngày 22 tháng 03 năm 2019
Sinh viên thực hiện:
Trương Hồng Sơn
Trang 4Mục Lục:
CHƯƠNG I:KHÁI QUÁT TƯỜNG LỬA 3
1 Đôi nét về tường tửa 3
1.1 Tại sao chúng ta cần tường lửa? 3
1.2 Tường lửa(Firewall) là gì? 4
1.3 Cấu trúc và cách hoạt động của tường lửa(Firewall) 6
1.3.1 Cấu trúc FireWall: 6
1.3.2 Các thành phần của tường lửa: 7
1.3.3 Cách thức hoạt động của tường lửa: 8
CHƯƠNG II:MỤC ĐÍCH VÀ CHỨC NĂNG CỦA TƯỜNG LỬA 9
2 Mục đích và chức năng của tường lửa(Firewall) 9
2.1 Nhiệm vụ cơ bản của FireWall là bảo vệ những vấn đề sau : 9
2.2 Firewall bảo vệ chống lại cái gì ? 9
2.3 Mục đích của tường lửa 10
2.4 Những tùy chọn triển khai tường lửa 11
2.4.1 Tường lửa có trạng thái (Stateful firewall) 11
2.4.2 Tường lửa thế hệ tiếp theo (Next-generation firewalls - NGFW) 12
2.4.3 Tường lửa dựa trên proxy (Proxy-based firewall): 12
2.4.4 Tường lửa ứng dụng web (Web application firewall - WAF): 13
2.4.5 Phần cứng tường lửa: 14
2.4.6 Phầm mềm tường lửa: 15
CHƯƠNG III: ĐÔI ĐIỀU VỀ PFSENSE 16
3 Giới thiệu về pfsense: 16
3.1 Tính năng của pfsense 17
3.1.1 Aliases: 17
3.1.2 NAT(Network Address Translation): 17
3.1.3 Firewall rules 17
3.1.4 Traffic shaper 17
3.1.5 VPN(Virtual Private Network) 19
3.1.6 Squid Guard 19
Trang 5CHƯƠNG I:KHÁI QUÁT TƯỜNG LỬA
1 Đôi nét về tường tửa
Tại sao chúng ta cần tường lửa?
- Internet ra đời đã đem lại nhiều lợi ích rất lớn cho con người, nó là một trong những nhân tố hàng đầu góp phần vào sự phát triển nhanh chóng của cả thế giới
và có thể nói Internet đã kết nối mọi người tới gần nhau hơn Chính vì một khả năng kết nối rộng rãi như vậy mà các nguy cơ mất an toàn của mạng máy tính rất lớn Đó là các nguy cơ bị tấn công của các mạng máy tính, tấn công để lấy
dữ liệu, tấn công nhằm mục đích phá hoại làm tê liệt cả một hệ thống máy tính
lớn, tấn công thay đổi cơ sở dữ liệu …
- Trước những nguy cơ đó, vấn đề đảm bảo an toàn cho mạng máy tính trở nên rất cấp thiết và quan trọng hơn bao giờ hết Các nguy cơ bị tấn công ngày càng nhiều
và ngày càng tinh vi hơn, nguy hiểm hơn Đã có nhiều giải pháp bảo mật cho mạng máy tính được đưa ra như dùng các phần mềm, chương trình để bảo vệ tài nguyên, tạo những tài khoản truy xuất mạng đòi hỏi có mật khẩu … nhưng những giải pháp đó chỉ bảo vệ một phần mạng máy tính mà thôi, một khi những kẻ phá
Trang 6hoại mạng máy tính đã thâm nhập sâu hơn vào bên trong mạng thì có rất nhiều
cách để phá hoại hệ thống mạng Vì vậy đã đặt ra một yêu cầu là phải có những
công cụ để chống sự xâm nhập mạng bất hợp pháp ngay từ bên ngoài mạng, đó
chính là nguyên nhân dẫn tới sự ra đời của Firewall (Tườ ng lửa)
- Một Firewall có thể lo ̣c các lưu lượng Internet nguy hiểm như hacker, các loa ̣i
sâu, và mô ̣t số loại virus trước khi chúng có thể gây ra tru ̣c trặc trên hệ thống
Ngoài ra, Firewall có thể giúp cho máy tính tránh tham gia các cuô ̣c tấn công
vào các máy tính khác mà không hay biết Viê ̣c sử du ̣ng mô ̣t Firewall là cực kỳ
quan trọng đối với các máy tính luôn kết nối Internet, như trường hợp có mô ̣t
kết nối băng thông rô ̣ng hoă ̣c kết nối DSL/ADSL
Tường lửa(Firewall) là gì?
- Tường lửa (Firewall) là một hệ thống an ninh mạng, có thể dựa trên phần cứng
hoặc phần mềm, sử dụng các quy tắc để kiểm soát traffic vào, ra khỏi hệ thống
Tường lửa hoạt động như một rào chắn giữa mạng an toàn và mạng không an
toàn Nó kiểm soát các truy cập đến nguồn lực của mạng thông qua một mô hình
kiểm soát chủ động Nghĩa là, chỉ những traffic phù hợp với chính sách được
định nghĩa trong tường lửa mới được truy cập vào mạng, mọi traffic khác đều bị
từ chối
Trang 7- Bất kì máy tính nào kết nối tới Internet cũng cần có firewall, giúp quản lý những
gì được phép vào mạng và những gì được phép ra khỏi mạng Việc có một “người
gác cổng” như vậy để giám sát mọi việc xảy ra rất quan trọng bởi 2 lý do:
- Thứ nhất, bất kì máy tính kết nối mạng nào thường kết nối vĩnh viễn với Internet
Thứ hai, mỗi máy tính trực tuyến lại có một chữ ký điện tử riêng, được gọi
là Internet Protocol address (hay còn gọi là địa chỉ IP): Nếu không có firewall
hỗ trợ, nó chẳng khác gì bạn mở cửa nhà để đón trộm vào cả
- Một firewall được cấu hình chính xác sẽ ngăn chặn điều này xảy ra và giúp máy
tính “ẩn” một cách hiệu quả, cho phép người dùng thoải mái thưởng thức những
gì thế giới trực tuyến mang lại Firewall không giống chương trình diệt virus
Thay vào đó, nó làm việc cùng với những công cụ này nhằm đảm bảo rằng máy
tính được bảo vệ từ hầu hết các mối tấn công nguy hại phổ biến
- Windows XP, Vista và 7 bao gồm một firewall, gọi là Windows Firewall, được
kích hoạt theo mặc định Hãy cùng kiểm tra firewall của bạn bằng cách: Người
dùng XP nên kích vào Start → Control Panel, sau đó kích vào đường link Switch
to Classic View trước khi kích đúp vào icon của Windows Firewall: kiểm tra
xem nút On đã được kích hoạt hay chưa
Trang 8- Người dùng Windows Vista hoặc Windows 7 sẽ phải kích vào Start → Control
Panel → System and Security (hoặc Security trong Windows Vista) Sau đó, tìm
dòng Windows Firewall và kích vào nó (trong Vista) hoặc kích vào Check
firewall status (đối với Windows 7)
- Trong một số trường hợp, Firewall có thể được thiết lập ở trong cùng một mạng
nội bộ và cô lập các miền an toàn Ví dụ như mô hình dưới đây thể hiện một
mạng cục bộ sử dụng Firewall để ngăn cách phòng máy và hệ thống mạng ở
Trang 9- Các phần mềm quản lí an ninh chạy trên hệ thống máy chủ Thông thường
là các hệ quản trị xác thực (Authentication), cấp quyền (Authorization)
và kế toán (Accounting)
1.3.2 Các thành phần của tường lửa:
- Một FireWall bao gồm một hay nhiều thành phần sau:
- Bộ lọc packet (packet- filtering router)
- Cổng ứng dụng (Application-level gateway hay proxy server)
- Cổng mạch (Circuite level gateway)
Trang 101.3.3 Cách thức hoạt động của tường lửa:
- Công việc của một firewall khá khó khăn, bởi có rất nhiều dữ liệu hợp pháp cần được cấp phép cho ra hoặc vào máy tính kết nối mạng Ví dụ, khi chúng ta truy cập vào trang web Quantrimang.com, đọc tin tức, tips công nghệ mới thì thông tin và dữ liệu của trang web cần được truyền từ
và tới máy thông qua mạng để hoàn thành quá trình này
- Một firewall cần biết được sự khác biệt giữa lưu lượng hợp pháp như trên với những loại dữ liệu gây hại khác
- Firewall sử dụng rule hoặc ngoại lệ để làm việc với những kết nối tốt và loại bỏ những kết nối xấu Nhìn chung, quá trình này được thực hiện ẩn, người dùng không thấy được hoặc không cần tương tác gì cả
Trang 11CHƯƠNG II:MỤC ĐÍCH VÀ CHỨC NĂNG CỦA TƯỜNG LỬA
2 Mục đích và chức năng của tường lửa(Firewall)
Nhiệm vụ cơ bản của FireWall là bảo vệ những vấn đề sau :
- Dữ liệu : Những thông tin cần được bảo vệ do những yêu cầu sau:
- Bảo mât
- Tính toàn vẹn
- Tính kịp thời
- Tài nguyên hệ thống
- Danh tiếng của công ty sở hữu các thông tin cần bảo vệ
Firewall bảo vệ chống lại cái gì ?
- Tấn công trực tiếp:
- Giả mạo địa chỉ IP
- Vô hiệu hoá các chức năng của hệ thống (deny service)
Trang 12- Lỗi người quản trị hệ thống
- Yếu tố con người với những tính cách chủ quan và không hiểu rõ tầm
quan trọng của việc bảo mật hệ thống nên dễ dàng để lộ các thông tin quan trọng cho hacker
Mục đích của tường lửa
- Với Firewall, người sử dụng có thể yên tâm đang được thực thi quyền
giám sát các dữ liệu truyền thông giữa máy tính của họ với các máy tính hay hệ thống khác Có thể xem Firewall là một người bảo vệ có nhiệm vụ kiểm tra "giấy thông hành" của bất cứ gói dữ liệu nào đi vào máy tính hay đi ra khỏi máy tính của người sử dụng, chỉ cho phép những gói dữ liệu hợp lệ đi qua và loại bỏ tất cả các gói dữ liệu không
hợp lệ
- Các giải pháp Firewall là thực sự cần thiết, xuất phát từ chính cách
thức các dữ liệu di chuyển trên Internet Giả sử gửi cho người thân của mình một bức thư thì để bức thư đó được chuyển qua mạng Internet, trước hết phải được phân chia thành từng gói nhỏ Các gói
dữ liệu này sẽ tìm các con đường tối ưu nhất để tới địa chỉ người nhận
Trang 13thư và sau đó lắp ráp lại (theo thứ tự đã được đánh số trước đó) và
khôi phục nguyên dạng như ban đầu
- Việc phân chia thành gói làm đơn giản hoá việc chuyển dữ liệu trên
Internet nhưng có thể dẫn tới một số vấn đề Nếu một người nào đó với dụng ý không tốt gửi tới một số gói dữ liệu, nhưng lại cài bẫy làm cho máy tính của không biết cần phải xử lý các gói dữ liệu này như thế nào hoặc làm cho các gói dữ liệu lắp ghép theo thứ tự sai, thì có thể nắm quyền kiểm soát từ xa đối với máy tính của và gây nên những
vấn đề nghiêm trọng
- Kẻ nắm quyền kiểm soát trái phép sau đó có thể sử dụng kết nối
Internet của để phát động các cuộc tấn công khác mà không bị lộ tung tích của mình Firewall sẽ đảm bảo tất cả các dữ liệu đi vào là hợp lệ, ngăn ngừa những người sử dụng bên ngoài đoạt quyền kiểm soát đối với máy tính của bạn Chức năng kiểm soát các dữ liệu đi ra của Firewall cũng rất quan trọng vì sẽ ngăn ngừa những kẻ xâm nhập trái phép "cấy" những virus có hại vào máy tính của để phát động các cuộc
tấn công cửa sau tới những máy tính khác trên mạng Internet
Những tùy chọn triển khai tường lửa
2.4.1 Tường lửa có trạng thái (Stateful firewall):Khi tường lửa được tạo ra
lần đầu tiên, chúng không có trạng thái, nghĩa là phần cứng mà lưu lượng truy cập đi qua trong khi được kiểm tra sẽ theo dõi từng gói lưu lượng mạng riêng và chặn hoặc cho phép nó Bắt đầu từ giữa đến cuối những năm 1990, những tiến bộ đầu tiên về tường lửa đã được
ra đời Tường lửa có trạng thái kiểm tra lưu lượng truy cập, liên quan đến trạng thái hoạt động và đặc điểm kết nối mạng để cung cấp tường lửa toàn diện hơn Việc duy trì trạng thái này cho phép tường lửa cho lưu lượng nhất định truy cập đến người dùng cụ thể trong khi chặn lượng truy cập tương tự đến người dùng khác
Trang 142.4.2 Tường lửa thế hệ tiếp theo (Next-generation firewalls -
NGFW):Qua nhiều năm tường lửa đã bổ sung thêm vô số tính năng
mới, bao gồm phân tích sâu các gói (Deep Packet Inspection - DPI), phát hiện xâm nhập, ngăn và kiểm tra lưu lượng được mã hóa
Tường lửa thế hệ tiếp theo đề cập đến tường lửa được tích hợp nhưng tính năng tiên tiến này
2.4.3 Tường lửa dựa trên proxy (Proxy-based firewall):Các tường lửa
này hoạt động như một cổng nối giữa những người dùng cuối yêu cầu dữ liệu và nguồn của dữ liệu đó Tất cả lưu lượng truy cập được lọc qua proxy này trước khi được chuyển cho người dùng cuối Điều
Trang 15này nhằm bảo vệ máy khách khỏi tiếp xúc với các mối đe dọa bằng cách che giấu danh tính của người yêu cầu thông tin ban đầu
2.4.4 Tường lửa ứng dụng web (Web application firewall - WAF):Các
tường lửa được sử dụng cho các ứng dụng cụ thể thay vì được đặt trên một điểm vào hoặc ra của một mạng lưới rộng hơn Trong khi các tường lửa dựa trên proxy thường bảo vệ máy khách người dùng cuối, thì tường lửa ứng dụng web bảo vệ máy chủ ứng dụng
Trang 162.4.5 Phần cứng tường lửa: Phần cứng tường lửa thường là một máy chủ
đơn giản có thể hoạt động như một router lọc lưu lượng truy cập và chạy phần mềm tường lửa Những thiết bị này được đặt ở trong mạng công ty, giữa router và điểm kết nối của nhà cung cấp dịch vụ Internet Một doanh nghiệp có thể triển khai hàng chục tường lửa vật
lý trong một trung tâm dữ liệu Người dùng cần xác định dung lượng thông qua mà họ cần tường lửa hỗ trợ dựa trên kích thước cơ sở người dùng và tốc độ kết nối Internet
Trang 172.4.6 Phầm mềm tường lửa: Thông thường người dùng cuối triển khai
nhiều điểm cuối phần cứng tường lửa và hệ thống phần mềm tường lửa trung tâm để quản lý việc triển khai Hệ thống trung tâm này là nơi các chính sách và tính năng được cấu hình, nơi có thể thực hiện phân tích và phản hồi lại các mối đe dọa
Trang 18CHƯƠNG III: ĐÔI ĐIỀU VỀ PFSENSE
3 Giới thiệu về pfsense:
Để bảo vệ hệ thống mạng thì ta có nhiều giải pháp như sử dụng router cisco, dùng firewall cứng, firewall mềm của microsoft như ISA … Những thiết bị như trên rất tốn kinh phí vì vậy đối với các doanh nghiệp vừa và nhỏ thì giải pháp firewall mềm mã nguồn mở là một phương án hiệu quả Pfsense là một ứng dụng có chức năng định tuyến vào tường lửa mạng và miễn phí dựa trên nền tảng FreeBSD có chức năng định tuyến và tường lửa rất mạnh Pfsense được cấu hình qua giao diện GUI trên nền web nên có thể quản lý một cách
dễ dàng Nó hỗ trợ lọc theo địa chỉ nguồn, đích, cũng như port nguồn hay port đích đồng thời hỗ trợ định tuyến và có thể hoạt động trong chế độ bridge hay transparent Nếu sử dụng pfsense là gateway, ta cũng có thể thấy rõ việc hỗ trợ NAT và port forward trên pfsense cũng như thực hiện cân bằng tải hay failover trên các đường mạng
Trang 19Tính năng của pfsense
IP hoặc 1 nhóm port Vì vậy, điều ta cần làm là gom nhóm các IP, Port hoặc URL vào thành 1 alias Một alias sẽ cho phép thay thế 1 host, 1 dải mạng, nhiều IP riêng biệt hay 1 nhóm port, URL … Alias giúp ta tiết kiệm được phần lớn thời gian nếu bạn sử dụng một cách chính xác như thay vì sử dụng hàng loạt rule để thiết lập cho nhiều địa chỉ, ta có thể sử dụng 1 rule duy nhất để gom nhóm lại
dạng nat 1:1 Điều kiện để thực hiện được nat 1:1 là ta phải có IP public Khi thực hiện nat 1:1 thì IP private được nat sẽ luôn ra ngoài
bằng IP public tương ứng và các port cũng tương ứng trên IP public
định PfSense cho phép mọi kết nối ra, vào (tại cổng LAN có sẵn rule any) Ta phải tạo các rule để quản lý mạng bên trong
chỉnh, tối ưu hóa đường truyền trong pfsense Trong pfsense, 1 đường truyền băng thông sẽ chia ra các hàng khác nhau Có 7 loại hàng trong pfsense:
Trang 20- Hàng ACK: dành cho các gói ACK (gói xác nhận) trong giao thức
TCP ở những ứng dụng chính cần được hỗ trợ như HTTP, SMTP … luồng thông tin ACK tương đối nhỏ nhưng lại rất cần thiết để duy trì tốc độ lưu thông lớn
- Hàng VoIP: dành cho những loại lưu thông cần đảm bảo độ trễ
nghiêm ngặt, thường dưới 10ms như VoIP, video conferences
- Hàng Games: dành cho những loại lưu thông cần đảm bảo độ trễ rất
chặt chẽ, thường dưới 50ms như SSH, game online …
- Hàng OthersHigh: dành cho các loại ứng dụng quan trọng có tính
tương tác rất cao, cần đáp ứng nhanh, cần độ trễ thấp như: NTP, DNS, SNMP …
- Hàng OthersDefault: dành cho các giao thức ứng dụng quan trọng có
tính tương tác vừa, cần độ đáp ứng nhất định như HTTP, IMAP …
- Hàng OthersLow: dành cho các giao thức ứng dụng quan trọng
nhưng có tính tương tác thấp như SMTP, POP3, FTP
- Hàng P2P: dành cho cho các ứng dụng không tương tác, không cần
đáp ứng nhanh như bittorrent