- Chơng II: Trình bày các vấn đề: cách sử dụng, quản lý tài nguyên, quản lý ng-ời dùng và bảo mật trên hệ thống Ubuntu Server.. Trong màn hình Choose language, chọn một ngôn ngữ phù hợp
Trang 1trêng §¹i häc Vinh
Gi¸o viªn híng dÉn : Th.s TrÇn V¨n C¶nh Sinh viªn thùc hiÖn : NguyÔn Trung Phong Líp : 46 K3 – CNTT
Vinh, th¸ng 05 n¨m 2010
GVHD: Th.s TrÇn V¨n C¶nh Trang 1 SVTH: NguyÔn Trung Phong
Trang 2MôC LôC
GVHD: Th.s TrÇn V¨n C¶nh Trang 2 SVTH: NguyÔn Trung Phong
Trang 3Lời nói đầu
Trong xu thế của thời đại hiện nay, ứng dụng Công Nghệ Thông Tin vào thực
tế rất quan trọng và có ý nghĩa thiết thực Hầu hết mỗi cơ quan tổ chức đều tìm racho mình một giải pháp cần thiết và hợp lý Sự trao đổi thông tin liên lạc giữa các cánhân và tập thể không thể bị gián đoạn, có nhiều phơng án để thực hiện việc liên lạcnhng điều đó đã đợc đơn giản hóa bằng việc gửi th điện tử (E-mail)
Nhận thấy tầm quan trọng của việc gửi th điện tử và những lợi ích từ các ứngdụng mã nguồn mở mang lại tôi đã chọn đề tài “Triển khai hệ thống Mail ServerPostfix trên hệ điều hành Ubuntu Server 9.10” Đề tài đã nêu ra phơng án triển khaimột hệ thống máy chủ Mail hoàn chỉnh cho các doanh nghiệp vừa và nhỏ, với chi phíkhông cao nhng đáp ứng đầy đủ tỉnh ổn định và bảo mật Hệ thống triển khai trên hệ
điều hành Ubuntu Server, SMTP Postfix, POP Dovecot, lọc Spam với Spamassassin
và quét virus với ClamAV
Đề tài gồm các nội dung chủ yếu sau:
- Chơng I: Giới thiệu và cách cài đặt hệ điều hành mã nguồn mở Ubuntu Server9.10
- Chơng II: Trình bày các vấn đề: cách sử dụng, quản lý tài nguyên, quản lý
ng-ời dùng và bảo mật trên hệ thống Ubuntu Server
- Chơng III: Trình bày mô hình máy chủ Mail sẽ triển khai, các giao thức Mail,cách cài đặt và cấu hình các ứng dụng cần thiết trên hệ thống máy chủ Mail
GVHD: Th.s Trần Văn Cảnh Trang 3 SVTH: Nguyễn Trung Phong
Trang 4CHƯƠNG I Giới thiệu và Cài đặt I.1 Giới thiệu về hệ điều hành Ubuntu Server
Ubuntu Server là một hệ điều hành mã nguồn mở họ Linux Đây là một hệ điềuhành dành cho máy chủ trong các cơ quan tổ chức, dành cho các cá nhân yêu thíchnghiên cứu về mã nguồn mở và muốn trở thành ngời quản trị hệ thống Theo ý kiếncủa tôi và đa số ngời tìm hiểu về Linux thì trong tơng lai, Ubuntu Server sẽ chiếmlĩnh hầu hết trong các cơ quan, doanh nghiệp, các tổ chức bởi các tiện lợi mà nómang lại:
- Là hệ điều hành dành cho máy chủ
- Miễn phí hoàn toàn: không chỉ đơn thuần là miễn phí để có đợc UbuntuServer, mà còn miễn phí cả về bản quyền bởi đây là một hệ điều hành mãnguồn mở Có đầy đủ các phần mềm ứng dụng đi kèm miễn phí
- Tính bảo mật cao: So với Windows thì Linux nói chung có tính bảo mật caohơn, ít virus nên an toàn cho ngời sử dụng
- Dễ sử dụng: Hiện nay Ubuntu cung cấp đầy đủ giao diện đồ họa cho ngời sửdụng chọn lựa
- Cập nhật thờng xuyên và dễ dàng: Cứ sáu tháng thì có một bản Ubuntu mới
đ-ợc phát hành
I.2 Cài đặt
I.2.1 Yêu cầu phần cứng
Để Ubuntu server có thể hoạt động đợc, cấu hình phần cứng tối thiểu của máytính mà chúng ta cần trang bị là: CPU: x86 300 MHz Bộ nhớ RAM: 64 MB Dung l-ợng đĩa cứng: 500 MB Với máy tính trên thị trờng hiện nay hoàn toàn đáp ứng đợc
về vấn đề phần cứng cho Ubuntu Server
I.2.2 Cài đặt Ubuntu server
Địa chỉ download Ubuntu-9.10, phiên bản d nh cho máy chủ:à
http://releases.ubuntu.com/9.10/ubuntu-9.10-server-i386.iso
Ghi ra đĩa CD và thực hiện theo các bớc nh sau để cài đặt:
1. Khởi động từ đĩa CD Ubuntu-9.10 server Sau một vài phút, màn hình lựa chọnngôn ngữ sẽ hiện ra, hãy bấm nút ESC
GVHD: Th.s Trần Văn Cảnh Trang 4 SVTH: Nguyễn Trung Phong
Trang 5Hình 1-1: Lựa chọn ngôn ngữ cài đặt
2. Trong danh sách các tùy chọn, hãy chọn Install Ubuntu Server để bắt đầu tiếntrình cài đặt
Hình 1-2: Chọn Install Ubuntu Server
3. Trong màn hình Choose language, chọn một ngôn ngữ phù hợp để sử trong tiếntrình cài đặt Ubuntu server Đây cũng chính là ngôn ngữ mặc định của hệ thốngsau khi tiến trình cài đặt hoàn thành Sau khi chọn xong hãy bấm phím Enter
GVHD: Th.s Trần Văn Cảnh Trang 5 SVTH: Nguyễn Trung Phong
Trang 6Hình 1-3
4. Bên cạnh ngôn ngữ, bớc tiếp theo là chọn lựa quốc gia của mình
Hình 1-4: Lựa chọn quốc gia
Nếu tên quốc gia của mình cha đợc liệt kê trong danh sách, di chuyển xuống chọnmục other, sau đó chọn Viet Nam trong ở danh sách xuất hiện ngay sau đó Sau khihoàn thành, bấm phím Enter để sang bớc tiếp theo
5. Trong màn hình tiếp theo, chọn Yes để dò tìm thiết bị bàn phím
GVHD: Th.s Trần Văn Cảnh Trang 6 SVTH: Nguyễn Trung Phong
Trang 8Sau đó, bấm phím Enter hoặc chọn <Continue> để tiếp tục.
9 Trong màn hình Configure the clock, hãy lựa chọn một múi giờ (time zone) phùhợp với mình và bấm phím Enter
GVHD: Th.s Trần Văn Cảnh Trang 8 SVTH: Nguyễn Trung Phong
Trang 9Hình 1-9
10 Trong màn hình Partition disks, ở mục Partitioning method, nếu chọn mụcGuided - use entire disk thì hệ thống tự động thực hiện cách phân vùng tốt nhất
Hình 1-10
Sau khi chọn xong, bấm phím Enter để sang bớc tiếp theo
GVHD: Th.s Trần Văn Cảnh Trang 9 SVTH: Nguyễn Trung Phong
Trang 1011 Trong màn hình tiếp theo, hệ thống tự động chọn ổ đĩa để tiến hành phân vùng.
Hình 1-11
Sau khi đảm bảo ổ đĩa của mình đã đợc chọn lựa chính xác, hãy bấm phím Enter
12 Trong hộp cảnh báo xuất hiện ngay sau đó, nên xem lại một lần nữa những thay
đổi vừa thực hiện Sau khi chắc chắn, hãy chọn Yes để những thay đổi về partition ởtrên có hiệu lực
Trang 11Hình 1-13
14 Trong màn hình Set up users and passwords, cần nhập tên đầy đủ của mình vàomục Full name for the new user Tên này tơng ứng với tài khoản thay thế cho tàikhoản quản trị hệ thống “root”
Hình 1-14
Sau khi hoàn thành, chọn <Continue> để tiếp tục
15 Trong màn hình tiếp theo, hãy nhập username cho tài khoản mới của mình ở mụcUsername for your account Username bắt đầu với một ký tự thờng, theo sau là sự kếthợp của số và các ký tự thờng khác
Hình 1-15 GVHD: Th.s Trần Văn Cảnh Trang 11 SVTH: Nguyễn Trung Phong
Trang 12Sau khi hoàn thành, chọn <Continue> để tiếp tục.
16 Trong hai màn hình tiếp theo, hãy nhập password cho tài khoản mới của mình
Hình 1-16
Hình 1-17
Sau khi hoàn thành, chọn <Continue> để tiếp tục
GVHD: Th.s Trần Văn Cảnh Trang 12 SVTH: Nguyễn Trung Phong
Trang 1317 Trong mµn h×nh Software selection, cã thÓ chän mét hoÆc nhiÒu dÞch vô m¸y chñs½n cã trªn Ubuntu server b»ng c¸ch bÊm phÝm SpaceBar.
Trang 14Lu ý: Qua kinh nghiệm thực tế, để tránh mất hết dữ liệu cũ trên máy thì chúng
ta nên dùng đĩa Hirens Boot CD phân vùng một ổ khoảng 20 GB định dạng ETX3,một phân vùng 2GB định dạng Area Swap, sau đó đến bớc 10 chọn chế độ Manual,sau đó lựa chọn để cài đặt Ubuntu server lên đó
GVHD: Th.s Trần Văn Cảnh Trang 14 SVTH: Nguyễn Trung Phong
Trang 15Mặc định, Ubuntu server không đợc cài sẵn giao diện đồ họa, chúng ta muốncài đặt thì dùng một trong các lệnh:
Sudo apt-get install kubuntu-desktop
Sudo apt-get install ubuntu-desktop
Sudo apt-get install Xubuntu-desktop
Trong phần triển khai tôi chọn cài đặt giao diện đồ họa KDE
GVHD: Th.s Trần Văn Cảnh Trang 15 SVTH: Nguyễn Trung Phong
Trang 16CHƯƠNG II BắT ĐầU VớI UBUNTU SERVER II.1 Quản lý các gói
II.1.1 DPKG
dpkg là một trình quản lý gói cơ bản và đơn giản nhất cho các hệ thống
Debian, nó có thể cài đặt, gỡ bỏ, và xây dựng các gói.
II.1.2 Quản lý gói với APT
Quản lý gói bằng apt-get chạy đồng thời với tệp /ect/apt/sources.list.
1 Các lệnh
Tất cả các lệnh đợc nói đến đều phải chạy với tài khoản root hoặc với quyền siêungời dùng, Thay tên-gói trong các lệnh bằng tên của gói bạn muốn cài đặt
2 Lệnh cài đặt
Lệnh này sẽ cài đặt một gói mới
sudo apt-get install packet-name
Lệnh này sẽ tìm kiếm trên kho và cài đặt những gói phụ thuộc cần thiết để có thể cài
đặt gói từ mã nguồn Nếu gói không có trong kho, lệnh sẽ trả về một lỗi
sudo apt-get build-dep packet-name
apt-get chấp nhận một danh sách các gói làm tham số cài đặt, ví dụ:
sudo apt-get install packet-1 packet-2 packet-3
3 Lệnh tìm gói
Lệnh này sẽ giúp chúng ta tìm 1 gói, hoặc 1 chơng trình nào đó trong ubuntu Ví
dụ tôi không nhớ chính xác tên gói cài đặt của chơng trình amarok làm sao để cài đặt
bằng lệnh, việc này thực hiện rất đơn giản
sudo apt-cache search tham_số
GVHD: Th.s Trần Văn Cảnh Trang 16 SVTH: Nguyễn Trung Phong
Trang 174 Lệnh bảo quản
Chạy lệnh sau thờng xuyên giúp danh sách nguồn (/etc/apt/sources.list) của
bạn đợc cập nhật:
sudo apt-get update
Lệnh sau nâng cấp tất cả các gói đã cài đặt:
sudo apt-get upgrade
Lệnh sau nâng cấp toàn hệ thống tới một phiên bản mới hơn:
sudo apt-get dist-upgrade
Lệnh sau là một công cụ để chuẩn đoán Nó không cập nhật danh sách nguồn, mà chỉkiểm tra lỗi phụ thuộc:
sudo apt-get check
Chạy lệnh sau nếu gặp phải lỗi phụ thuộc của các gói:
sudo apt-get -f install
Lệnh sau gỡ bỏ các tệp cài đặt deb đã cũ trong hệ thống Phụ thuộc vào thói quen cài
đặt của bạn, xóa bỏ các tệp trong /var/cache/apt/archives có thể thu hồi một lợngkhông gian đĩa đáng kể
sudo apt-get autoclean
Lệnh sau tơng tự nh trên nhng nó sẽ xóa bỏ tất cả các gói trong nơi lu trữ:
sudo apt-get clean
Trang 18which make
Nếu công cụ đã đợc cài đặt thì xuất hiện:
/usr/bin/make
II.2.2 Viết chơng trình đầu tiên
Mở trình soạn thảo pico ra:
II.3.1 Cấu hình Card mạng
Mặc định thì Ubuntu Server cấu hình cho card mạng là cấp phát địa chỉ IP
động:
auto eth0
iface eth0 inet dhcp
Nếu chúng ta muốn cấu hình địa chỉ IP tĩnh thì mở file /etc/network/interfaces và
Trang 19II.3.2 Quản trị máy chủ
Để quản lý máy chủ, bạn có thể thêm, chỉnh sửa hoặc loại bỏ các host từ file
/etc/hosts Các tập tin có chứa địa chỉ IP và IP tơng ứng Khi hệ thống của bạn truy
nhập một hostname, một địa chỉ IP hoặc xác định tên máy cho một địa chỉ IP, nótruy cập đến /etc /hosts trớc khi sử dụng tên máy chủ Nếu địa chỉ IP đợc liệt kê
trong file /etc /hosts, máy tên chủ không đợc sử dụng Hành vi này có thể đợc sửa
đổi bằng cách chỉnh sửa / etc /nsswitch.conf lúc cần thiết.
Nếu mạng của bạn có địa chỉ IP máy tính nào không đợc liệt kê trong DNS,chúng ta nên thêm chúng vào file / etc / hosts.
II.4 Bảo mật
II.4.1 Quản lý ngời dùng
Quản lý ngời dùng là một phần quan trọng của việc duy trì một hệ thống an toàn.Ngời sử dụng không hiệu quả và quản lý hệ thống đặc quyền thờng dẫn đến tổn hạicho hệ thống Vì vậy, là một ngời quản trị hệ thống chúng ta quản lý tài khoản chohợp lý
Trang 20Sudo addgroup groupname
Xóa nhóm:
Sudo delgroup groupname
áp dụng ngời dùng vào nhóm:
Sudo adduser username groupname
2 Sơ lợc về bảo mật cho ngời dùng
Khi một ngời sử dụng mới đợc tạo ra, tiện ích adduser tạo ra một nhãn hiệumới có tên th mục / home / username tơng ứng Các hồ sơ mặc định đợc cấu hình
trong các th mục của /etc/skel, trong đó bao gồm tất cả các vấn đề cơ bản profile.
Nếu máy chủ của bạn có nhiều th mục username cho nhiều ngời dùng trong
th mục home, bạn nên chú ý tới các quyền cho ngời sử dụng th mục chính để đảm
bảo bí mật Theo mặc định, ngời sử dụng th mục home trong Ubuntu đợc tạo ra với
tất cả quyền đọc / thực thi Điều này có nghĩa rằng tất cả ngời dùng có thể duyệt vàtruy cập các nội dung của th mục home những ngời dùng khác Điều này là không
thích hợp, cho nên cần phải quản lý
Để xác thực ngời dùng đợc phép sử dụng th mục hiện hành, sử dụng cú phápsau:
ls -ld /home/username
Kết quả sau cho thấy user có quyền đọc:
drwxr-xr-x 2 username username 4096 2007-10-02 20:03 username
Có thể loại bỏ quyền đọc đợc bằng cách sử dụng cú pháp sau:
sudo chmod 0750 /home/username
Chỉnh sửa và cấp quyền bằng cách sửa tập tin /etc/adduser.conf và sửa đổi các biến
DIR_MOD cho thích hợp, ví dụ:
DIR_MODE = 0750
Dùng lệnh sau để kiểm tra kết quả chỉnh sửa quyền:
ls -ld /home/username
Kết quả sau cho thấy quyền đọc đã đợc loại bỏ với username:
drwxr-x - 2 username username 4096 2007-10-02 20:03 username
3.Chính sách mật khẩu
GVHD: Th.s Trần Văn Cảnh Trang 20 SVTH: Nguyễn Trung Phong
Trang 21Chính sách mật khẩu mạnh là một khía cạnh quan trọng nhất trong vấn đề bảomật cho máy chủ Nếu không ngời quản trị sẽ phải trả giá cho những tấn công cục bộ
và từ xa Nên dùng những mật khẩu có độ mạnh cao và thay đổi thờng xuyên
4.Chiều dài tối thiểu mật khẩu
Theo mặc định, Ubuntu yêu cầu một chiều dài mật khẩu tối thiểu là 4 ký tự,cũng nh kiểm tra entropy một số cơ bản Những giá trị này đợc kiểm soát trong tậptin /etc/pam.d/common-password, đợc nêu dới đây:
password required pam_unix.so nullok obscure min=4 max=8 md5
Nếu muốn điều chỉnh độ dài tối thiểu đến 6 ký tự, thay đổi các biến thích hợp đểmin = 6 sửa đổi đợc nêu dới đây:
password required pam_unix.so nullok obscure min=6 max=8 md5
(max=8 không phải là độ dài tối đa của mật khẩu)
5 Hết hạn mật khẩu
Khi tài khoản ngời dùng tạo ra, nên làm cho nó một chính sách để có một độtuổi tối thiểu và tối đa mật khẩu buộc ngời dùng thay đổi mật khẩu của họ khi hếthạn
Để dễ dàng xem trạng thái hiện tại của một tài khoản ngời dùng, sử dụng cúpháp sau đây:
sudo chage -l username
Kết quả sau cho thấy không có chính sách áp dụng cho mật khẩu:
Last password change : Jan 20, 2010
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Để thiết lập bất kỳ của các giá trị này, chỉ cần sử dụng cú pháp sau đây:
sudo chage username
Sau đây là một ví dụ về cách thay đổi ngày hết hạn: (-E) là ngày 05/30/2010, tuổimật khẩu tối thiểu (-m) là 5 ngày, tối đa mật khẩu tuổi (-M) là 90 ngày, không hoạt
GVHD: Th.s Trần Văn Cảnh Trang 21 SVTH: Nguyễn Trung Phong
Trang 22động thời kỳ (-I) trong 5 ngày kể từ ngày hết hạn mật khẩu, và một khoảng thời giancảnh báo (-W) là 14 ngày trớc khi hết hạn mật khẩu.
sudo chage -E 05/30/2010 -m 5 -M 90 -I 30 -W 14 username
Để kiểm tra sự thay đổi dùng lệnh:
sudo chage -l username
Kết quả dới đây cho thấy các chính sách mới đã đợc thiết lập cho tài khoản:
Last password change : Jan 20, 2010
Password expires : Apr 19, 2010
Password inactive : May 19, 2010
Account expires : May 30, 2010
Minimum number of days between password change : 5
Maximum number of days between password change : 90
Number of days of warning before password expires : 14
6 Các đảm bảo an toàn khác
Nhiều ứng dụng sử dụng cơ chế xác thực khác có thể dễ dàng bỏ qua bởi ngaycả các quản trị viên hệ thống có kinh nghiệm Vì vậy, điều quan trọng là phải hiểu vàkiểm soát cách ngời dùng xác thực và đợc truy cập vào dịch vụ và ứng dụng trên máychủ của bạn
7 Truy cập SSH trái phép bởi ngời sử dụng đã bị vô hiệu hóa
Đơn giản chỉ cần vô hiệu hóa / khóa một tài khoản ngời dùng sẽ không ngănchặn ngời dùng đăng nhập vào máy chủ của bạn từ xa nếu họ đã từng thiết lập xácthực khoá công khai RSA Họ vẫn sẽ có thể đợc truy cập vào hệ vỏ máy chủ, màkhông cần bất kỳ mật khẩu Hãy nhớ kiểm tra các th mục chính ngời sử dụng cho cáctập tin này sẽ cho phép cho loại bỏ chứng thực quyền truy cập SSH e.g /Home / username / ssh / authorized_keys.
Hủy bỏ hoặc thay đổi tên của th mục Ssh / vào th mục nhà của ngời dùng đểngăn chặn khả năng xác thực hơn nữa với SSH
Hãy kiểm tra kết nối SSH đợc thành lập bởi ngời dùng đã bị vô hiệu hóa, vì họ
có thể tạo các kết nối hiện tại nội địa hoặc ngoài nớc Ví dụ, bạn có thể tạo mộtnhóm gọi là "sshlogin và thêm tên nhóm làm giá trị gắn liền với biến AllowGroupsnằm trong tập tin / etc / ssh / sshd_config.
AllowGroups sshlogin
GVHD: Th.s Trần Văn Cảnh Trang 22 SVTH: Nguyễn Trung Phong
Trang 23Sau đó, thêm ngời sử dụng SSH cho phép vào nhóm "sshlogin", và khởi động lại dịch
vụ SSH
sudo adduser username sshlogin
sudo /etc/init.d/ssh restart
8 Cơ sở dữ liệu của ngời dùng bên ngoài
Hầu hết các mạng doanh nghiệp yêu cầu xác thực tập trung và kiểm soát truycập cho tất cả tài nguyên hệ thống Nếu bạn đã cấu hình máy chủ của bạn để xácthực ngời sử dụng chống lại các cơ sở dữ liệu bên ngoài, hãy chắc chắn đã vô hiệuhóa tài khoản ngời dùng cả hai từ bên ngoài và địa phơng, bằng cách này bạn đảmbảo rằng không có các truy nhập trái phép
II.4.2 Console Security
1 Vô hiệu hoá Ctrl + Alt + Delete
Trớc hết, bất cứ ai mà có quyền truy cập vật lý vào bàn phím là có thể sử dụngCtrl + Alt + Delete hợp phím để khởi động lại máy chủ mà không cần phải đăngnhập vào
Mở file /etc/event.d/control-alt-delete và thêm dấu “” vào dòng:
exec /sbin/shutdown -r now "Control-Alt-Delete pressed "
Để lệnh Control-Alt-Delete pressed thành dòng chú thích.
2 Mật khẩu bảo vệ Grub
Để thêm một mật khẩu để sử dụng với grub, đầu tiên bạn phải tạo một mật khẩumd5 hash bằng cách sử dụng tiện ích grub-md5-crypt:
grub-md5-crypt
Lệnh này sẽ yêu cầu nhập một mật khẩu và cung cấp một giá trị hash kết quả nh hìnhdới đây:
Password: (enter new password)
Retype password: (repeat password)
Trang 24II.4.3 Tờng lửa
Công cụ tờng lửa mặc định cho Ubuntu là ufw, ufw cấu hình tờng lửa dạng
iptables dựa trên máy chủ IPv4 hoặc IPv6.
Đầu tiên, phải kích hoạt ufw:
sudo ufw enable
Để mở một cổng:
sudo ufw allow 22
Thêm vào một quy tắc nhờ định dạng số:
sudo ufw insert 1 allow 80
Tơng tự, để đóng một cổng đang mở:
sudo ufw deny 22
Để loại bỏ một quy tắc:
sudo ufw delete deny 22
Cũng có thể cho phép truy cập từ các host cụ thể hoặc các mạng đến một cổng Ví dụsau cho phép truy cập ssh từ host 192.168.0.2 đến bất kỳ địa chỉ IP trên máy chủ này:
sudo ufw allow proto tcp from 192.168.0.2 to any port 22
GVHD: Th.s Trần Văn Cảnh Trang 24 SVTH: Nguyễn Trung Phong