TÓM TẮT NỘI DUNG Cài đặt DNS, mail server và Web server trên Linux Giới thiệu và cài đặt DNS trên Linux Giới thiệu và cài đặt mail server trên Linux Giới thiệu và cài đặt Web server trên Linux Cấu hình Virtual Host Cách sao lưu các dữ liệu quan trọng cho Web class Tổng quan về các loại Backup Các công cụ hỗ trợ Backup trong Linux Sao lưu với câu lệnh TarBackup Website Tìm hiểu các log files Cấu hình syslogd Log File Rotation Examining Log Files Cài đặt và triển khai iptable Giới thiệu về iptables Cài đặt iptables Cơ chế xử lý package trong iptables Load kernel module cần cho iptables Thực hiện lệnh trong iptables Một số giá trị khởi tạo của iptables Khắc phục sự cố trên iptables
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Vũ Trường Giang 20109257 CNTT2-K55 Bùi Văn Quân
20125730 CN-CNTT K57 Phạm Minh Hiếu
20121693 CNTT1.02-K57
Trong những năm gần đây hệ điều hành Linux đang ngày càng trở nên phổ biến trong trường học và môi trường công nghiệp Hệ Unix này, với chức năng và tính ổn định cho phép nó tồn tại song song với các hệ điều hành thương mại khác Hơn nữa, sự phổ biến của mã nguồn Linux trên
1
Trang 2Internet đã đóng góp rất nhiều cho sự phổ cập của linux Giúp chúng em bước đầu học phương pháp giải quyết bài toán thực tiễn, phát triển kỹ năng chuyên nghiệp và kỹ năng xã hội, tạo điều kiện cho chúng em học phương pháp lập nhóm và làm việc theo nhóm Giúp chúng em có sự say
mê cùng sự tự tin cần thiết trong học tập và trong con đường nghề nghiệp sau này
Được sự hướng dẫn của thầy cô, chúng em đã tìm hiểu những kiến thức cơ bản nhất về cài đặt DNS, mail server và Web server trên Linux, cách sao lưu dữ liệu quan trọng trên Web class, tìm hiểu các log files, cài đặt và triển khai iptable.Đây là những công cụ cơ bản nhất để hỗ trợ cho chúng em có thể học tốt những kiến thức khác
Với sự nỗ lực của cả nhóm và sự tận tình giúp đỡ của cô Bành Thị Quỳnh Mai, bài tập lớn linux của chúng em cũng đã hoàn thành.Tuy nhiên do trình độ và thời gian còn có hạn, năng lực còn nhiều hạn chế, nên bài tập lớn của nhóm em chắc chắn còn nhiều thiếu sót Em rất mong
cô cùng các bạn đóng góp ý kiến, để bài tập lớn của chúng em được hoàn thiện hơn
Em xin chân thành cảm ơn cô!
TÓM TẮT NỘI DUNG
( Cài đặt DNS, mail server và Web server trên Linux
( Giới thiệu và cài đặt DNS trên Linux( Giới thiệu và cài đặt mail server trên Linux( Giới thiệu và cài đặt Web server trên Linux
( Cấu hình Virtual Host
( Cách sao lưu các dữ liệu quan trọng cho Web class
2
Trang 3( Tổng quan về các loại Backup( Các công cụ hỗ trợ Backup trong Linux( Sao lưu với câu lệnh Tar
Backup Website
( Tìm hiểu các log files
( Cấu hình syslogd( Log File Rotation( Examining Log Files
( Cài đặt và triển khai iptable
( Giới thiệu về iptables( Cài đặt iptables( Cơ chế xử lý package trong iptables( Load kernel module cần cho iptables( Thực hiện lệnh trong iptables( Một số giá trị khởi tạo của iptables( Khắc phục sự cố trên iptables
NỘI DUNG BÁO CÁO
Phần I: Cài đặt DNS, mail server và Web server trên Linux1,Cài đặt DNS trên Linux
A,Khái niệm:
DNS là từ viết tắt trong tiếng Anh§ của Domain Name System, là Hệ thống tên miền được phát minh vào năm 1984 cho Internet§, chỉ một hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP§
và tên miền§ Hệ thống tên miền (DNS) là một hệ thống đặt tên theo thứ tự cho máy vi tính, dịch
vụ, hoặc bất kì nguồn lực tham gia vào Internet Nó liên kết nhiều thông tin đa dạng với tên miền
3
Trang 4được gán cho những người tham gia Quan trọng nhất là, nó chuyển tên miền có ý nghĩa cho con người vào số định danh (nhị phân), liên kết với các trang thiết bị mạng cho các mục đích định vị
và địa chỉ hóa các thiết bị khắp thế giới
DNS: Domain Name Service, là dịch vụ dùng để phân giải tên miền (Domain) sang địa chỉ IP
Domain: Là tên miền, ví dụ yahoo.com; microsoft.com
B,Cài đặt:
Tại sao chúng ta cần DNS: DNS được sử dụng để giúp chúng ta thuận tiện, dễ nhớ hơn khi cần truy cập đến một trang web nào đó Ví dụ: thay vì phải nhớ một dãy số dài dòng như 192.168.1.10 khi cần truy cập đến website SaigonCTT forums, chúng ta chỉ cần nhớ địa chỉ forum.saigonctt.com.vn
Trang 5B2: Cấu hình DNS phân giải xuôi (phân giải tên miền thành địa chỉ IP)2.1) Cấu hình file named.conf.local , thêm zone mới
Code:
gedit /etc/bind/named.conf.local
5
Trang 6+) “nhom7203.com” : Tên miền
+) type master: kiểu master
+) file “/etc/bind/db.7203.com”: file cấu hình zone
2.2) Cấu hình file db.7203.com
6
Trang 8service bind9 restart
dig nhom7203.com
B3: Cấu hình DNS phân giải ngược (phân giải địa chỉ IP ra tên miền)
3.1) Cấu hình file named.conf.local , thêm zone ngược
gedit /etc/bind/named.conf.local
8
Trang 93.2) Cấu hình file db.1
Cp /etc/bind/db.127 /etc/bind/db.1
Gedit /etc/bind/db.1
9
Trang 103.3) Restart bind9 và kiểm tra phân giải ngược
Code
Service bind9 restart
10
Trang 11Dig -x 1.2.3.4
Như vậy ta đã cài thành công DNS
2,Cài đặt mail server trên Linux
A,Mô hình hoạt động của hệ thống mail
1 Tổng quan về dịch vụ email :
11
Trang 12• Gửi và nhận các thong báo
• Có thể chứa các dữ liệu đa phương tiện
• Được sử dụng rộng rãi trên thế giới
• Không có xác thực
• Có thể được tích hợp với cơ chế mã hóa, hạ tầng khóa công khai,
2 Thành phần của hệ thống email :
• Mail User Agent(MUA) : là chương trình mà người dùng sử dụng để đọc và gửi e-mail Nó đọc e-mail được gửi vào mail box của người dùng và gửi e-mail tới MTA để gửi đến nơi nhận Các MUA thường được sử dụng trên Linux là: elm, pine, mutt
• Mail Tranfer Agent (MTA): hoạt động cơ bản của nó giống như một "mail router" nó nhận e-mail từ các MUA hay từ một MTA khác, dựa vào thông tin trong phần header của e-mail nó sẽ đưa ra xử lý phù hợp với e-mail đó, sau
đó e-mail sẽ được gửi đến một MDA phù hợp để gửi e-mail đó Các MTA thường được sử dụng trên Linux là: sendmail, postfix, qmail
• Mail Delivery Agent (MDA): nhận e-mail từ MTA và thực hiện việc gửi e-mail đến đích thực sự
B,Mô hình Mail Server
Đây là kiến trúc Mail Server sẽ triển khai
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
12
Trang 13Dovecot là một MAA cung cấp các dịch vụ IMAP và POP3 được cài phổ biến trên các CentOS,
Nó là một phần mềm mã nguồn mở được Timo Sirainen viết và phát triển Đặc điểm của Dovecot là: bảo mật, nhanh và dễ quản lý
SquirrelMail là một trong những Web mail phổ biến nhất trên các Mail Server, nó hỗ trợ cả các giao thức IMAP/POP3 và SMTP, được viết bằng PHP4 và là một phần mềm mã nguồn mở, nó giúp người dùng có thể đọc và quản lý e-mail của mình trong môi trường Web
C, Các bước cài đặt Mail server
B1 Cài đặt Postfix
Để cài đặt Postfix, chạy lệnh sau:
[trang@trang:~]# sudo su
-[root@trang:~]# apt-get install postfix
[root@trang:~]# dpkg-reconfigure postfix
13
Trang 18[root@trang:~]# postconf -e 'home_mailbox = Maildir/'
[root@trang:~]# postconf -e 'mailbox_command ='
[root@trang:~]# postconf -e 'smtpd_sasl_local_domain ='
[root@trang:~]# postconf -e 'smtpd_sasl_auth_enable = yes'
[root@trang:~]# postconf -e 'smtpd_sasl_security_options =
noanonymous'
[root@trang:~]# postconf -e 'broken_sasl_auth_clients = yes'
[root@trang:~]# postconf -e 'smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
[root@trang:~]# postconf -e 'inet_interfaces = all'
[root@trang:~]# nano /etc/postfix/sasl/smtpd.conf
18
Trang 19[root@trang:~]# touch smtpd.key
[root@trang:~]# chmod 600 smtpd.key
[root@trang:~]# openssl genrsa 1024 > smtpd.key
19
Trang 20[root@trang:~]# openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt # has prompts
20
Trang 21[root@trang:~]# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 # has prompts
[root@trang:~]# mv smtpd.key /etc/ssl/private/
[root@trang:~]# mv smtpd.crt /etc/ssl/certs/
[root@trang:~]# mv cakey.pem /etc/ssl/private/
[root@trang:~]# mv cacert.pem /etc/ssl/certs/
[root@trang:~]# postconf -e 'smtp_tls_security_level = may'[root@trang:~]# postconf -e 'smtpd_tls_security_level = may'[root@trang:~]# postconf -e 'smtpd_tls_auth_only = no'
[root@trang:~]# postconf -e 'smtp_tls_note_starttls_offer = yes'[root@trang:~]# postconf -e 'smtpd_tls_key_file =
[root@trang:~]# postconf -e 'smtpd_tls_loglevel = 1'
[root@trang:~]# postconf -e 'smtpd_tls_received_header = yes'
21
Trang 22[root@trang:~]# postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
[root@trang:~]# postconf -e 'tls_random_source = dev:/dev/urandom'[root@trang:~]# postconf -e 'myhostname = server1.example.com' # remember to change this to yours
[root@trang:~]# nano /etc/postfix/main.cf
Khởi động lại Postfix:
[root@trang:~]# /etc/init.d/postfix restart
Test:
[root@trang:~]# telnet localhost 25
Cài đặt Postfix thành công
B2 Cài đặt Dovecot
Cài đặt Dovecot bằng lệnh:
[root@trang:~]# apt-get install dovecot-pop3d dovecot-imapd
22
Trang 23
Chọn giao thức
23
Trang 24[root@trang:~]# nano /etc/dovecot/dovecot.conf
Tạo Maildir cho người dùng tương lai:
[root@trang:~]# maildirmake.dovecot /etc/skel/Maildir
[root@trang:~]# maildirmake.dovecot /etc/skel/Maildir/.Drafts[root@trang:~]# maildirmake.dovecot /etc/skel/Maildir/.Sent[root@trang:~]# maildirmake.dovecot /etc/skel/Maildir/.Trash[root@trang:~]# maildirmake.dovecot /etc/skel/Maildir/.TemplatesSau đó cho 1 người dùng hiện có:
[root@trang:~]# cp -r /etc/skel/Maildir /home/myuser/
[root@trang:~]# chown -R myuser:usergroup /home/myuser/Maildir[root@trang:~]# chmod -R 700 /home/myuser/Maildir
Test:
[root@trang:~]# /etc/init.d/dovecot start
[root@trang:~]# ps -A | grep dovecot
24
Trang 25[root@trang:~]# telnet 127.0.0.1 pop3
B3: Cài đặt SquirreMail
[root@trang:~]# apt-get install squirrelmail php5 apache2
25
Trang 26[root@trang:~]# squirrelmail-configure
26
Trang 27[root@trang:~]# cp /etc/squirrelmail/apache.conf available/squirrelmail
/etc/apache2/sites-[root@trang:~]# ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
[root@trang:~]# /etc/init.d/apache2 force-reload
27
Trang 313, Giới thiệu và cài đặt Web server trên Linux
HTTP là một giao thức cho phép trình duyệt Web Browser và servers có thể giao tiếp với nhau
Nó chuẩn hoá các thao tác cơ bản mà một Web Server phải làm được HTTP bắt đầu là 1 giao thức đơn giản giống như với các giao thức chuẩn khác trên Internet, thông tin điều khiển được truyền dưới dạng văn bản thô thông qua kết nối TCP Do đó, kết nối HTTP có thể thay thế bằng cách dùng lệnh “telnet” chuẩn
Apache là một phần mềm có nhiều tính năng mạnh và linh hoạt dùng để làm Web Server
•Hỗ trợ đầy đủ những giao thức HTTP trước đây như HTTP/1.1
•Có thể cấu hình và mở rộng với những module của công ty thứ ba
•Cung cấp source code đầy đủ với license không hạn chế
•Chạy trên nhiều hệ điều hành§ như Windows NT/9x, Netware 5.x, OS/2 và trên hầu hết các hệ điều hành§ Unix
A,Cài đặt Apache
apt-get install apache2
31
Trang 32B,Cấu hình virtual host
Virtual Host là tính năng của Apache giúp ta duy trì nhiều hơn một web server trên một máy tính Nhiều tên cùng chia sẻ một địa chỉ IP gọi là named-based virtual hosting, và sử dụng § những địa chỉ IP khác nhau cho từng domain gọi là IP-based virtual hosting.
Mục tiêu:
+Cấu hình Ip-based Virtual host
+Cấu hình Named-based Virtual host
32
Trang 33Named-based Virtual Host
Với Named-based Virtual Host, bạn có thể lưu trữ nhiều tên miền / trang web trên một máy duy nhất với một IP duy nhất Tất cả các tên miền trên máy chủ đó sẽ được chia sẻ một địa chỉ IP duy nhất
Nó dễ dàng hơn để cấu hình hơn IP-based Virtual Host , bạn chỉ cần cấu hình DNS của tên miền để ánh xạ nó với địa chỉ IP chính xác của
nó và sau đó cấu hình Apache để nhận ra nó với các tên miền Ví dụ dưới đây sử dụng 2 tên miền để miêu tả Named-based Virtual Host
B1: Tạo 2 tên miền cùng ánh xạ đến 1 địa chỉ IP (sử dụng cấu hình DNS ở trên
Cấu hình named.conf.local tạo 2 zone
33
Trang 34Cấu hình db.nhomlinux.com
34
Trang 35*Lưu ý: Phần này chúng ta không cấu hình DNS phân giải ngược B2 : Thêm localhost vào FQDN, thiết lập các sites-available của 2 trang web
Trang 3636touch /etc/apache2/sites-available/nhomlinux.confgedit /etc/apache2/sites-available/nhomlinux.conf
Trang 37B3: enable 2 sites vừa tạo
B4:Tạo thư mục chứa file html của 2 site
Trang 38B5:Tạo file index.html vào 2 thư mục html của 2 file và tiến hành chỉnh sửa html
Chỉnh sửa file html tùy ý
B6: Restart apache và mở trình duyệt gõ 2 trang web vừa tạo để kiểm tra
Trang 3939
Trang 40Thiết lập user directory
Trong hệ điều hành đa người dùng ubuntu, mỗi người dùng có quyền có thể có 1 trang web trong thư mục home của họ, sử dụng chỉ dẫn UserDir, ta có thể làm được điều này Khi người dùng truy cập địa chỉ URL: http://example.com/~username / sẽ thấy nội dung thư mục của người dùng có tên là “username”.
Ví dụ ta tạo một trang web thư mục home của user tên “ha”, cho phép hiển thị nội dung thư mục /home/ha/public_html/ hiển thị trên web khi có yêu cầu
B1: Ta bật module userdir
40www.nhom7203.com/~ha/
a2enmod userdir
Trang 41B2: Chỉnh file /etc/apache2/mods-enabled/userdir.conf
B3: Tạo thư mục public_html trong thư mục home của “ha” Tạo 1 file document trong đó
41
Trang 42B4:Chỉnh fqdn.conf
42
Trang 43B5: Kiểm tra
43
Trang 44Phần 2:Cách sao lưu và phục hồi dữ liệu trên Ubuntu
Máy tính là một thiết bị thường hoạt động không ổn định, các nhà cung cấp
sẽ không thông báo cho bạn những vấn đề đang xảy ra với máy tính của mình,
họ chỉ luôn tập trung vào những xu hướng quan trọng của thời đại Và khi xảy
ra sự cố hay hỏng hóc, chúng sẽ lấy đi toàn bộ công sức mà bạn đã bỏ ra hàng tuần, thậm chí là hàng tháng để làm Chỉ có việc sao lưu lại các dữ liệu mới có thể
giúp bạn tránh được các sự cố như vậy Đối với người dùng Linux thì sBackup là một giải pháp không thể bỏ qua.
Backup cho phép bạn nhiều tùy chọn cho những gì cần sao lưu, và khi đã cấu
hình xong việc sao lưu sẽ được diễn ra một cách thường xuyên cho bạn Một tính năng quan trọng mà giải pháp này cung cấp đó là có thể giúp bạn khôi phục dữ liệu
44
Trang 45rất dễ dàng Sau đây chúng tôi sẽ hướng dẫn bạn cách cài đặt và sử dụng sBackup trên Ubuntu.
1 Tổng quan về các loại Back up
• Backup dữ liệu là một trong những công việc rất cơ bản từ những người sử dụng bình thường sao lưu dữ liệu cá nhân đến các Network Admin sao lưu hàng GB dữ liệu của doanh nghiệp
• Đây cũng là tác vụ bắt buộc nhằm đảm bảo an toan dữ liệu khi xảy ra các sự
cố như Virus phá hoại dữ liệu, hư hỏng phần cứng, bất cẩn dẫn đến xóa nhầm data, thay đổi Server cần chuyển data từ Server cũ sang…nhờ backup đầy đủ theo thời gian được sắp đặt (scheduling), cũng như chọn kiểu backup phù hợp
mà chúng ta có thể phục hồi kịp thời các dữ liệu này một khi xảy ra các sự cố
3 Sao lưu với câu lệnh Tar
Tar (Tape Archive) là công cụ được sử dụng để gom 1 nhóm file(s) (folder là 1 loại file đặc biệt) thành 1 file duy nhất - file này được gọi là archive, hoặc để bung (xả) các file trong archive Người dùng Linux thì chắc chắn phải biết dùng lệnh Tar Trong bài này mình sẽ trình bày 1 vài option thông dụng của lệnh tar, và mỗi option sẽ có đi kèm với ví dụ cụ thể
_ Khi thao tác với file lưu trữ (archive) thì bắt buộc phải có option -f_ Mặc định trong file lưu trữ không chứa đường dẫn tuyệt đối , nên sẽ tự động bỏ dấu “/” ở đầu
45
Trang 46Nếu muốn giữ địa chỉ tuyệt đối thì thêm option –P Khi giải nén nếu có –P thì sẽ giải nén theo địa chỉ tuyệt đối , nếu không có thì sẽ giải nén theo địa chỉ tương đối_Khi tạo file lưu trữ mới trùng tên thì chương trình sẽ tự động overwrite file lưu trữ cũ mà không cần hỏi , để không overwrite thì thêm option –k Thêm option –r thì các file mới sẽ được ghi thêm vào cuối file lưu trữ cũ Thêm option backup để tạo file dự phòng file lưu trữ cũ khi có overwrite _ Mặc định tar sẽ lưu trữ đệ quy vào sâu bên trong các thư mục con , để không đệ quy thì thêm option no-recursion(tùy phiên bản , có hoặc không) , ngược lại thêm option recursion_ Mặc định lệnh tar sẽ giữ nguyên permission của các file (nghĩa là không cần option –p) , nếu muốn thay đổi permission thì thêm option –no-same-permissions
* Thực hiện Backup với lệnh Tar:
Tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz – exclude =/mnt –exclude=/sys /
Giải thích: tar là chương trình mà chúng ta sử dụng, cvpzf là các tùy chọn mà chúng
ta cung cấp cho tar bao gồm các tùy chọn chính như c (create archive) là tạo file nén lưu trữ, p (preserve permissions) là giữ lại permisssion của file và thư mục và z (gzip)
Tùy chọn exclude= nghĩa là loại trừ các file hoặc thư mục mà chúng ta không muốn backup Ví dụ như exclude=/home nghĩa là không backup các thư mục của người dùng
Khi đã backup xong, chúng ta sẽ có file backup ở đường dẫn /backup.tgz
Vào cuối quá trình backup, chúng ta có thể nhận được thông báo : Exiting with failure status due to previous errors Thông thường có thể bỏ qua lỗi không quan trọng này.
Có thể dùng lệnh backup dưới đây nếu không muốn định dạng nén là gzip mà là
bzip2 Đơn giản chỉ cần thay tùy chọn z bằng j
Tar cvpjf backup.tar.bz2 exclude=/proc exclude=/lost+found
exclude=/backup.tar.bz2 exclude=/mnt exclude=/sys /