Đây được xem là một phiên bản hệ điều hành khác hẳn so với các phiên bản Ubuntu tiêu chuẩn, được tạo ra nhằm hỗ trợ cho việc hoạt động của mạng lưới network và dịch vụ service.. Hệ điều
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA AN TOÀN THÔNG TIN
BÁO CÁO BÀI THỰC HÀNH SỐ 3 MÔN HỌC THỰC TẬP CƠ SỞ
CÀI ĐẶT, CẤU HÌNH UBUNTU SERVER
Giảng viên hướng dẫn : Nguyễn Ngọc Điệp
Họ và tên sinh viên : Phạm Thị Thanh Ngoan
Mã sinh viên : B21DCAT145
Hà Nội – 2023
Trang 21 Lý thuyết
1.1 Tìm hiểu hệ điều hành Ubuntu Server
Ubuntu Server là một hệ điều hành máy tính của bản phân phối Linux thông dụng Nhưng ngoài việc đó, phiên bản Ubuntu Server thực sự đang mang lại cho người dùng một trải nghiệm tuyệt vời
Đây được xem là một phiên bản hệ điều hành khác hẳn so với các phiên bản Ubuntu tiêu chuẩn, được tạo ra nhằm hỗ trợ cho việc hoạt động của mạng lưới (network) và dịch vụ (service) Hệ điều hành được sử dụng để chạy trên các file server đơn giản vì nó đang hoạt động trong 5000 node cloud Khác với phiên bản Desktop, phiên bản Ubuntu Server không bao gồm việc giao diện đồ họa đối với người dùng (Graphical User Interface) Bạn có thể tìm hiểu và thấy được sự khác nhau về giao diện giữa 2 phiên bản này
1.2 Phân biệt Ubuntu Server và Ubuntu Desktop
Điểm chung xuất phát từ việc đều là những hệ điều hành cung cấp cho bạn một phần mềm mã nguồn mở tự do (FOSS) cho phép người dùng được tự do chạy, sao chép, phân phối, nghiên cứu, thay đổi và cải tiến phần mềm
Như đã nói ở trên, sự khác nhau cơ bản giữa hai phiên bản này chính là Ubuntu Desktop cung cấp cho người dùng một giao diện đồ họa trong khi phiên bản Server thì không Ngoài ra, còn có một số điểm khác biệt sau chúng ta cần phân biệt rõ:
Giao diện đồ họa người dùng
Trong khi Ubuntu Desktop bao gồm giao diện người dùng đồ họa, Ubuntu Server thì không
Mặc dù một số hệ điều hành máy chủ Linux có môi trường máy tính để bàn, nhiều người thiếu GUI Chẳng hạn, Container Linux của CoreOS hoàn toàn dựa trên dòng lệnh Mặc dù Ubuntu Server thiếu GUI, Ubuntu Desktop cho rằng máy của bạn sử dụng đầu ra video Do đó, Ubuntu Desktop cài đặt một môi trường máy tính để bàn
Các ứng dụng
Ubuntu Desktop chứa các ứng dụng phù hợp với mục đích sử dụng chung: có bộ năng suất văn phòng, phần mềm đa phương tiện và trình duyệt web
Song song, Ubuntu Server cũng bao gồm các gói tiêu chuẩn Chúng tập trung vào các yêu cầu máy chủ Ubuntu Server có thể chạy như một máy chủ email, máy chủ tệp, máy chủ web và máy chủ samba Trong khi các ứng dụng máy tính
Trang 3để bàn Ubuntu được tập trung để sử dụng trên máy chủ, các gói Ubuntu Server tập trung vào việc cho phép kết nối với khách hàng cũng như bảo mật
Cài đặt
Cài đặt Ubuntu Desktop giống như việc cài đặt phần mềm Nhưng để cài đặt Ubuntu Server thay vào đó bạn phải dùng một menu qui trình điều khiển 1.3 Dịch vụ chia sẻ file Samba
Samba Server
Samba Server được xem như là 1 máy chủ tập tin (hay còn gọi là File Server) dùng trong mạng nội bộ Samba Server là nơi để lưu trữ tập trung những thông tin của 1 tổ chức, doanh nghiệp nào đó bất kỳ đồng thời được thiết lập trên hệ thống điều hành Windows hay Linux Bên cạnh đó, Samba Server hoạt động chủ yếu dựa trên giao thức SMB được ra mắt công chúng vào năm 1984 trong 1 tài liệu kỹ thuật thuộc hãng IBM với mục đích thiết kế ra 1 giao thức mạng để đặt tên và duyệt
SMB hoạt động như thế nào?
Giao thức SMB (tên gọi sơ khai của CIFS) Giao thức này hoạt động trong mạng Internet phụ thuộc trên giao thức TCP/IP đồng thời mang đến cho người sử dụng mọi quyền trong việc tạo 1 tập tin với những quyền hạn như là Đọc và ghi (ReadWrite), Chỉ đọc (Read Only), đặt mật khẩu, khoá 1 tập tin,… Bên cạnh đó, SMB còn hỗ trợ người dùng những tính năng khác như là:
-Hỗ trợ Unicode
-Xử lý các thuộc tính mở rộng của file
-Thông báo sự thay đổi file và thư mục
-Xác thực truy cập file, thư mục chia sẻ
Phát hiện các máy chủ sử dụng SMB trên mạng (browse network)
-Đàm phán, dàn xếp để tương thích giữa các hình thái SMB
1.4 SELinux
Khái niệm:
SELinux (Security-Enhanced Linux) là một hệ thống bảo mật được tích hợp sâu vào hệ điều hành Linux Nó được phát triển bởi Cục Tình báo Quốc phòng Hoa
Kỳ (NSA) và được phát hành dưới giấy phép mã nguồn mở SELinux cung cấp
Trang 4một cơ chế kiểm soát truy cập dựa trên chính sách bảo mật để giữ cho hệ thống
an toàn và đảm bảo tính toàn vẹn của dữ liệu
SELinux sử dụng một loạt các chính sách bảo mật để kiểm soát các hành động của các quy trình và người dùng trong hệ thống Các chính sách này xác định quyền truy cập của các quy trình đối với các tài nguyên trong hệ thống như file,
ổ đĩa và cổng kết nối mạng Nó cũng theo dõi các hoạt động của các quy trình
để phát hiện các hành vi đáng ngờ và ngăn chặn các cuộc tấn công từ các hacker hoặc phần mềm độc hại
Tuy nhiên, SELinux cũng có thể làm cho việc cấu hình và quản lý hệ thống trở nên phức tạp hơn đối với người quản trị hệ thống không có kinh nghiệm trong việc sử dụng SELinux
Các chế độ SELinux
SELinux có ba chế độ hoạt động chính: Enforcing, Permissive và Disabled Mỗi chế độ có mục đích và tác động khác nhau đến việc kiểm soát truy cập của hệ thống
Enforcing mode: Đây là chế độ mặc định của SELinux Trong chế độ này, SELinux sẽ kiểm soát và hạn chế các hành động của các quy trình và người dùng trên hệ thống dựa trên chính sách bảo mật đã được định nghĩa Khi một hành động vi phạm chính sách được phát hiện, SELinux sẽ ghi log và ngăn chặn hoạt động đó Chế độ Enforcing giúp bảo vệ hệ thống khỏi các cuộc tấn công và xâm nhập
Permissive mode: Trong chế độ này, SELinux sẽ ghi log các hoạt động vi phạm chính sách, nhưng không ngăn chặn chúng Chế độ Permissive được sử dụng để giám sát các hoạt động của hệ thống và xác định các hoạt động mà các chính sách bảo mật cần được cập nhật hoặc điều chỉnh Chế độ này cũng hữu ích để giảm thiểu các vấn đề tương thích và sửa lỗi SELinux trên hệ thống
Disabled mode: Trong chế độ này, SELinux không hoạt động và không có kiểm soát truy cập của SELinux trên hệ thống Chế độ này được sử dụng khi người dùng muốn tắt hoặc gỡ bỏ SELinux hoặc khi cần tạm thời vô hiệu hóa SELinux
để giải quyết các vấn đề tương thích Tuy nhiên, việc sử dụng chế độ Disabled là không khuyến khích vì nó sẽ làm giảm tính toàn vẹn và bảo mật của hệ thống
Tại sao SELinux quan trọng ?
SELinux (Security-Enhanced Linux) là một công nghệ an ninh cấp kernel, được tích hợp trực tiếp vào hạt nhân Linux SELinux cung cấp một cơ chế bảo mật
Trang 5tầng thấp để kiểm soát truy cập và hành vi của các quy trình trên hệ thống Dưới đây là một số lý do nên sử dụng SELinux trên hệ thống của bạn:
Tăng cường bảo mật: SELinux cung cấp một lớp bảo mật bổ sung, giúp giảm thiểu các lỗ hổng bảo mật và ngăn chặn các cuộc tấn công xâm nhập hệ thống Với SELinux, các quy trình trên hệ thống chỉ có thể truy cập tài nguyên mà chính sách bảo mật cho phép SELinux cũng giúp ngăn chặn các lỗi bảo mật từ các quy trình trên hệ thống, giúp tăng tính toàn vẹn của dữ liệu
Giám sát hệ thống: SELinux cung cấp các log chi tiết về các hoạt động của các quy trình trên hệ thống Nhờ đó, người quản trị có thể giám sát và phát hiện các hoạt động bất thường hoặc có hành vi đáng ngờ
Quản lý quyền truy cập: SELinux giúp quản lý các quyền truy cập trên hệ thống một cách hiệu quả, giúp ngăn chặn các nguy cơ truy cập trái phép hoặc các hành động không đáng được thực hiện trên hệ thống
Tích hợp với các ứng dụng và dịch vụ: SELinux có thể tích hợp với các ứng dụng và dịch vụ trên hệ thống, giúp đảm bảo tính toàn vẹn và an toàn của các ứng dụng và dịch vụ đó
Khi nào cần vô hiệu hóa SELinux ?
Mặc dù SELinux là một công cụ bảo mật mạnh mẽ cho hệ thống Linux, tuy nhiên vẫn có những trường hợp mà bạn cần tạm thời vô hiệu hóa SELinux Dưới đây là một số trường hợp cần vô hiệu hóa SELinux:
Cài đặt phần mềm của bên thứ ba: Trong một số trường hợp, phần mềm của bên thứ ba có thể không tương thích với SELinux, do đó cần vô hiệu hóa SELinux
để cài đặt và sử dụng phần mềm
Kiểm thử ứng dụng: Khi kiểm thử ứng dụng, có thể cần vô hiệu hóa SELinux để thực hiện một số tác vụ mà SELinux có thể ngăn chặn
Giải nén và truy xuất file: Khi giải nén và truy xuất các file trên hệ thống, SELinux có thể ngăn chặn bạn truy xuất các file cần thiết, do đó cần tạm thời vô hiệu hóa SELinux để thực hiện các tác vụ này
Tuy nhiên, cần cân nhắc trước khi vô hiệu hóa SELinux vì điều này có thể làm giảm tính bảo mật của hệ thống Nếu không cần thiết, bạn nên giữ SELinux hoạt động để đảm bảo an toàn cho hệ thống của mình Nếu cần vô hiệu hóa SELinux, bạn nên vô hiệu hóa nó tạm thời và bật lại sau khi hoàn thành các tác vụ cần thiết
Trang 62 Chuẩn bị môi trường
File cài đặt Ubuntu Server định dạng ISO - Máy trạm Windows 10
Phần mềm máy ảo: VMWare Workstation
3 Thực hành
3.1 Cài đặt Windows 10 và Ubuntu Server
Cài đặt Windows 10
Cài đặt như các máy ảo khác
Trang 7 Cài đặt Ubuntu Server
Các bước cài đặt đầu như cài các máy ảo bình thường Khi power on, Ubuntu server khác các máy khác là không có giao diện install, thay vào đó phải cài đặt qua menu, hoàn toàn không sử dụng chuột
Trang 8 Cài đặt card mạng
Cài đặt tên người dùng và tên máy Từ bước này các bước sau cứ để mặc định
Trang 93.2 Cài đặt OpenSSH.
Trang 10 Lựa chọn cài openssh hay không Nếu bước này chọn không cài có thể cài
lại bằng lệnh: sudo apt install openssh-server
Màn hình sau khi đã cài xong
Kiểm tra dịch vụ OpenSSH bằng lệnh: sudo systemctl status ssh
Trả về trạng thái “active” chứng tỏ đã cài đặt thành công
Trang 11 Cài đặt chương trình Putty trên máy trạm Windows
Tải file installer về máy Windows sau đó chạy file installer
Trang 12 Dùng lệnh ifconfig trên máy Ubuntu Server để biết địa chỉ ip của máy server.
Trên máy Windows 10 chạy chương trình Putty, gõ địa chỉ ip của máy server vào ô host name (or ip address) Khi nhập ip xong sẽ có cửa sổ yêu cầu đăng nhập Nhập username và password của máy server
Trang 13 Sau khi đăng nhập thành công.
Minh chứng sau khi gõ lệnh ifconfig và lệnh whoami
Trang 143.3 Cài đặt và cấu hình dịch vụ chia sẻ file Samba
Cài đặt dịch vụ Samba trên Ubuntu Server bằng lệnh: sudo apt-get install samba
Tạo thư mục để chia sẻ file trong mục /home/phamthithanhngoan-at145/ tên
là sambashare
Gõ lệnh sudo nano /etc/samba/smb.conf để configure dịch vụ samba
Trang 15 Gõ dòng như trên hình Hình trên có nghĩa:
Path: Đường dẫn thư mục muốn chia sẻ
Có thể chỉnh sửa và browsable
Sau đó restart lại dịch vụ bằng lệnh: sudo service smbd restart
Đặt luật cho tường lửa bằng lệnh:
allow ufw allow samba Lệnh này để
cho phép samba traffic
Thêm người dùng Samba bằng lệnh sudo smbpasswd -a lenhuquynh-at163 Sau đó cài đặt mật khẩu samba cho người dùng này
Trang 16 Trên Windows 10, nhấn Ctrl + R -> gõ \\ + <ip máy ubuntu server> Hiện cửa sổ Window Security -> Nhập username và password -> ok
Truy cập thành công folder chia sẻ đã tạo từ Windows 10
Trang 17 Cài đặt thành công dịch vụ chia sẻ file samba.
3.4 Cài đặt và cấu hình SELinux
Trước tiên dừng hoặc remove AppArmor nếu có Thường ubuntu sẽ có AppArmor chạy default Cả 2 AppArmor và SELinux đều cung cấp bảo mật cho Ubuntu thông qua LSM (Linux Security Module) một lúc chỉ có thể có
1 LSM active Vậy muốn cài đặt SELinux phải bỏ AppArmor
Cài đặt SELinux bằng lệnh:
sudo apt-get install policycoreutils selinux-utils
selinux-basics -y
Trang 18 Bật SELinux bằng lệnh sudo selinux-activate
Gõ Gõ lệnh sestatus để xem trạng thái của SELinux
Để thêm protocol TCP công 992 vào cổng dịch vụ FTP, sử dụng lệnh : sudo semanage port -a -t ftp_port_t -p tcp 992 Kiểm tra kết quả thành công :
Sudo semanage port -l | grep -w ftp_port_t
4 Kết luận
Trang 19 Lý thuyết hệ điều hành Ubuntu Server, điểm khác nhau Ubuntu Server và máy trạm Ubuntu, dịch vụ chia sẻ file Samba, SELinux
Cài đặt Ubuntu Server
Cài đặt và sử dụng dịch vụ OpenSSH
Cài đặt, cấu hình và sử dụng dịch vụ chia sẻ file Samba
Cài đặt và cấu hình SELinux