Như chúng ta đều biết, hệ điều hành LinuxUnix là một hệ điều hành mã nguồn mở, không yêu cầu phải mua License như hệ điều hành Windows Server do vậy, việc một công ty, doanh nghiệp triển khai hệ thống của mình với những Server chạy hệ điều hành nhân LinuxUnix cụ thể là các hệ điều hành như Debian, Ubuntu, Centos,… là rất hợp lý với các công ty, doanh nghiệp vừa vả nhỏ. Điều này vừa tiết kiếm chi phí cho tổ chức, và hệ điều hành LinuxUnix cũng được các chuyên gia an ninh mạng khuyên dùng vì nó có phần bảo mật hơn so với hệ điều hành Windows Server của Microsoft.
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 QUẢN TRỊ MẠNG
ĐỀ TÀI:
Xây dựng hế thống Linux Server cho doanh nghiệp
Sinh viên thực hiện : DƯƠNG PHƯƠNG NAM
Giảng viên :ThS NGUYỄN KHÁNH TÙNG
Chuyên ngành : QUẢN TRỊ AN NINH MẠNG
Hà Nội , ngày 05 tháng 10 năm 2019
Trang 2MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU VỀ HỆ THỐNG SẼ TRIỂN KHAI 1
1.1 Giới thiệu 1
1.2 Hệ thống sẽ triển khai 1
1.2.1 Phân chia các Zone 1
1.3 Các dịch vụ sẽ cấu hình 2
1.3.1 Yêu cầu về hệ điều hành 2
1.3.2 DMZ Zone 3
1.3.3 Protected Zone 8
1.3.4 Internal Server & Clients 12
CHƯƠNG 2: CẤU HÌNH CÁC DỊCH VỤ 15
2.1 Cấu hình DMZ Zone 15
2.1.1 Cấu hình dịch vụ Mail Server 15
CHƯƠNG 3 : TỔNG KẾT 35
Trang 3LỜI NÓI ĐẦU
Dưới đây là bài báo cáo phục vụ kiểm tra hết môn “Quản trị mạng” của
em Trên ý tưởng là “Xây dựng hệ thống Linux Server cho doanh nghiệp”.
Mặc dù đã rất cố gắng hoàn thiện bài báo cáo với sự nỗ lực, tuy nhiên, cũngchưa có nhiều điều kiện tiếp xúc với các hệ thống thật, và việc xây dựng báo cáotrong thời gian có hạn, với lượng kiến thức còn hạn chế, nhiều bỡ ngỡ, nên báo
cáo “Xây dựng hệ thống Linux Server cho doanh nghiệp” của em chắc chắn sẽ
không thể tránh khỏi những thiếu sót 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àyngày càng hoàn thiện hơn
Sau cùng, em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông Tindồ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!
Trang 4CHƯƠNG 1: GIỚI THIỆU VỀ HỆ THỐNG SẼ TRIỂN KHAI
1.2 Hệ thống sẽ triển khai
Hình 1.1: Hệ thống sẽ triển khai trong bài báo cáo
1.2.1 Phân chia các Zone
Hà Nội, ngày 05 tháng 10 năm 2019 Sinh viên thực hiện:
Dương Phương Nam
Trang 5
- DMZ Zone: Viết tắt của vùng phi quân sự nghĩa là mọi người có thể truy
cập tới nó, nôm na là những máy chủ (Server) trong vùng này sẽ đượcPublic ra ngoài, ở hình bên trên thì vùng này chứa các Server chạy cácdịch vụ như Web Server, Mail Server, DNS, đây là những service cần đếnđược với người dùng
- Protected Zone: Như trên hình chúng ta có thể thấy ở vùng này thì các
Server sẽ được cấu hình các dịch vụ SMB, DFS, FTP các dịch vụ nàythường chỉ được sử dụng trong mạng Local (nội bộ) nhằm mục đích làmviệc, thao tác với File trong tổ chức và các file này thường chỉ lưu hànhnội bộ cần được bảo vệ, đúng với cái tên của Zone do đó các server nằm ởZone này không được phép Public ra bên ngoài tránh các tấn công từ đốithủ
- Internal Zone: Đây là zone sẽ chạy dịch vụ SQL, Redis, đây là những
dịch vụ để các Server ở các Zone khác truy cập tới để lấy dữ liệu từ CSDLNoSQL hay nhằm mục đích xác thực từ dịch vụ Redis nên nó cũng chỉđược sử dụng trong mạng Local
- Client: Vùng này chính là các người dùng, nhân viên trong tổ chức, người
sẽ sử dụng các dịch vụ mà được cấu hình trên hệ thống như Email, FTP,Browser
1.3 Các dịch vụ sẽ cấu hình
1.3.1 Yêu cầu về hệ điều hành
Trong hệ thống này em sẽ triển khai toàn bộ các Server chạy hệ điềuhành Debian 8 nhằm mục đích đồng bộ, dễ dàng hơn khi cấu hình cũng như việcBackup, Restore Toàn bộ sẽ được cài đặt trên môi trường ảo hóa đó là VmwareESXi dưới dạng các máy ảo nhằm tối ưu tài nguyên của Server và giảm số lượngServer vật lý cần mua
Trang 61.3.2 DMZ Zone
Số lượng Server cần cài trên Zone này là 3 gồm:
- 01 Server chạy dịch vụ DNS, Mail, Load Ballancer
- 02 Server chạy dịch vụ Web Server
Chi tiết về các dịch vụ:
A, DNS (Domain Name System)
Là dịch vụ phân giải tên miền từ một địa chỉ IP ra hoặc từ IP trỏ vềtên miền, phục vụ cho mục đích truy cập trang web hay mail mà khôngcần phải nhớ địa chỉ IP
Hình 1.2: Mô tả về hoạt động của DNS
Trang 7• Tạo bản ghi A trỏ về IP của Server.
• Tạo bản ghi CNAME “www” trỏ vào các Web Server
• Tạo bản ghi CNAME “mail” trỏ vào Mail Server
• Tạo bản ghi CNAME “ftp” trỏ vào FTP Server
• Tạo bản ghi CNAME “files” để truy cập vào DFS shares
• Tạo bản ghi MX cho tên miền Mail Server
Cấu hình Reverse Zone cho dải IP trong vùng DMZ.
Trang 8Hình 1.4: Điều phối Request của Load Ballancer
C, Web Server
Tiếng Việt nghĩa là máy chủ Web server là máy tính lớn được kết nối vớitập hợp mạng máy tính mở rộng Đây là một dạng máy chủ trên internet mỗimáy chủ là một IP khác nhau và có thể đọc các ngôn ngữ như file *.htm và
*.html… Tóm lại máy chủ là kho để chứa toàn bộ dữ liệu hoạt động trên internet
mà nó được giao quyền quản lý
Web server phải là một máy tính có dung lượng lớn, tốc độ rất cao để cóthể lưu trữ vận hành tốt một kho dữ liệu trên internet Nó sẽ điều hành trơn chucho một hệ thống máy tính hoạt động trên internet, thông qua các cổng giao tiếpriêng biệt của mỗi máy chủ Các web server này phải đảm bảo hoạt động liên tụckhông ngừng nghỉ để duy trì cung cấp dữ liệu cho mạng lưới máy tính của mình
Trang 9Hình 1.5: Dịch vụ Web
Một số dịch vụ Web Server phổ biến trên Linux/Unix
Trong mô hình này Web Server em sẽ cấu hình với Nginx đây là một dịch
vụ Web khá nhẹ và phổ biến, nó có thêm các tính năng như Load Ballacer đượctích hợp
Trang 10D, Mail Server
Mail server hay còn gọi là máy chủ thư điện tử có chức năng là gửi nhậncác email với tốc độ xử lý tùy thuộc vào cấu hình của từng máy, thường các máychủ thư điện tử này được doanh nghiệp sử dụng với cấu hình riêng cho tên miềnriêng mà người ta thường gọi đó là email doanh nghiệp
Hiện nay các server mail sử dụng các giao thức như là SMTP, POP, IMAP,TLS để hoạt động và làm việc
Mail Server trong bài này sẽ bao gồm Postfix & Dovecot và được mã hóabằngOpenSSL
Hình 1.6 Mail Achitechture Các thành phần của Mail Server sử dụng trong hệ thống:
Trang 11 Postfix
- Postfix là một MTA được viết bởi Wietse Venema khi ông đang làm việc
ở trung tâm nghiên cứu T J Watson của IBM Đặc điểm của Postfix: dễquản lý, nhanh, an toàn Chỉ cần một server với hardware thông thường,Postfix có thể chuyển giao hàng triệu email một ngày Ngày nay postfix làmột trong những MTA khá phổ biến trên các mail server
- Do Postfix chỉ chuyển tiếp mail nên sẽ cần dùng kết hợp với Dovecot đểlưu trữ mail
Dovecot
- Dovecot là một Mail Delivery Agent (MDA) mã nguồn mở sử dụng giaothức IMAP và POP3 Nó là một phần mềm mã nguồn mở được TimoSirainen viết và phát triển Đặc điểm của Dovecot là: bảo mật, nhanh và
dễ quản lý
- Dovecot sẽ cho phép Mail Server của chúng ta lưu trữ mail
- Chúng ta cũng sẽ cần OpenSSL để bảo mật cho mail server của chúng ta,
để ta có thể gửi và nhận mail ở Mail Client
1.3.3 Protected Zone
Zone này sẽ cần có 2 Server:
Trang 12- 01 Server tên “wsc-i-london” chạy các dịch vụ: SMB File Server, DFS,FTP.
- 01 Server tên “wsc-i-calgary” chạy các dịch vụ Authentication
(LDAP+Radius), CA, SMB File Server
Chi tiết các dịch vụ:
A, SMB File Server
- Server Message Block (SMB) là một công nghệ của IBM từ năm 1984,ban đầu chỉ là một giao thức mạng để đặt tên và duyệt (naming andbrowsing) Về sau SMB được kế thừa bởi Microsoft và trở thành một giaothức chia sẻ file phổ biến trong các phiên bản hệ điều hành của Microsoft
- Server sẽ khiến cho các file và tài nguyên khác khả dụng cho client trên
hệ thống mạng Từ đó, client có thể truy cập file và sử dụng các tàinguyên trên server
- Các client kết nối tới server sử dụng TCP/IP (NetBIOS over TCP/IP),NetBEUI hoặc IPX/SPX Một khi đã thiết lập kết nối, client có thể gửi cáccommand (SMBs) đến server, cho phép họ truy cập các shares và thao tácđối với các file (mở, đọc, ghi,…)
Trang 13B, FTP (File Trasfer Protocol)
- Giao thức chuyển nhượng tập tin) – là cách thức để truyền tập tin từ máytính này đến máy tính kia thông qua mạng Internet
- File server (tạm dịch: máy chủ tập tin) là một máy tính nối mạng cung cấpkhông gian để lưu trữ và chia sẻ dữ liệu
- FTP cũng là giao thức dùng để truyền tải dữ liệu web lên máy chủ web.
- Thông qua tài khoản FTP mà bộ phận IT của công ty tạo cho bạn, bạn sẽ
có quyền quản lý toàn bộ các dữ liệu dạng tập tin và thư mục có trên hostngoại trừ database Điều đó nghĩa là, người dùng có thể tải tâp tin (vănbảng, hình ảnh, nhạc, video, ….) từ máy chủ về máy tính cá nhân hoặcđăng tập tin từ máy tính cá nhân lên máy chủ đang đặt ở một nơi khác.Điểm đặc biệt là dung lượng các tập tin này (độ lớn – nhỏ) rất linh hoạt,phục vụ tối đa yêu cầu của người dùng
Trang 14LDAP hoạt động theo mô hình client-server Một hoặc nhiều LDAP serverchứa thông tin về cây thư mục Client kết nối đến server và gửi yêu cầu Serverphản hồi bằng chính nó hoặc trỏ tới LDAP server khác để client lấy thông tin.
Trình tự khi có kết nối với LDAP:
Connect (kết nối với LDAP): client mở kết nối tới LDAP server
Bind (kiểu kết nối: nặc danh hoặc đăng nhập xác thực): client gửi thôngtin xác thực
Search (tìm kiếm): client gửi yêu cầu tìm kiếm
Interpret search (xử lý tìm kiếm): server thực hiện xử lý tìm kiếm
Result (kết quả): server trả lại kết quả cho client
Unbind: client gửi yêu cầu đóng kết nối tới server
Close connection (đóng kết nối): đóng kết nối từ server
Trang 151.3.4 Internal Server & Clients
Vùng này sẽ cần cài 01 Server chạy dịch vụ NoSQL Database và Redis
- SQL là một CSDL quan hệ, cung cấp một lược đồ cố định, có các phép nối
và truy vấn, mở rộng mất nhiều chi phí hơn (mở rộng theo chiều dọc) docần thêm phần cứng để mở rộng SQL được ưu tiên khi bạn muốn sử dụngcác phép nối và thực hiện các truy vấn phức tạp SQL cố định hơn và cónhiều công cụ hỗ trợ
B, Redis
Trang 16- Redis (Remote DIctionary Server) là 1 cơ sở dữ liệu lưu trữ value rất mạnh mẽ và phổ biến hiện nay Đây là một loại NoSQLserver đơn giản nhất.
key Bên cạnh lưu trữ keykey value trên RAM giúp tối ưu performance,redis còn có cơ chế sao lưu dữ liệu trên đĩa cứng cho phép phục hồi
Các kiểu dữ liệu trong Redis:
- STRING: string, integer hoặc float Redis có thể làm việc với cảstring, từng phần của string, cũng như tăng/giảm giá trị của integer,float
- LIST: danh sách liên kết của các strings Redis hỗ trợ các thao tácpush, pop từ cả 2 phía của list, trim dựa theo offset, đọc 1 hoặcnhiều items của list, tìm kiếm và xóa giá trị
- SET: tập hợp các string (không được sắp xếp) Redis hỗ trợ cácthao tác thêm, đọc, xóa từng phần tử, kiểm tra sự xuất hiện củaphần tử trong tập hợp Ngoài ra Redis còn hỗ trợ các phép toán tậphợp, gồm intersect/union/difference
- HASH: lưu trữ hash table của các cặp key-value, trong đó key đượcsắp xếp ngẫu nhiên, không theo thứ tự nào cả Redis hỗ trợ các thaotác thêm, đọc, xóa từng phần tử, cũng như đọc tất cả giá trị
- ZSET (sorted set): là 1 danh sách, trong đó mỗi phần tử là map của
1 string (member) và 1 floating-point number (score), danh sáchđược sắp xếp theo score này Redis hỗ trợ thao tác thêm, đọc, xóatừng phần tử, lấy ra các phần tử dựa theo range của score hoặc củastring
Các ứng dụng của Redis
Trang 17- Caching: Sử dụng làm bộ nhớ đệm Chính tốc độ đọc ghi nhanh màRedis có thể làm bộ nhớ đệm, nơi chia sẻ dữ liệu giữa các ứngdụng hoặc làm database tạm thời Ngoài ra Redis có thể sử dụng đểlàm Full Page Cache cho website Cũng vì tính nhất quán củaRedis, cho dù restart Redis thì người dùng cũng không có cảmnhận chậm khi tải trang.
- Counter: Sử dụng làm bộ đếm Với thuộc tính tăng giảm thông sốrất nhanh trong khi dữ liệu được lưu trên RAM, sets và sorted setsđược sử dụng thực hiện đếm lượt view của một website, các bảngxếp hạng trong game chẳng hạng Redis hỗ trợ thread safe do đó nó
có thể đồng bộ dữ liệu giữa các request
- Publish/Suscribe (Pub/Sub): Tạo kênh chia sẻ dữ liệu Redis hỗ trợtạo các channel để trao đổi dữ liệu giữa publisher và subscribergiống như channel trong Socket Cluster hay topic trong ApacheKafka
Ví dụ: Pub/Sub được sử dụng theo dõi các kết nối trong mạng xãhội hoặc các hệ thống chat
- Queues: Tạo hàng đợi để xử lý lần lượt các request Redis chophép lưu trữ theo list và cung cấp rất nhiều thao tác với các phần tửtrong list, vì vậy nó còn được sử dụng như một message queue
C, Web Browser, Email Client, FTP Client
- Đây là các dịch vụ phía End User, cần được cấu hình và hướng dẫnngười dùng trong tổ chức sử dụng Bước cuối trong quá trình cấuhình hệ thống
Trang 18CHƯƠNG 2: CẤU HÌNH CÁC DỊCH VỤ 2.1 Cấu hình DMZ Zone
2.1.1 Cấu hình dịch vụ Mail Server
Bước 1: Cấu hình ban đầu cho Postfix Mail Server trên Debian
# apt-get update
# apt-get upgrade
2 Ở bước tiếp theo, cài đặt các gói phần mềm sau sẽ được sử dụng cho quản trị
hệ thống, bằng cách ban hành lệnh sau
# apt-get install curl net-tools bash-completion wget lsof nano
3 Tiếp theo, mở tệp /etc/host.conf để chỉnh sửa bằng trình soạn thảo văn bản
yêu thích của bạn và thêm dòng sau vào đầu tệp để phân giải DNS đọc tệp máychủ trước
order hosts,bind
multi on
4 Tiếp theo, thiết lập FQDN máy của bạn và thêm tên miền và FQDN hệ thống của bạn vào tập tin / etc / hosts Sử dụng địa chỉ IP hệ thống của bạn để phân
giải tên miền và FQDN như minh họa trong ảnh chụp màn hình bên dưới
Thay thế địa chỉ IP và tên miền phù hợp Sau đó, khởi động lại máy để áp dụngđúng tên máy chủ
Trang 19# hostnamectl set-hostname mail.tecmint.com
# echo "192.168.0.102 tecmint.com mail.tecmint.com" >> / etc / hosts
# init 6
5 Sau khi khởi động lại, hãy xác minh xem tên máy chủ đã được cấu hình đúng
chưa bằng cách ban hành chuỗi lệnh sau Tên miền, FQDN, tên máy chủ và địachỉ IP của hệ thống phải được trả về bằng lệnh tên máy chủ
Bước 2: Cài đặt Postfix Mail Server trên Debian
Mở tệp /etc/apt/sources.list để thêm dòng này vào deb http://ftp.de.debian.org/debian jessie main
Sau đó apt-get update và apt-get upgrade
Trang 20Để cài đặt postfix trong Debian từ kho chính thức, hãy thực hiện lệnh sau.
# apt-get cài đặt postfix
8 Trong quá trình cài đặt Postfix, bạn sẽ được hỏi một loạt các câu hỏi Trên dấunhắc đầu tiên, chọn tùy chọn Trang web Internet làm loại chung cho cấu hìnhPostfix và nhấn phím [enter] để tiếp tục và sau đó thêm tên miền của bạn vào tênthư hệ thống, như được minh họa trong các ảnh chụp màn hình sau
Cấu hình thư Postfix
Trang 21Bước 3: Cấu hình Postfix Mail Server trên Debian
9 Tiếp theo, sao lưu tệp cấu hình chính Postfix và định cấu hình Postfix cho tên
miền của bạn bằng cách sử dụng các lệnh sau
# cp /etc/postfix/main.cf đũa, backup}
# nano /etc/postfix/main.cf
Bây giờ cấu hình cấu hình Postfix trong tệp main.cf như được hiển thị.
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
smtpd_banner = $myhostname ESMTP
Trang 22# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
Trang 23# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticateddefer_unauth_destination
Trang 24Thay thế các biến myhostname , mydomain và mynetworks để phù hợp với
cấu hình của riêng bạn
Bạn có thể chạy lệnh postconf -n để kết xuất tệp cấu hình chính của Postfix và
kiểm tra các lỗi cuối cùng, như trong ảnh chụp màn hình bên dưới
Trang 25# post -n
10 Sau khi tất cả các cấu hình được đặt, khởi động lại daemon Postfix để áp
dụng các thay đổi và xác minh xem dịch vụ có đang chạy hay không bằng cách
kiểm tra xem dịch vụ chính của Postfix có ràng buộc trên cổng 25 hay không bằng cách chạy lệnh netstat
# systemctl restart postfix
# systemctl status postfix
# netstat -tlpn
Bước 3: Kiểm tra Postfix Mail Server trên Debian
11 Để kiểm tra xem postfix có thể xử lý chuyển thư hay không, trước tiên hãy cài đặt gói mailutils bằng cách chạy lệnh sau.