TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN CHUYÊN ĐỀ HỆ THỐNG 2 ĐỀ TÀI GIẢI PHÁP XÂY DỰNG HỆ THỐNG MẠNG CHO CÔNG TY CÁC TRẮNG Nhóm Mạo Hiểm Ngô Thanh Hoàng Lương Công Phong Phan Khánh.
CƠ SỞ LÝ THUYẾT
Giới thiệu công ty Cát trắng
Công ty Cát Trắng là một doanh nghiệp vừa có chuyên môn trong lĩnh vực kinh doanh sản phẩm điện tử và công nghệ Để bắt kịp với sự phát triển nhanh chóng của công nghệ, công ty không ngừng cập nhật và phát triển các linh kiện cho điện thoại, laptop và máy tính PC.
Công ty Cát Trắng, được thành lập vào năm 2000, đã tích lũy nhiều năm kinh nghiệm trong lĩnh vực kinh doanh sản phẩm công nghệ như laptop, PC và điện thoại Với quy mô lớn, công ty đầu tư vào cơ sở hạ tầng và mạng máy tính đầy đủ để cung cấp dịch vụ chất lượng Đặc biệt, Cát Trắng chú trọng đến chính sách phúc lợi cho nhân viên, đồng thời tạo ra sân chơi lành mạnh hàng năm nhằm nâng cao tinh thần làm việc và gắn kết đội ngũ.
Tổ chức
Công ty có nhiều phòng ban: kinh doanh, nhân sự, kế toán, sales, kỹ thuật Quy mô công ty gồm 200 nhân viên.
Mô hình mạng
1.3.1 Yêu cầuServer và client
To evaluate the services, all servers were equipped with the following testing tools: smbclient, curl, lynx, dnsutils, ldap-utils, ftp, lftp, wget, ssh, nfs-common, rsync, telnet, traceroute, and tcptraceroute.
Mô tả dự án và nhiệm vụ
Mạng văn phòng bao gồm một đám mây riêng cho máy chủ email nội bộ và mạng nội bộ, cho phép nhân viên làm việc từ xa Đồng thời, một đám mây công cộng được sử dụng cho trang web công ty, với các dịch vụ được cấu hình bởi nhà cung cấp dịch vụ Internet "Fast-Provider".
Mạng văn phòng là hệ thống thiết yếu cho các công việc văn phòng, bao gồm một máy chủ và nhiều máy khách, giúp nhân viên dễ dàng cộng tác Nhiệm vụ của bạn là cài đặt và cấu hình hệ thống này, bao gồm việc thiết lập tường lửa và kết nối với nhà cung cấp dịch vụ Internet (ISP) để đảm bảo an toàn và hiệu suất Tường lửa fw.skill12.net được sử dụng cho mạng văn phòng và được chia sẻ với mạng đám mây riêng, tạo ra một môi trường làm việc hiệu quả và bảo mật.
Cấu hình OpenVPN cho kết nối VPN site-to-site giữa fw.hcmcskills.org và thiết bị tun, cho phép lưu lượng giữa mạng văn phòng và mạng công cộng (mạng đám mây) được định tuyến qua đường hầm VPN Sử dụng giao thức UDP giúp giảm thiểu chi phí trong quá trình truyền tải Đối với việc cấu hình VPN máy khách cho janes-pc, người dùng khi kết nối sẽ có quyền truy cập tương đương vào tất cả tài nguyên như khách hàng trong các mạng văn phòng, bao gồm cả mạng đám mây riêng và mạng đám mây công cộng.
Cấu hình dịch vụ DHCP cho mạng văn phòng cần thêm tất cả các tùy chọn cần thiết để đảm bảo các dịch vụ hoạt động hiệu quả Bản ghi A và PTR của máy khách phải được cập nhật động cho DNS trên file.skill12.net, đồng thời cần đảm bảo rằng file.skill12.net luôn được gán cùng một địa chỉ để duy trì tính ổn định trong kết nối mạng.
Tất cả lưu lượng truy cập qua tường lửa sẽ bị chặn theo mặc định, ngoại trừ lưu lượng từ mạng văn phòng, luôn được cho phép Khi truy cập internet, lưu lượng từ mạng văn phòng và mạng đám mây riêng cần được dịch sang địa chỉ IP bên ngoài Lưu lượng HTTPS từ ứng dụng OpenVPN đến mạng đám mây công cộng sẽ không đi qua Site-to-VPN, trong khi các lưu lượng khác từ ứng dụng khách OpenVPN sẽ đi qua Site-to-Site VPN Địa chỉ file.skill12.net là tệp cục bộ và máy chủ xác thực cho mạng văn phòng; hãy cài đặt và cấu hình các dịch vụ cần thiết trên máy chủ.
Cài đặt máy chủ LDAP với OpenLDAP cho phép xác thực người dùng khi họ đăng nhập vào máy khách cục bộ Quá trình này bao gồm việc thêm tất cả người dùng văn phòng vào cơ sở dữ liệu LDAP, giúp quản lý và bảo mật thông tin người dùng hiệu quả hơn.
Thêm ba ổ cứng bổ sung, mỗi ổ có kích thước 1GB Định cấu hình mảng RAID
Thêm /dev/md0 như một ổ cứng vật lý và tạo ổ cứng logic tại /dev/file/data Thiết lập nhóm dung lượng cần thiết và gắn kết ổ đĩa logic vào thư mục /data.
Chia sẻ thư mục /data/ public-files với public.hcmcskills.org, đảm bảo quyền truy cập chỉ ở chế độ đọc Lưu ý rằng không có máy chủ nào khác được phép truy cập vào thư mục này.
Tạo một thư mục chia sẻ tên là "documents" cho phép tất cả người dùng đã xác thực truy cập với quyền đọc và ghi Mỗi người dùng văn phòng cần có một thư mục chính trong /data/home, và chỉ người dùng tương ứng mới có quyền truy cập vào thư mục đó Chỉ tạo thư mục chính cho những người dùng có mặt trong văn phòng theo bảng người dùng đã cung cấp Tất cả các thư mục chia sẻ phải được lưu trữ trong /data.
Để cấu hình DNS cho skill12.net, cần thiết lập vùng DNS và thêm các mục nhập cần thiết Tất cả các truy vấn đến các khu vực khác sẽ được chuyển tiếp đến srvpv01.fast-provider.net Đồng thời, cần định cấu hình vùng tra cứu ngược cho mạng văn phòng và mạng con của mạng đám mây riêng, bao gồm client1.skill12.net.
Sử dụng GNOME làm môi trường máy tính để bàn Đăng nhập với tư cách là người dùng adam.
Người dùng cần xác thực khi đăng nhập vào máy khách qua cả dòng lệnh và giao diện đồ họa với máy chủ LDAP tại file12.skill12.net Chỉ cho phép tài khoản root đăng nhập cục bộ, trong khi các tài khoản dịch vụ bị ngăn chặn Lưu ý rằng việc đăng nhập GUI cho tài khoản root bị cấm theo mặc định và không được phép thay đổi.
Tài liệu cần được kết nối cho tất cả người dùng văn phòng trong thư mục /mnt/Documents, đảm bảo mỗi người dùng có quyền truy cập vào phần chia sẻ trong Home thông qua NFS Cấu hình ứng dụng thư khách Thunderbird để người dùng Adam có thể gửi và nhận thư, đồng thời cần đảm bảo rằng chứng chỉ được tin cậy bởi khách hàng Lưu ý rằng sẽ có cảnh báo khi sử dụng chứng chỉ tự ký Người dùng trong miền hcmcskills.org có thể nhận E-mail một cách dễ dàng.
Mạng này được sử dụng để mô phỏng một nhân viên từ xa.
Sử dụng GNOME làm môi trường máy tính để bàn, tạo tài khoản người dùng cục bộ tên Jane và đăng nhập Thiết lập tập lệnh khởi động tự động /usr/local/bin/startup.sh thông qua systemd, với dịch vụ loglastboot để ghi lại thời gian khởi động vào /last-boot Kiểm tra bằng cách khởi động lại dịch vụ Cấu hình ứng dụng thư khách Thunderbird cho phép Jane gửi và nhận email mà không có cảnh báo chứng chỉ, đồng thời hỗ trợ gửi email cho người dùng trong miền skill12.net Thiết lập kết nối OpenVPN tới fw.skill12.net, cho phép Jane mở sau khi đăng nhập vào GNOME thông qua network-manager Đám mây riêng được sử dụng để cung cấp dịch vụ công cộng cho người dùng văn phòng, được cách ly để đảm bảo bảo mật Tham khảo bảng "NETWORKS" để biết thông tin về các mạng con Tại private.skill12.net, có máy chủ mail và web phục vụ người dùng văn phòng dưới miền skill12.net, trong đó người dùng Adam có thể đăng nhập bằng SSH vào tài khoản gốc từ client1.skill12.net sử dụng xác thực bằng private-key.
Cấu hình máy chủ email cho tên miền skill12.net cho phép tất cả người dùng văn phòng gửi và nhận email Người dùng có thể truy cập hộp thư qua IMAP, với tất cả giao tiếp giữa máy chủ và máy khách được bảo mật bằng TLS (STARTTLS) Hệ thống cũng hỗ trợ gửi email cho người dùng trong miền hcmcskills.org.
Giới thiệu các dịch vụ
VPN, hay Mạng Riêng Ảo, là công nghệ cho phép kết nối an toàn giữa các địa điểm hoặc người dùng từ xa với mạng LAN tại trụ sở chính thông qua Internet Thay vì sử dụng các kết nối phức tạp như đường dây thuê bao số, VPN tạo ra các liên kết ảo, giúp truyền tải dữ liệu giữa hệ thống mạng riêng của tổ chức và các vị trí xa một cách hiệu quả và an toàn.
Mạng riêng ảo (VPN) là một kết nối an toàn giữa mạng cục bộ (LAN) và hệ thống khác, hoạt động như một cầu nối giữa router và các mạng Trong trường hợp sử dụng OpenVPN, máy tính của bạn và máy chủ sẽ liên kết thông qua chứng chỉ xác nhận Sau khi xác nhận thành công, cả máy chủ và máy khách sẽ đồng ý cho phép truy cập vào mạng của server.
Triển khai phần mềm và phần cứng VPN thường tốn nhiều thời gian và chi phí, do đó OpenVPN trở thành một giải pháp mã nguồn mở hoàn toàn miễn phí cho người dùng Ngoài OpenVPN, người dùng cũng có thể lựa chọn Tomato để thiết lập kết nối an toàn và bảo mật giữa hai mạng mà không phát sinh thêm chi phí Tuy nhiên, chương trình này cần được tinh chỉnh và cấu hình lại để hoạt động hiệu quả hơn.
DHCP, viết tắt của Dynamic Host Configuration Protocol, là giao thức giúp quản lý tự động và tập trung việc phân phối địa chỉ IP trong mạng Nó không chỉ hỗ trợ việc cung cấp địa chỉ IP mà còn cung cấp thông tin cho các thiết bị một cách hợp lý, bao gồm cấu hình subnet mask và cổng mặc định.
DHCP hoạt động bằng cách cho phép thiết bị yêu cầu địa chỉ IP từ router, và ngay lập tức, router sẽ gán một địa chỉ IP khả dụng cho thiết bị đó, giúp nó có thể giao tiếp trên mạng.
Trong các hộ gia đình và doanh nghiệp nhỏ, router thường hoạt động như một máy chủ DHCP Tuy nhiên, trong các mạng lớn hơn, DHCP chỉ đảm nhận vai trò của một máy tính.
Khi một thiết bị muốn kết nối với mạng, nó sẽ gửi yêu cầu DHCP DISCOVER tới máy chủ Máy chủ DHCP nhận yêu cầu này và tìm kiếm một địa chỉ IP khả dụng để cung cấp cho thiết bị, kèm theo gói DHCPOFFER.
Khi thiết bị nhận được địa chỉ IP, nó sẽ gửi gói DHCPREQUEST để phản hồi lại máy chủ DHCP Nếu yêu cầu được chấp nhận, máy chủ sẽ gửi thông báo xác nhận (ACK) để xác định rằng thiết bị đã được cấp IP, đồng thời thông báo thời gian sử dụng địa chỉ IP này cho đến khi có địa chỉ IP mới.
Iptables là ứng dụng tường lửa miễn phí trên Linux, cho phép người dùng thiết lập quy tắc để kiểm soát truy cập và tăng cường bảo mật cho máy chủ Công cụ này giúp ngăn chặn các truy cập không hợp lệ, rất quan trọng trong việc bảo vệ hệ thống Các bản phân phối Linux như Ubuntu, Fedora và CentOS đều tích hợp sẵn Iptables, hỗ trợ người dùng quản lý lưu lượng một cách hiệu quả.
Lý do nên sử dụng IPTABLES Đây là một công cụ đầy đủ tính năng cung cấp cho bạn mọi thứ bạn cần
Bạn có thể xử lý các packet linh hoạt hơn.
Bạn sẽ cảm thấy như một hacker tài ba khi tự tay viết những quy tắc xuất sắc nhằm ngăn chặn các cuộc tấn công.
Cấu trúc của iptables bao gồm nhiều thành phần khác nhau, giúp người dùng quản lý và kiểm soát lưu lượng mạng hiệu quả Để hiểu rõ hơn về iptables, cần tìm hiểu chi tiết về các thành phần và chức năng của nó.
Trong iptables, có năm chain chính, mỗi chain đảm nhận một nhiệm vụ cụ thể trong việc xử lý gói tin Các chain này bao gồm PREROUTING, INPUT, FORWARD, OUTPUT và POSTROUTING Như tên gọi của chúng, các chain này chịu trách nhiệm quản lý các gói tin ngay khi chúng được nhận hoặc ngay trước khi chúng được định tuyến ra bên ngoài.
In networking, various tables are responsible for specific tasks, including filter, nat, mangle, raw, and security tables The filter table is primarily used to manage and restrict incoming packets to the server, while the nat table handles network address translation (NAT), facilitating address conversion Among these, the filter and nat tables are the most commonly utilized for effective network management.
Target: Các target chỉ định nơi packet sẽ đi Điều này được quyết định bằng cách sử dụng các target của chính iptables:
Hoặc target của các extension module, phổ biến nhất là DNAT, LOG, MASQUERADE, REJECT, SNAT, TRACE và TTL.
Các target được phân loại thành hai loại: có kết thúc và không có kết thúc Các target có kết thúc sẽ dừng lại quá trình xử lý và các gói tin sẽ không được tiếp tục Ngược lại, các target không có kết thúc sẽ tiếp tục xử lý gói tin và cho phép các quy tắc tiếp theo được thực hiện.
LDAP (Lightweight Directory Access Protocol) là giao thức phát triển dựa trên chuẩn X500, hoạt động theo mô hình client-server để truy cập dịch vụ thư mục Giao thức này cho phép người dùng xác định cấu trúc và các đặc điểm của thông tin trong thư mục một cách hiệu quả.
CÀI ĐẶT HỆ THỐNG MẠNG
Office Network
2.2.1 máy fw.skill12.net a Tiến hành cài đặt IP
Cấu hình ip cho máy: vi /etc/sysconfig/network-scripts/ifcfg-ens33 b Cài đặt và cấu hình OpenVPN client-to-site
Cài đặt gói hỗ trợ yum install epel-release -y yum install openvpn wget –y
Sử dụng wget download Easy RSA và extract file nén vừa tải: wget -O /tmp/easyrsa https://github.com/OpenVPN/easy-rsa-old/archive/2.3.3.tar.gz tar xfz /tmp/easyrsa
To set up Easy-RSA on your server, first create a new folder named easy-rsa-2.3.3 Then, create a subfolder within /etc/openvpn and name it easy-rsa using the command: mkdir /etc/openvpn/easy-rsa Finally, copy the extracted Easy-RSA files into the newly created folder.
Cấu hình OpenVPN client-to-site
Copy the file server.conf to the /etc/openvpn/ directory and rename it to client.conf using the following command: `cp /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/server.conf /etc/openvpn/client.conf`.
To configure the OpenVPN client-to-site, use the command `vi /etc/openvpn/client.conf` to access the copied file (client.conf is just a placeholder name, as OpenVPN can support multiple VPN types, allowing for customizable naming) Begin by locating the line with `push "redirect-gateway def1 bypass-dhcp"` and uncomment it by removing the semicolon at the start of the line.
Bỏ ghi chú cả hai dòng "push dhcp-option DNS " và sử dụng các server DNS công cộng của Google: push "dhcp-option DNS 8.8.8.8" và push "dhcp-option DNS 8.8.4.4" Để OpenVPN hoạt động mà không cần quyền khi ứng dụng đã khởi động, cần yêu cầu nó chạy với user và group là nobody Để kích hoạt điều này, hãy bỏ ghi chú dòng user nobody và group nobody.
Tiếp theo, bỏ comment topology subnet
Dòng server 10.8.0.0 255.255.255.0 trong cấu hình OpenVPN cho phép thiết lập mạng con và xác định dãy địa chỉ IP sử dụng Trong trường hợp này, địa chỉ IP của Server sẽ là 10.8.0.1, và client đầu tiên sẽ được cấp phát địa chỉ IP tiếp theo.
Dòng lệnh ifconfig-pool-persist ipp.txt cung cấp thông tin về các địa chỉ IP đã được cấp cho từng client dựa trên tên chứng chỉ của người dùng Trong trường hợp dịch vụ VPN gặp sự cố, bị tắt hoặc khởi động lại, địa chỉ IP sẽ được cấp lại cho client tương ứng.
Tại đây ta thêm dòng: auth SHA512 Lưu và thoát khỏi file cấu hình
Tạo khóa bằng lệnh sau: openvpn genkey secret /etc/openvpn/ta.key
To initiate the process of creating keys and certificates, we will first create a directory where Easy-RSA will store all generated keys and certificates Use the command `mkdir /etc/openvpn/easy-rsa/keys` to create the folder, and then edit the variables file by entering `vi /etc/openvpn/easy-rsa/vars`.
Xuống cuối file và thay đổi các giá trị bắt đầu bằng export KEY_ và thay đổi chúng như sau:
KEY_CN : Tại đây, hãy nhập domain hoặc domain phụ phân giải cho server của bạn.
Bạn nên nhập đúng tên server tại đây Nếu bạn nhập thông tin khác, bạn sẽ cần phải điều chỉnh các file cấu hình liên quan đến server.key và server.crt.
Các biến khác trong file này mà bạn có thể cần thay đổi là:
KEY_COUNTRY : Đối với biến này, hãy nhập tên viết tắt gồm hai chữ cái của quốc gia cư trú của bạn.
KEY_PROVINCE : Đây phải là tên hoặc chữ viết tắt của tiểu bang nơi cư trú của bạn.
KEY_CITY : Tại đây, hãy nhập tên city bạn đang sống.
KEY_ORG : Đây phải là tên của tổ chức hoặc công ty của bạn.
KEY_EMAIL : Nhập địa chỉ email mà bạn muốn được kết nối với certificate bảo mật.
KEY_OU : Đây phải là tên của “Đơn vị tổ chức” mà bạn thuộc về, thường là tên của phòng ban hoặc group của bạn.
Sau khi bạn đã áp dụng các thay đổi của bạn , file sẽ trông giống như sau:
To initiate the process of creating a key and certificate, navigate to the Easy-RSA folder and source the new variables defined in the vars file by executing the commands: `cd /etc/openvpn/easy-rsa` and `source /vars`.
Chạy tập lệnh clean-all của Easy RSA để xóa mọi khóa và certificate đã có trong folder và tạo cơ quan cấp certificate :
Tiếp theo, xây dựng tổ chức phát hành certificate với script build-ca Bạn có thể nhấn ENTER để chấp nhận các giá trị đã cấu hình trước đó:
./build-ca Tiếp theo, tạo khóa và certificate cho server bằng tập lệnh build-key-server : /build-key-server server
Phần cuối cùng của việc tạo khóa server và certificate là tạo file trao đổi khóa Diffie-Hellman Sử dụng tập lệnh build-dh:
./build-dh Quá trình này có thể mất vài phút để hoàn thành.
After your server has finished generating the key exchange file, copy the server keys and certificate from the 'keys' folder to the 'openvpn' directory by executing the following commands: `cd /etc/openvpn/easy-rsa/keys` and `cp dh2048.pem ca.crt server.crt server.key /etc/openvpn` Then, navigate back to the easy-rsa directory with `cd /etc/openvpn/easy-rsa` and build the client key using `./build-key client`.
Cuối cùng, hãy sao chép file cấu hình OpenSSL phiên bản openssl-1.0.0.cnf sang tên không có phiên bản là openssl.cnf Việc không thực hiện bước này có thể dẫn đến lỗi, khiến OpenSSL không thể tải cấu hình do không phát hiện được phiên bản của nó Sử dụng lệnh sau: `cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf`.
Vào file selinux để disabled dịch vụ SELINUX vi /etc/sysconfig/selinux Chuyển tiếp định tuyến tới mạng con OpenVPN:
To enable IP forwarding on your server, first, identify the VPN server's IP address using the command `SHARK=$(ip route get ip_vpn_server | awk 'NR==1 {print $(NF-2)}')` Next, open the sysctl.conf file with `vi /etc/sysctl.conf` and add the line `net.ipv4.ip_forward = 1` at the end of the file Finally, restart the network service to apply the new settings by executing `systemctl restart network.service`.
Bật Server OpenVPN bằng cách thêm nó vào systemctl -f enable openvpn@client.service Sau đó khởi động dịch vụ OpenVPN: systemctl start openvpn@client.service
Cấu hình kết nối VPN trên client janes-pc sử dụng hệ điều hành Ubuntu
Dùng WinSCP copy các file trên Server OpenVPN theo đường dẫn vào máy client:
To establish a VPN connection on an Ubuntu client, navigate to the Network Manager and select the OpenVPN option Ensure you have the necessary certificates and keys located in the following directories: /etc/openvpn/easy-rsa/keys/ca.crt, /etc/openvpn/easy-rsa/keys/client.crt, /etc/openvpn/easy-rsa/keys/client.key, and /etc/openvpn/ta.key.
Trong mục Identity, chọn key và các chứng chỉ kết nối như hướng dẫn Tiếp theo, nhấp vào phần Advanced để chọn chứng chỉ phù hợp với Server OpenVPN.
Kiểm tra kết nối bằng cách xác nhận biểu tượng VPN ở góc phải màn hình Nếu địa chỉ IP hiển thị đúng với dãy địa chỉ đã cấu hình, điều này có nghĩa là tunnel đã được thiết lập thành công Tiếp theo, tiến hành cấu hình OpenVPN cho kết nối site-to-site.
Các gói OpenVPN đã được cài đặt trước đó nên ta sẽ đi vào cấu hình site-to-site cho máy fw.skill12.net và máy fw.hcmcskills.org.
Service Provider
Trong các dịch vụ được xây dựng cho doanh nghiệp nhóm đã được làm nhiều trên trường và qua các đồ án.
Việc tìm hiểu và tìm tài liệu trên mạng nhiều
Có sự hướng dẫn nhiệt tình từ thầy Làm việc nhóm hiệu quả
Có nhiều dịch vụ chưa làm nên tốn nhiều thời gian tìm hiểu
Các dịch vụ LDAP, IPTABLES ít nguồn tài liệu và dịch vụ nhiều nên không kịp thời gian nghiên cứu Đề tài dài nên mất nhiều thời gian làm
Trong quá trình xây dựng mô hình doanh nghiệp, việc thiết lập tường lửa và thực hiện LDAP là rất quan trọng để bảo đảm an toàn thông tin Sử dụng firewall như pfsense giúp tăng cường bảo mật, đặc biệt trong bối cảnh nền kinh tế phát triển Doanh nghiệp cần áp dụng tự động hóa và nguồn nhân lực chất lượng cao cho các công việc như gửi mail tự động và sao lưu dữ liệu Trước khi triển khai mô hình, doanh nghiệp nên xem xét khả năng nâng cấp để đáp ứng nhu cầu ngày càng cao Hướng tới sự nhanh gọn và bảo mật với chi phí hợp lý, các dịch vụ đám mây như Amazon và Azure là lựa chọn tối ưu Những dịch vụ này đa dạng, cho phép doanh nghiệp tự xây dựng web hoặc mail thông qua IaaS, hoặc sử dụng PaaS nếu đã có hạ tầng sẵn có, giúp tiết kiệm chi phí cho server, bảo trì và nhân sự.