



















Preview text:
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
ĐỒ ÁN KẾT THÚC HỌC PHẦN
LINUX VÀ PHẦN MỀM NGUỒN MỞ ĐỀ TÀI
CẤU HÌNH TƯỜNG LỬA VÀ PROXY
TRÊN HỆ ĐIỀU HÀNH UBUNTU
Giảng viên giảng dạy : ThS. Trần Thu Thủy
Sinh viên thực hiện
: Trần Doãn Hoàng - 21IT203
Trần Hoàng Gia Khôi - 21IT496
Lê Văn Nghĩa - 21IT501
Phạm Trung Nghĩa - 21IT217
Đà Nẵng, tháng 1 năm 2024
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
ĐỒ ÁN KẾT THÚC HỌC PHẦN
LINUX VÀ PHẦN MỀM NGUỒN MỞ ĐỀ TÀI
CẤU HÌNH TƯỜNG LỬA VÀ PROXY
TRÊN HỆ ĐIỀU HÀNH UBUNTU
Đà Nẵng, tháng 1 năm 2024
LỜI CẢM ƠN
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 làm việc ở 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è. Chúng em xin chân
thành cảm ơn thầy cô khoa Kỹ thuật máy tính và Điện tử đã tận tâm hướng dẫn chúng
em xuyên suốt quá trình hoàn thành đồ án tốt nghiệp. Thầy cô đã cho chúng em những
lời khuyên để có thể hoàn thành đồ án thật tốt bên cạnh đó thầy còn tạo cho chúng em
cơ hội tiếp xúc với nghiệp vụ thực tế để có thể nắm vững kiến thức khi bắt đầu vào
việc thiết kế một ứng dụng theo đúng chuẩ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 “Cấu
hình tường lửa và proxy trên hệ điều hành Ubuntu” chắc chắn sẽ không 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 lời
góp ý của quý thầy cô và các bạn để đồ án có thể hoàn thiện tốt nhất.
Sau cùng, chúng em xin kính chúc các thầy cô trong khoa Kỹ thuật máy tính và Điện
tử 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 lại kiến thức cho thế hệ mai sau.
Đà Nẵng, tháng 1 năm 2024 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Chữ ký GVHD 2 MỤC LỤC 3 MỞ ĐẦU
1. Giới thiệu đề tài
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công
nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục
hết đỉnh cao này đến đỉnh cao khác. Máy tính cá nhân là một trong những sản phẩm
có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền
tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu.
Trong thời đại ngày nay, sự tích hợp của công nghệ vào bảo mật mạng không
chỉ là xu hướng mà còn là một yếu tố quyết định quan trọng đối với sự phát triển
bền vững của hệ thống mạng và an toàn thông tin. Trong ngữ cảnh này, đề tài "Cấu
hình tường lửa và proxy trên hệ điều hành Ubuntu" không chỉ là một nhiệm vụ kỹ
thuật, mà còn là một bước quan trọng để tạo ra một môi trường làm việc hiện đại,
linh hoạt và phản ánh xu hướng tiên tiến của công nghệ thông tin.
Hệ thống mạng không chỉ đơn thuần là sự kết nối các thiết bị, mà còn là nền
tảng hỗ trợ cho quá trình làm việc và nghiên cứu, mở ra một thế giới của kiến thức
và tương tác. Bằng cách này, nó không chỉ giúp mọi người tiếp cận thông tin một
cách nhanh chóng, mà còn tạo ra cơ hội cho phương pháp làm việc hiệu quả và an
toàn khi được bảo mật thông tin.
Đồng thời, việc cấu hình tường lửa và proxy đặt ra nhiều thách thức, từ khâu
đảm bảo an toàn và bảo mật thông tin. Với sự phát triển nhanh chóng của các công
nghệ mới, việc duy trì và nâng cấp hệ thống trở thành một yếu tố chính để đảm bảo
tính ổn định và hiệu suất của môi trường làm việc kỹ thuật số.
Hơn nữa, đề tài này không chỉ tập trung vào khía cạnh kỹ thuật mà còn đặt ra
những câu hỏi sâu sắc về cách tích hợp công nghệ vào quy trình giáo dục. Làm thế
nào để hệ thống mạng có thể tối ưu hóa việc truyền đạt kiến thức, khuyến khích sự
sáng tạo, và hỗ trợ việc phát triển kỹ năng cho mọi người? Là những thách thức mà
đề tài này sẽ cố gắng giải quyết thông qua việc nghiên cứu và đề xuất những giải pháp phù hợp.
Tóm lại, "Thiết kế và xây dựng hệ thống mạng trường học" không chỉ là một
nhiệm vụ kỹ thuật mà còn là một cơ hội để định hình tương lai của giáo dục, mở ra
những khả năng mới và tạo nên một môi trường làm việc ưu việt cho thế hệ trẻ.
2. Mục tiêu của đề tài
Nhằm hoàn tất chương trình học và dần làm quen với công việc nghiên cứu của
người lập trình nên nhóm đã chọn đề tài này làm đề tài bài tập cuối kỳ môn Linux
và phần mềm nguồn mở. 4
Trên cơ sở áp dụng những kiến thức đã học vào thực tế để đánh giá, phân tích
thực trạng, những ưu điểm, tồn tại trong việc tiêm chủng để có thể đưa ra một số giải
pháp kiến nghị nhằm nâng cao chất lượng về giải trí nghe nhạc trong thời gian hiện tại và tương lai.
3. Phương pháp nghiên cứu
3.1 Phương pháp tham khảo tài liệu:
- Tìm kiếm, thu thập tài liệu liên quan trên internet, sách báo hổ trợ cho công việc nghiên cứu.
- Tìm hiểu thêm ở các đề tài nghiên cứu, thảo luận về vấn đề đang nghiên cứu.
3.2 Phương pháp truy cập Internet:
- Dựa vào thông tin của các trang web có độ tin cậy cao.
3.3 Phương tiện nghiên cứu
- Các loại sách tham khảo và các nguồn tài liệu liên quan đế mạng khác. 5
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu sơ lược về Mạng máy tính
1.1.1 Hệ điều hành Linux
Linux là một họ các hệ điều hành máy tính tự do nguồn mở tương tự Unix và dựa
trên Linux kernel, được phát triển từ năm 1991 dựa trên hệ điều hành Unix và bằng viết
bằng ngôn ngữ C bởi Linus Torvalds.
Hình 1: Logo của Linux
Linux có hơn 600 bản phân phối, phổ biến nhất là Ubuntu, Debian, Gentoo,...
1.1.2 Định nghĩa trong Linux
Hệ điều hành Linux có nhiều thuật ngữ và khái niệm đặc biệt nhưng cũng có vài
thành phần tương tự như Windows. Dưới đây là một số thuật ngữ phổ biến của Linux:
- Gói (Package): Trong Linux, gói đề cập đến một tập tin nén (compressed file) có
tất cả các tập tin cần thiết cho một ứng dụng cụ thể để cài đặt. Chúng được lưu
trữ trong kho trực tuyến (repositories online).
- Trình quản lý gói (Package Manager): quản lý tất cả các bản cập nhật cho
những phần mềm đã được cài đặt khi có bản cập nhật mới để tải xuống. Đây
cũng là dịch vụ được sử dụng để cài đặt phần mềm mới vào hệ thống.
- Kho lưu trữ (Repository): Nơi lưu trữ một tập hợp các gói phần mềm sẽ được
truy xuất và cài đặt trên hệ thống.
- Công cụ đóng gói nâng cao (APT – Advanced Packaging Tool): làm đơn giản
hóa quá trình quản lý các gói bằng cách tự động truy xuất, cấu hình và cài đặt các bản cập nhật.
- Shell: Một ngôn ngữ kịch bản (scripting language) tiếp nhận các dòng lệnh mà
bạn nhập từ bàn phím và thực thi chúng trên hệ thống. Bash và C shell là những ví dụ.
- Terminal: Giao diện được sử dụng cho Shell.
- Trình mô phỏng terminal (Terminal Emulator): Khi một terminal được truy cập
thông qua giao diện người dùng đồ họa (GUI – Graphical User Interface), thì đó
là phiên bản mô phỏng của giao diện shell đã chọn.
- BASH (Bourne Again Shell): một loại shell được tìm thấy trong các bản phân
phối Linux. BASH về cơ bản là một phần mở rộng của ngôn ngữ kịch bản shell
được sử dụng trong một terminal.
1.2 Giới thiệu sơ lược về Phần mềm nguồn mở
Mã nguồn mở (Open source software - OSS) là những phần mềm có mã nguồn
(source) được công khai, cho phép bất cứ ai cũng có thể chỉnh sửa, thay đổi hay sử dụng
mã nguồn này để phát triển ra các phần mềm khác. Không chỉ miễn phí về giá mua mà
còn miễn phí về bản quyền, người dùng được tùy ý sao chép và công khai nghiên cứu, làm
việc mà không cần phải xin phép ai, điều mà không được phép đối với phần mềm mã
nguồn đóng (Phần mềm thương mại).
Phần mềm mã nguồn mở đặc biệt lôi cuốn những nhà kinh doanh, bởi ưu điểm
miễn phí và cho phép người dùng có quyền "sở hữu hệ thống".
Tiện ích mà phần mềm mã nguồn mở mang lại chính là quyền tự do sử dụng
chương trình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình,
chỉnh sữa phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các
phiên bản cho nhiều người, quyền tự do cải tiến chương trình và phát hành những bản cải
tiến vì mục đích công cộng. Ưu điểm:
+ Các định dạng file không bị kiểm soát hoàn toàn bởi một số nhà cung cấp. Bạn sẽ
hoàn toàn an tâm khi dữ liệu của mình được sử dụng với những ứng dụng khác mà
không cần phải cấp quyền.
+ Những phần mềm mã nguồn mở đều có khả năng bảo mật hiệu quả, khi gặp phải
một vấn đề thì sẽ được sửa lỗi nhanh hơn những phần mềm có bản quyền.
+ Cho phép sao chép phần mềm và chia sẻ nó cho đồng nghiệp, bạn bè,...
+ Với những hệ thống Open Source, nhất là các hệ thống dựa trên UNIX, thường
hoạt động một cách suôn sẻ đến khó tin. Vì chúng được xây dựng từ nhiều khối thống
nhất và bố cục chặt chẽ, giúp bạn dễ dàng thay thế nhiều phần của hệ thống với một giao diện tương tự. Nhược điểm:
+ Tốc độ website: việc thiết kế web bằng hệ điều hành mã nguồn mở giống với việc
bạn sử dụng một phần chức năng nhưng phải sử dụng 3-4 phần mã nguồn. Lý do là vì một
mã nguồn mở chung có thể được sử dụng để tạo ra nhiều website khác nhau. Trong khi đó,
website được lập trình viên viết thủ công nhằm phục vụ một mục đích cụ thể sẽ không dư
thừa code như mã nguồn mở, giúp giảm tải cho website. 7
+ Tính bảo mật: các mã nguồn mở được chia sẻ công khai trên mạng Internet, bất
cứ ai cũng có thể tải về và sử dụng. Điều này đồng nghĩa với việc hacker cũng có thể
biết được bên trong website của bạn có gì. Mặc dù website mã nguồn mở được cập nhật
và vá lỗi nhanh, hacker có thể lợi dụng lỗ hổng bảo mật trước khi bản vá lỗi được cập
nhật thì website của bạn sẽ đứng trước nguy cơ bị tấn công hoặc lấy cắp dữ liệu bất cứ lúc nào.
+ Khó chỉnh sửa, nâng cấp: website mã nguồn mở được viết sẵn bởi những lập trình
viên tình nguyện ở nước ngoài nhằm đáp ứng nhu cầu chung của cộng đồng. Nếu người
dùng có thể nhu cầu chỉnh sửa website thì sẽ phải chỉnh sửa lại mã nguồn lập trình của
website. Tuy nhiên do không phải là website mà bạn tạo ra nên sẽ không hiểu được hết
các đặc tính của website, dẫn đến việc chỉnh sửa thường khá phức tạp, mất nhiều thời
gian và có thể không sửa được.
+ Bị khoá hoặc thu hồi website đột ngột: website mã nguồn mở là một dạng web đi
mượn của các tổ chức quốc tế nên sẽ không thuộc sở hữu cá nhân. Trong quá trình sử
dụng, người dùng có thể bị thu hồi bất cứ lúc nào mà không rõ nguyên nhân. Việc gửi
yêu cầu xem xét để lấy lại website sẽ khá rắc rối, gây mất thời gian mà kết quả thì
thường không khả quan. Đối với các doanh nghiệp sử dụng website để kinh doanh bán
hàng trực tuyến, việc này có thể gây ảnh hưởng đến doanh thu, lợi nhuận chung.
1.3 Tổng quan về Firewall
Firewall là bức tường lửa một hệ thống an ninh mạng, bảo mật an toàn thông tin
mạng. Tường lửa tồn tại ở 2 loại phần cứng và phần mềm được tích hợp vào bên trong hệ
thống và nó hoạt động như một rào chắn phân cách giữa truy cập an toàn và truy cập không
an toàn, chống lại truy cập trái phép, ngăn chặn virus… đảm bảo thông tin nội bộ được an
toàn không bị truy cập xấu đánh cắp.
Trong Ubuntu, Firewall đóng vai trò quan trọng trong việc bảo vệ hệ thống khỏi các
mối đe dọa và duy trì tính an toàn của mạng: +
Bảo vệ mạng: Firewall giúp bảo vệ mạng của bạn khỏi các cuộc tấn công từ
bên ngoài. Nó kiểm soát luồng dữ liệu mạng vào và ra khỏi hệ thống bằng cách chặn
hoặc cho phép các gói tin dựa trên quy tắc cấu hình. Firewall ngăn chặn các kết nối
đến từ các nguồn độc hại, giúp ngăn chặn các cuộc tấn công như tấn công xâm nhập
(Intrusion),tấn công mã độc (Malware), tấn công từ chối dịch vụ (Dos) và tấn công
từ chối dịch vụ phân tán (DDos) và giảm nguy cơ bị xâm nhập. +
Kiểm soát truy cập: Firewall cho phép bạn quản lý quyền truy cập vào các
dịch vụ và ứng dụng trên hệ thống Ubuntu. Bạn có thể cấu hình quy tắc để cho phép
hoặc chặn truy cập từ các địa chỉ IP cụ thể, cổng hoặc giao thức. Điều này giúp ngăn
chặn truy cập trái phép vào hệ thống và bảo vệ dữ liệu quan trọng. 8 +
Phân chia mạng: Firewall trong Ubuntu cho phép bạn tạo ra các vùng
mạng riêng biệt và áp dụng quy tắc khác nhau cho từng vùng. Điều này giúp bạn tạo
ra các vùng an toàn trên mạng và ngăn chặn sự lan truyền của các cuộc tấn công
hoặc malware từ một vùng mạng sang vùng khác. +
Giám sát và ghi nhật ký: Firewall trong Ubuntu cung cấp khả năng giám
sát và ghi nhật ký các hoạt động mạng. Bạn có thể xem các bản ghi nhật ký để phân
tích các sự kiện mạng, phát hiện các hoạt động bất thường và hỗ trợ trong việc điều
tra các vấn đề bảo mật. +
Tích hợp các công cụ và hệ thống khác: Firewall trong Ubuntu tích hợp
các công cụ và hệ thống khác như NetworkManager để quản lý kết nối mạng và
AppArmor để cung cấp bảo vệ mức độ cao cho các ứng dụng. Điều này giúp tăng
cường tính bảo mật và hiệu suất của hệ thống. +
Cung cấp NAT (Network Address Translation): Firewall cung cấp tính
năng NAT, cho phép chuyển đổi địa chỉ IP và cổng của các gói tin đi qua hệ thống.
Điều này hữu ích khi bạn muốn ẩn địa chỉ IP nội bộ của mạng và bảo vệ các thiết bị
trong mạng khỏi các cuộc tấn công trực tiếp từ bên ngoài. +
Hỗ trợ IPv6: Firewall hỗ trợ cả IPv4 và IPv6. Điều này cho phép bạn áp
dụng các quy tắc bảo mật cho cả hai loại địa chỉ IP và đảm bảo tính bảo mật cho cả
hai phiên bản giao thức này.
1.4 Tổng quan về Proxy
Proxy là một máy chủ trung gian giữa người sử dụng và Internet. Nó hoạt động như
một trạm trung gian cho các yêu cầu kết nối mạng từ máy tính của bạn đến các máy chủ bên
ngoài. Khi truy cập vào một trang web hoặc ứng dụng từ bên ngoài mạng nội bộ, Proxy
giúp giảm tải cho mạng, giúp cho các tài nguyên được sử dụng hiệu quả hơn.
Trên Ubuntu, ta có thể cấu hình proxy thông qua các cài đặt hoặc trực tiếp trong các
ứng dụng cụ thể như trình duyệt web, giao thức HTTP hoặc các ứng dụng khác. Có nhiều
loại proxy khác nhau mà ta có thể sử dụng: +
HTTP Proxy: là loại proxy phổ biến nhất và được sử dụng rộng rãi trên
Ubuntu và các hệ điều hành khác. HTTP proxy là trung gian cho các yêu cầu kết nối
HTTP giữa máy tính của bạn và máy chủ web. Nó giúp tiết kiệm băng thông, giảm tải 9
cho mạng bằng cách tạo ra bản sao của trang web được truy cập và lưu trữ chúng trong bộ nhớ đệm. +
Reverse Proxy: là một loại proxy được cấu hình trên máy chủ và được sử
dụng để trung gian cho các yêu cầu từ máy khách đến máy chủ. Nó thường được sử
dụng để giúp cân bằng tải truy cập cho nhiều server và bảo vệ chúng khỏi các cuộc tấn công từ bên ngoài. +
Transparent Proxy: là một loại proxy không yêu cầu cấu hình trên máy tính
của bạn. Nó hoạt động tự động và không đòi hỏi sự tương tác của người dùng. Nó
được sử dụng để cho phép bạn kiểm soát truy cập đến website hoặc ứng dụng một cách dễ dàng. +
WAN Proxy: thường được sử dụng để giúp bạn giảm tải cho mạng bằng cách
sử dụng chính mạng WAN, đi qua proxy server, truy cập các tài nguyên bên trong mạng LAN.
1.5 Giới thiệu về VMware Workstation Pro
VMware Workstation là một phần mềm giả lập hệ điều hành rất nổi tiếng của hãng
VMware Inc. Workstation – là công ty đại chúng niêm yết tại Sở giao dịch chứng khoán
New York dưới mã VMW. Dell Technologies hiện là cổ công lớn nhất với tỷ lệ sở hữu
82,8%. VMware cung cấp phần mềm và dịch vụ điện toán đám mây và ảo hóa. VMWare
là công ty đầu tiên thực hiện ảo hóa kiến trúc x86.cung cấp giải pháp ảo hóa máy tính để
bàn được thiết kế cho mọi người sử dụng Windows.
VMware Workstation có thể thay đổi đáng kể cách thức làm việc với các máy ảo và
cực kì hữu ích với các nhà phát triển. Tính năng chính của VMware Workstation Pro:
+ Hỗ trợ Win 10: chỉ với vài bước đơn giản, bạn có thể dễ dàng cài đặt Windows 10
trên máy ảo từ đĩa hoặc file ISo bằng Workstation Virtual Machines Wizard. Với phần
mềm này, người dùng dễ dàng sử dụng các tính năng mới như trợ lý ảo Cortana, bút ảo
trên trình duyệt Edge hoặc thậm chí là bắt đầu xây dựng các ứng dụng Universal Apps cho thiết bị Windows 10.
+ Sandboxed Graphics Rendering Engine: workstation cung cấp một tính năng nâng
cao bảo mật mới: Sandbox Renderer. SBR chạy công cụ đồ họa ảo trong các thread riêng
biệt với ít đặc quyền hệ thống, giúp Fusion và Workstation an toàn hơn khi sử dụng mà
không làm giảm hiệu suất hoặc chất lượng. 10
+ Phần cứng: phần mềm giúp bạn tận dụng các máy tính bảng Intel mới nhất bằng
cảm biến máy tính bảng ảo Workstation. Sử dụng máy tính bảng Microsoft Surface với
bộ gia tốc, con quay hồi chuyển, la bàn và cảm biến ánh sáng ảo để ứng dụng có thể
chạy trên máy ảo mà vẫn phản hồi lại các tương tác khi di chuyển, xoay hay rung, lắc
máy tính bảng. VMwareWorkstation 16 Pro còn hỗ trợ các vi xử lý x86 64-bit mới nhất
của Intel, bao gồm cả Broadwall và Haswell để mang lại khả năng hoạt động tốt nhất.
+ Chế độ Dark UI: khi khởi động Workstation 16 cho Windows, điều đầu tiên mà
bạn có thể nhận thấy là chúng tôi đã thêm một tính năng Chế độ tối hoàn toàn mới vào
Giao diện người dùng của Workstation Pro và Player. Giao diện mới nổi bật này mang
lại cảm giác như đang ở nhà trên các phiên bản mới nhất của Windows 10
+ Máy ảo mạnh mẽ: ứng dụng đồ họa cao được hỗ trợ tốt hơn với Video Ram lên tới
2GB. Với VMwareWorkstation 16 Pro, người dùng có thể tạo máy ảo cực mạnh, lên tới
16 vCPUs, ổ đĩa ảo 8TB và bộ nhớ 64GB để có thể chạy các phần mềm hay ứng dụng
máy chủ yêu cầu cao nhất trong môi trường ảo.
+ Khả năng kết nối: hỗ trợ HD Audio với hệ thống âm thanh 7.1, cổng USB 3.0 và
thiết bị Bluetooth, giúp bạn dễ dàng kết nối webcam, headset hay máy in với máy ảo.
Workstation 16 Pro giờ hỗ trợ USB 3.0 trong Windows 7 bên cạnh Windows 8 để mang
tới khả năng chia sẻ file siêu nhanh với các thiết bị lưu trữ ngoài. Ngoài ra, phần mềm
cũng cải thiện khả năng hoạt động với các cuộc gọi Skype – Phần mềm máy tính trò
chuyện và nhắn tin hay Lync trong máy ảo, mang tới chất lượng cuộc gọi tốt nhất.
+ Màn hình độ phân giải cao: với phiên bản VMware Workstation 16 Pro được tối
ưu hóa để hỗ trợ hiển thị 4K HUD (3850×2160) trên Desktop và QHD+ (3200×1800)
trên laptop và máy tính bảng x86 mang tới trải nghiệm sử dụng cực kì chi tiết. Phần
mềm cũng hỗ trợ hiển thị nhiều màn hình với các lựa chọn thiết lập DPI khác nhau để
bạn có thể chạy màn hình 4K HD mới cùng với àn hình HD 1080p trước đây.
1.6 Giới thiệu Ubuntu và phiên bản 22.04 của Ubuntu
Ubuntu là một hệ điều hành mã nguồn mở, được phát triển bởi cộng đồng chung trên nền
tảng Debian GNU/Linux. Được tài trợ bởi Canonical Ltd (chủ sở hữu là một người Nam Phi Mark
Shuttleworth), Ubuntu cực kỳ lý tưởng cho máy tính để bàn, máy xách tay và máy chủ. Tháng 10
năm 2004, phiên bản chính thức đầu tiên của Ubuntu được ra mắt – phiên bản 4.1.0 – mang mã là
“Warty Warthog” đã thu hút được sự quan tâm trên toàn cầu của hàng ngàn người yêu thích phần
mềm miễn phí cùng với các chuyên gia, cùng tham gia cộng đồng Ubuntu. 11 Ưu điểm của Ubuntu:
- Hoàn toàn miễn phí: Bạn có thể thoải mái tải về, sử dụng và chia sẻ mà không phải
trả bất cứ chi phí nào.
- Thích hợp cho máy tính cá nhân: Tích hợp đa dạng các chương trình, phần mềm
soạn thảo, nhận/gửi thư, phần mềm máy chủ web và lập trình, Ubuntu thuyết phục
“dân văn phòng” khi có thể sử dụng được trên máy xách tay và máy chủ.
- Hỗ trợ và quản lý dễ dàng: Bạn sẽ được hỗ trợ 24/7 bởi các kỹ sư có kinh nghiệm
trực tiếp về các vấn đề và khó khăn của bạn. - Tính bảo mật cao.
- Hỗ trợ cập nhập lâu dài.
Nhược điểm của Ubuntu:
- Thiếu các phần mềm chuyên dụng. - Khó dùng, khó làm quen 12
CHƯƠNG 2: CẤU HÌNH TƯỜNG LỬA VÀ PROXY TRÊN LINUX
2.1 Chuẩn bị
Máy chủ chạy Ubuntu LTS 22.04.
Cấu hình máy chủ tùy vào nhu cầu sử dụng của người dùng.
2.2 Cấu hình Firewall
Đa số các bản phiên bản Linux đều được cài đặt sẵn tiện ích tường lửa iptables (riêng
CentOS sử dụng firewalld) để quản lý gói tin dựa theo các quy tắc được thiết lập sẵn nhằm
nâng cáo tính bảo mật của hệ thống. Tuy nhiên việc cấu hình iptable không hề dễ dàng bởi
cấu trúc lệnh dài dòng và khó nhớ.
Ví dụ muốn mở port 8888 phải gõ dòng lệnh sau:
iptables -A INPUT -p tcp -m tcp –dport 888 -j ACCEPT
Để cấu hình tường lửa trên Linux tiện lợi và hiệu quả hơn, bạn ta nên chuyển qua sử
dụng UFW (Uncomplicated Firewall) do Canonical (công ty làm ra điều hành Ubuntu) phát
triển. UFW không phải là một ứng dụng tường lửa thay thế iptables, nó chỉ giao diện dòng
lệnh của iptables với các câu lệnh ngắn gọn, dễ nhớ hơn. Cài đặt UFW khi chúng ta chưa
cài đặt bất cứ control panel, script quản lý nào như cPanel, aaPanel, CyberPanel,
Centminmod,… Vì các loại control panel này luôn cài đặt sẵn các tiện ích tường lửa đi
kèm. Cài đặt thêm UFW sẽ gây xung đột hệ thống.
2.2.1 Cài đặt UFW
Cài đặt UFW: sudo apt-get install ufw
Kiểm tra trạng thái của UFW: sudo ufw status
Kích hoạt UFW: sudo ufw enable 13
Kiểm tra các trạng thái: sudo ufw status verbose
2.2.2 Cho phép kết nối SSH sudo ufw allow ssh
2.2.3 Cho phép kết nối trên cổng sudo ufw allow 22
2.2.4 Cho phép các dịch vụ HTTP và HTTPS
sudo ufw allow http/ sudo ufw allow https 14
2.2.5 Đóng và mở cổng UFW sudo ufw allow 56/tcp sudo ufw deny 56/tcp
2.2.5 Chặn và cho phép các địa chỉ IP
sudo ufw allow from 192.168.1.2 / sudo ufw deny from 192.168.1.2
2.2.6 Xóa các thiết lập
Bước 1: Hiển thị các thiết lập đã có: sudo ufw status numbered
Bước 2: Xoá lệnh có số thứ tự mà ta muốn, ví dụ ta muốn xoá lệnh số 9, ta nhập: sudo ufw
delete 9 , và nhấn y nếu đồng ý xoá, nhấn n nếu không. 15 2.3
Cấu hình Proxy
2.3.1 Cài đặt Squid Proxy sudo apt-get install squid
2.3.2 Kiểm tra trạng thái của Squid Proxy sudo systemctl status squid
2.3.3 Cấu hình Squid Proxy
File cấu hình chính của squid được lưu tại /etc/squid/squid.conf. File cấu hình này chứa các
comments mô tả mỗi cấu hình sẽ thực hiện những hành động nào. Bạn có thể viết file cấu
hình riêng của bạn và đặt chúng vào trong file cấu hình chính sử dụng chỉ thị include.
Trước khi thay đổi bất cứ điều gì, bạn nên sao lưu lại file cấu hình mẫu bằng sudo cp
/etc/squid/squid.conf{,.orginal}.
Tiếp theo, ta có thể thực hiện các thao tác đơn giản với Squid:
Khởi động lại dịch vụ: systemctl restart squid.service
Khởi chạy Squid: systemctl enable squid.service
Kiểm tra trạng thái: systemctl status squid.service 16
2.3.4 Mở cổng, chặn và cho phép địa chỉ IP Chỉnh sửa các lệnh trong file squid.conf để cấu hình proxy
Mở file bằng text editor bằng quyền root: gedit /etc/squid/squid.conf
Sửa 3128 thành 3306 nếu muốn dùng cổng 3306 thay vì 3128 là mặc định:
Nếu muốn cho phép hoặc chặn các địa chỉ IP, ta lưu các địa chỉ IP đó vào file .txt. Ví
dụ tôi sẽ cho phép các địa chỉ 58.186.44.179 14.248.82.194 và lưu vào
/etc/squid/allowed_ips.txt. Trong file squid.conf, ta thực hiện lệnh:
acl allowed_ips src "/etc/squid/allowed_ips.txt" http_access allow allowed_ips 17