TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH ĐIỆN
TỬ
ĐỒ ÁN KẾT THÚC HỌC PHẦN
LINUX PHẦN MỀM NGUỒN MỞ
ĐỀ TÀI
CẤU HÌNH TƯỜNG LỬA PROXY
TRÊN HỆ ĐIỀU HÀNH UBUNTU
21IT203
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 -
Trần Hoàng Gia Khôi - 21IT496
Văn Nghĩa - 21IT501
Phạm Trung Nghĩa - 21IT217
Đà Nẵng, tháng 1 m 2024
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH ĐIỆN TỬ
ĐỒ ÁN KẾT THÚC HỌC PHẦN
LINUX PHẦN MỀM NGUỒN MỞ
ĐỀ TÀI
CẤU HÌNH TƯỜNG LỬA PROXY
TRÊN HỆ ĐIỀU HÀNH UBUNTU
Đà Nẵng, tháng 1 m 2024
LỜI CẢM ƠN
Trên thực tế không sự thành công nào không gắn liền với những sự hỗ trợ, sự
giúp đỡ ít hay nhiều, 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 m, giúp đỡ của Thầy Cô, gia đình bạn bè. Chúng em xin chân
thành cảm ơn thầy cô khoa Kthuật máy tính Đ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 để thể hoàn thành đồ án thật tốt bên cạnh đó thầy còn tạo cho chúng em
hội tiếp xúc với nghiệp vụ thực tế đ 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 đã 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 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 m, thông cảm 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 y tính Đ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ữ 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ậty tínhmạng điện tử, công
nghệ thông tin cũng được những công nghệ có đẳng cấp cao lần lượt chinh phục
hết đỉnh cao y đến đỉnh cao khác. y tính nhân một trong những sản phẩm
giá trị hết sức lớn lao ngày càng trở n một công cụ không thể thiếu, 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ỉ xu hướng còn 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 an toàn thông tin. Trong ngữ cảnh y, đề tài "Cấu
hình ờng lửa proxy trên hệ điều hành Ubuntu" không chỉ một nhiệm vụ kỹ
thuật, còn một ớ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 sự kết nối các thiết bị, mà còn nền
tảng hỗ trợ cho quá trình m việc nghiên cứu, mở ra một thế giới của kiến thức
tương tác. Bằng ch y, không chỉ giúp mọi người tiếp cận thông tin một
cách nhanh chóng, còn tạo ra hội cho phương pháp làm việc hiệu quả an
toàn khi được bảo mật thông tin.
Đồng thời, việc cấu nh tường lửa proxy đặt ra nhiều thách thức, từ khâu
đảm bảo an toàn bảo mật thông tin. Với sphát triển nhanh chóng của các công
nghệ mới, việc duy trì 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 kthuật 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 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? những thách thức
đề tài y sẽ cố gắng giải quyết thông qua việc nghiên cứu đề xuất những giải
pháp phù hợp.
Tóm lại, "Thiết kế y dựng hệ thống mạng trường học" không chỉ một
nhiệm vụ k thuật còn 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 dần 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 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 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 để 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:
- 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 độ tin cậy cao.
3.3 Phương tiện nghiên cứu
- Các loại sách tham khảocác nguồn tài liệu liên quan đế mạng khác.
5
CHƯƠNG 1: SỞ THUYẾT
1.1 Giới thiệu lược về Mạng máy nh
1.1.1 Hệ điều hành Linux
Linux một họ các hệ điều hành máy tính tự do nguồn mở tương tự Unix dựa
trên Linux kernel, được phát triển từ m 1991 dựa trên hệ điều hành Unix bằng viết
bằng ngôn ngữ C bởi Linus Torvalds.
Hình 1: Logo của Linux
Linux hơn 600 bản phân phối, phổ biến nhất Ubuntu, Debian, Gentoo,...
1.1.2 Định nghĩa trong Linux
Hệ điều hành Linux nhiều thuật ngữ khái niệm đặc biệt nhưng cũng 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)
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 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 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 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 thực thi chúng trên hệ thống. Bash và C shell những
ví dụ.
- Terminal: Giao diện được sử dụng cho Shell.
- Trình 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ề bản 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 lược về Phần mềm nguồn mở
nguồn mở (Open source software - OSS) những phần mềm nguồn
(source) được công khai, cho phép bất cứ ai cũng thể chỉnh sa, thay đổi hay sử dụng
nguồn y để phát triển ra các phần mềm khác. Không chỉ miễn phí về giá mua
còn miễn phí về bản quyền, người dùng được tùy ý sao chép công khai nghiên cứu,m
việc không cần phải xin phép ai, điều không được phép đối với phần mềm
nguồn đóng (Phần mềm thương mại).
Phần 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 phần mềm nguồn mở mang lại chính 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 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 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 m khi dữ liệu của mình được sử dụng với những ứng dụng khác
không cần phải cấp quyền.
+ Những phần mềm nguồn mở đều khnă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ềmchia sẻcho đồng nghiệp, bạn bè,...
+ Với những hệ thống Open Source, nhất 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. chúng được y dựng từ nhiều khối thống
nhất 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 nguồn. do một
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ủ ng nhằm phục vụ một mục đích cụ thể sẽ không
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 thể tải về sử dụng. Điều này đồng nghĩa với việc hacker cũng thể
biết được bên trong website của bạn gì. Mặcwebsite nguồn mở được cập nhật
lỗi nhanh, hacker thể lợi dụng lỗ hổng bảo mật trước khi bản lỗi được cập
nhật thì website của bạn sẽ đứng trước nguy 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 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 thể nhu cầu chỉnh sửa website thì sẽ phải chỉnh sửa lại nguồn lập trình của
website. Tuy nhiên do không phải website 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ị khhoặ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 tchức quốc tế nên sẽ không thuộc sở hữu nhân. Trong qtrình sử
dụng, người dùng thể bị thu hồi bất cứ lúc nào không 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, y mất thời gian 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 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 phần mềm được tích hợp vào bên trong h
thống và hoạt động như một rào chắn phân cách giữa truy cập an toàn 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. 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 m nhập
(Intrusion),tấn công độc (Malware), tấn công từ chối dịch v(Dos) 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 quyền truy cập vào các
dịch vụ ứng dụng trên hệ thống Ubuntu. Bạn 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 áp dụng quy tắc khác nhau cho từng vùng. Điều y giúp bạn tạo
ra các vùng an toàn trên mạng 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 ghi nhật ký: Firewall trong Ubuntu cung cấp khả năng giám
sát ghi nhật các hoạt động mạng. Bạn thể xem các bản ghi nhật để phân
tích các sự kiện mạng, phát hiện các hoạt động bất thường 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ụ hệ thống khác: Firewall trong Ubuntu tích hợp
c công cụ hệ thống khác như NetworkManager để quản kết nối mạng
AppArmor để cung cấp bảo vệ mức độ cao cho các ứng dụng. Điều 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 cổng của các gói tin đi qua hệ thống.
Điều y hữu ích khi bạn muốn ẩn địa chỉ IP nội bộ của mạng 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ỗ trcả IPv4 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 đảm bảo 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 Internet. hoạt động như
một trạm trung gian cho các yêu cầu kết nối mạng từy tính của bạn đến cácy 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 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. nhiều
loại proxy khác nhau mà ta có thể sử dụng:
+ HTTP Proxy: loại proxy phổ biến nhất được sử dụng rộng rãi trên
Ubuntu các hệ điều hành khác. HTTP proxy trung gian cho các yêu cầu kết nối
HTTP giữa y tính của bạnmáy chủ web. giúp tiết kiệm 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 lưu trữ chúng
trong bộ nhớ đệm.
+ Reverse Proxy: một loại proxy được cấu hình trên máy chủ được sử
dụng để trung gian cho các yêu cầu từ máy khách đến máy chủ. 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: một loại proxy không yêu cầu cấu hình trên y tính
của bạn. hoạt động tự động không đòi hỏi sự tương tác của người dùng.
đượ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 công ty đại chúng niêm yết tại Sở giao dịch chứng khoán
New York dưới VMW. Dell Technologies hiện cổ công lớn nhất với tlệ sở hữu
82,8%. VMware cung cấp phần mềm dịch vụ điện toán đám mây ảo hóa. VMWare
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 y tính để
bàn được thiết kế cho mọi người sử dụng Windows.
VMware Workstation thể thay đổi đáng kể cách thức làm việc với các máy ảo
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 thể dễ dàng cài đặt Windows 10
trên 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ợ ảo Cortana, bút ảo
trên trình duyệt Edge hoặc thậm chí bắt đầu 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 hthống, giúp Fusion Workstation an toàn hơn khi sử dụng
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 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 y nh bảng Microsoft Surface với
bộ gia tốc, con quay hồi chuyển, la bàn cảm biến ánh sáng ảo đứng dụng thể
chạy trên y ảo vẫn phản hồi lại các ơ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ử 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
bạn thể nhận thấy 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 Player. Giao diện mới nổi bật 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 thể tạo y ảo cực mạnh, lên tới
16 vCPUs, đĩa ảo 8TB bộ nhớ 64GB để 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
thiết bị Bluetooth, giúp bạn dễ dàng kết nối webcam, headset hay máy in với y ảo.
Workstation 16 Pro gihỗ trUSB 3.0 trong Windows 7 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 để htrợ hiển thị 4K HUD (3850×2160) trên Desktop QHD+ (3200×1800)
trên laptop máy tính bảng x86 mang tới trải nghiệm sử dụng cực 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 phiên bản 22.04 của Ubuntu
Ubuntu một hệ điều hành 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 một người Nam Phi Mark
Shuttleworth), Ubuntu cực ktưởng cho máy tính để bàn, y xách tay 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
Warty Warthogđã thu hút được sự quan tâm trên toàn cầu của hàng ngàn người 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 thể thoải mái tải về, sử dụng chia sẻ không phải
trả bất cứ chi phí nào.
- Thích hợp cho y tính 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 y chủ web 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ợ quản lý dễ dàng: Bạn sẽ được hỗ trợ 24/7 bởi các kkinh 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.
- K dùng, khó làm quen
12
CHƯƠNG 2: CẤU HÌNH ỜNG LỬA 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 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ớ.
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 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 một ứng dụng tường lửa thay thế iptables, chỉ giao diện 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 nào như cPanel, aaPanel, CyberPanel,
Centminmod,… các loại control panel này luôn cài đặt sẵn các tiện ích ờ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 HTTPS
sudo ufw allow http/ sudo ufw allow https
14
2.2.5 Đóng mở cổng UFW
sudo ufw allow 56/tcp
sudo ufw deny 56/tcp
2.2.5 Chặn 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 y chứa các
comments tả mỗi cấu hình sẽ thực hiện những hành động nào. Bạn thể viết file cấu
hình riêng của bạn đặ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 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 cho phép địa chỉ IP
Chỉnh sửa các lệnh trong file squid.conf để cấu 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.
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

Preview text:

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH ĐIỆN TỬ
ĐỒ ÁN KẾT THÚC HỌC PHẦN
LINUX PHẦN MỀM NGUỒN MỞ ĐỀ TÀI
CẤU HÌNH TƯỜNG LỬA 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
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
TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH ĐIỆN TỬ
ĐỒ ÁN KẾT THÚC HỌC PHẦN
LINUX PHẦN MỀM NGUỒN MỞ ĐỀ TÀI
CẤU HÌNH TƯỜNG LỬA 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ữ 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: SỞ THUYẾT
1.1 Giới thiệu 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 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 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 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 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ụ 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 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 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 HTTPS
sudo ufw allow http/ sudo ufw allow https 14
2.2.5 Đóng mở cổng UFW sudo ufw allow 56/tcp sudo ufw deny 56/tcp
2.2.5 Chặn 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 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