Bài tập lớn môn Linux và phần mềm nguồn mở, viện CNTT và TT ĐH Bách Khoa Hà NộiBài báo cáo của chúng em gồm có 4 phần chính:Phần 1 : Triển khai dịch vụ DNS.Phần 2 : Triển khai mô hình Web Server với Apache.Phần 3 : Dịch vụ mail với sendmail.Phần 4 : Hệ thống firewall.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-******* -BÀI TẬP LỚN Linux và phần mềm nguồn mở
Giảng viên : Cô Bành Thị Quỳnh Mai
SV thực hiện: Nguyễn Văn Lượng
MSSV: 20146959
Trang 2LỜI MỞ ĐẦU
Trong thời đại bùng nổ của công nghệ thông tin như hiện nay,con người ngày càng được hưởng nhiều tiện ích từ sự hỗ trợ của các phần mềm và đặc biệt nhất là các phần mềm mã nguồn mở Linux là một trong số những phần mềm mãnguồn mở được ứng dụng rộng rãi nhất được phát triển từ phần mềm Unix Linux ngoài việc trao cho người sử dụng quyền sử dụng miễn phí,còn có quyền sao chép,nghiên cứu ,sửa đổi.Vì vậy ,phần mềm mã nguồn mở Linux ngày càng phát triển có một cộng đồng lớn phát triển và sử dụng
Nước ta đang trong quá trình hội nhập cùng với thế giới,công nghệ thông tin của nước ta đang trong giai đoạn học hỏi, phát triển và cộng đồng sử dụng mãnguồn mở cua nước ta đang có những bước đi đầu tiên hòa cùng với thế giới Trước tình hình đó,nội dung bài báo cáo dưới đây của chúng em sẽ đề cập tới “ Hướng dẫn cài đặt cấu hình ,hoạt động và ứng dụng của DNS, Web Server, mail với sendmail và hệ thông filewall iptable trên phần mềm mã nguồn mở Linux.”
Bài báo cáo của chúng em gồm có 4 phần chính:
Phần 1 : Triển khai dịch vụ DNS
Phần 2 : Triển khai mô hình Web Server với Apache
Phần 3 : Dịch vụ mail với sendmail
Phần 4 : Hệ thống firewall
Chúng em trân thành cảm ơn sự giúp đỡ của giảng viên Bành Thị Quỳnh Mai và các thầy cô đã cung cấp một phần tài liệu môn học để chúng em hoàn thành phần nghiên cứu của mình
Trong quá trình tìm hiểu thực hiện và hoàn thiện báo cáo chúng em đã tham khảo tài liệu môn học và một số tài liệu khác, do phạm vi nghiên cứu còn hạn hẹp nên chúng em không tránh khỏi những sai sót rất mong bạn đọc sẽ thôngcảm và đóng góp ý kiến thêm cho bài báo cáo hoàn thiện hơn
Trang 3Phần 1: Triển khai dịch vụ DNS
I Giới thiệu về dịch vụ DNS
- DNS là từ viết tắt trong tiếng Anh của Domain Name System, là hệ thống
phân giải tên miền được phát minh 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 tính,dịch vụ, hoặc bất kì nguồn lực tham gia vào Internet
- Mỗi website có một tên ( là tên miền hay đường dẫn URL) và một địa chỉ
IP, Khi mở một trình duyệt web và nhập tên website, trình duyệt sẽ đến thẳng website mà không cần phải thông qua địa chỉ IP của trang web Quá trình “dịch “ tên miền thành địa chỉ IP để cho trình duyệt hiểu và truy cập một website là công việc của một DNS server
- Các DNS trợ giúp qua lại với nhau để dịch địa chỉ IP thành “tên “ và ngược lại
II Triển khai dịch vụ DNS
- Chuyển chế độ người dử dụng cho root
# sudo su
Nhập mật khẩu người để sử dụng với quyền cao nhất
- Cập nhật ubuntu
# apt-get update
- Cài đặt gói BIND9
# apt-get install bin9
- Cấu hình IP tĩnh bằng cách sửa file interfaces
# nano /etc/network/interfaces
Nội dung như sau
Trang 4# /etc/init.d/networking restart
- Kiểm tra lại bằng câu lệnh ifconfig
- Chỉnh sửa file named.conf.local, trong file này sẽ khai báo các file zone thuận và zone nghịch cho tên miền đã đặt
# nano /etc/bind/named.conf.local
- Zone thuận dùng để phân giải tên sang địa chỉ IP
- Zone nghịch dùng để phân giải địa chỉ IP sang tên
- Đặt cấu hình file zone Tạo 2 file nhom59.com.zone và db.192 từ file
Trang 5- Chỉnh sửa file db.192
# nano /etc/bind/db.192
- Khởi động lại BIND9 để có hiệu lực
# service bind9 restart
- Kiểm tra kết quả bằng lệnh nslookup hoặc dig
Trang 6Phần 2: Triển khai mô hình Web Server bằng Apache2
I Sơ lược lý thuyết.
1 Apache:
- Apache là chương trình dành cho máy chủ đối thoại qua giao thức
HTTP Apache chạy trên hệ điều hành như Unix, Linux, Windows và một số hệ điều hành khác
- Khi được phát hành lần đầu Apache trở thành chương trình mã nguồn
mở duy nhất có khả năng cạnh tranh với các chương trình máy chủ tương tự như Netscape Communications Corporation Từ đó trở đi, Apache không ngừng phát triển và trở thành phần mềm máy chủ thông dụng nhất hiện nay
- Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở
dưới sự bảo trợ của Apache Software Foundation Apache được phát hành với giấy phép Apache License và là một phần mềm tự do và miễn phí
2 Web Server
- Web Server là một máy chủ có dung lượng lớn, tốc độ cao, được dung
để lưu trữ thông tin như một ngân hang dữ liệu, chứa các website đá được thiết kế và các thông tin khác
- Web Server có khả năng gửi đến máy khách những trang Web thông
qua môi trường Internet qua các giao thức HTTP – giao thức được thiết kế để gửi các file đến trình duyệt web, và các giao thức khác
II Cài đặt và cấu hình Apache
- Cài đặt apache2
# apt-get install apache2
- Và ấn “y” cho các câu hỏi [y/n] trong quá trình cài đặt
III Triển khai Web Server
1.Triển khai web server
- Bước 1: Trong thư mục /var/www ta tạo một thư mục để chứa một
website, ở đây ta tạo thư mục nhom59.com và trong thư mục này ta
tạo thư mục public_html để dễ quản lí, ta sử dụng lần lượt 2 câu lệnh:
Trang 7mkdir –p /var/www/nhom59.com
mkdir –p /var/www/nhom59.com/public_html
- Bước 2: Trong thư mục /var/www/nhom59.com/public_html vừa tạo
ta tạo một file index.html chính là file mà Server sẽ tìm đến khi được
yêu cầu
Ta dùng câu lệnh: nano
/var/www/nhom59.com/public_html/index.html
Ở đây file này được tạo như trong hình:
- Bước 3: Trong thư mục /etc/apache2/sites-available cấu hình file
nhom59.com.conf để cấu hình cho site.
Có thể dùng lệnh cp để dung một mẫu có sẵn như sau:
cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/nhom59.com.conf
Sau đó ta dùng lệnh nano
/etc/apache2/sites-available/nhom59.com.conf để tiến hành chỉnh
sửa, sửa để được như trong hình ảnh :
- Bước 4: enable site bằng câu lệnh a2ensite nhom59.com.conf
- Bước 5: restart apache2 bằng câu lệnh service apache2 restart
Trang 8- Bước 6: Vào trình duyệt và kiểm tra bằng cách đánh vào Address
nhom59.com hoặc www.nhom59.com Đây là kết quả thu được:
2. Triển khai IP Base Web Server
IP-Based: nghĩa là mỗi một host phải có 1 địa chỉ IP riêng biệt của nó.
- Bước 1: Trong thư mục /var/www tạo 2 thư mục test1 và test2 để
chứa 2 sites
mkdir –p /var/www/test1
mkdir –p /var/www/test2
- Bước 2: Trong mỗi thư mục test1, test2 vừa tạo tạo 1 file index.html
chính là file mà Server sẽ tìm tới khi được yêu cầu
nano /var/www/test1/index.html
nano /var/www/test2/index.html
Nội dung 2 file như sau :
Trang 9- Bước 3: Trong thư mục /etc/apache2/sites-available tạo file
test.com.conf để cấu hình cho site.
nano /etc/apache2/sites-available/test.com.conf
Nội dung file như sau :
- Bước 4: thêm 1 địa chỉ IP tĩnh trong card mạng ở file interfaces Cụ
thể ở đây ta thêm địa chỉ IP 192.168.3.101 ở card mạng eth0:2 để domain test2 ping tới
Trang 10- Bước 5: khởi động lại network để thay đổi
# /etc/init.d/networking restart
- Bước 6: enable site bằng lệnh a2ensite test.com.conf
- Bước 7: restart apache2 bằng lệnh service apache2 restart
- Bước 8: Mở trình duyệt và test thử ta được kết quả:
Trang 113 Name Based Web Server
Name Based Web Server: Với Name Based Web Server ta có thể
cấu hình nhiều host/site với chung một IP, phương pháp này dễ thực hiện hơn so với IP Based Web Server và cũng được dung khá phổ biến
Các bước triển khai
Với cách cấu hình DNS Server như ở Phần I ta tạo thêm một Server với tên nhom59demo.com cùng địa chỉ IP với nhom59.com
- Bước 1: Tạo một thư mục nhom59demo trong /var/www
mkdir -p /var/www/nhom59demo
- Bước 2: Trong thư mục nhom59demo mới tạo tạo một file
index.html chứa nội dung của site.
# nano /var/www/nhom59demo/index.html
Nội dung của file như sau :
- Bước 3 : Trong thư mục /etc/apache2/sites-available tạo file
nhom59demo.com.conf bằng câu lệnh : nano available/nhom59demo.com.conf
File có nội dung như sau :
Trang 12- Bước 4: thêm zone mới nhom59demo.com trong named.conf.local
với file zone là file của domain nhom59.com
- Bước 5: khởi động lại BIND9
#service bind9 restart
- Bước 6: enable site bằng lệnh a2ensite nhom59demo.com.conf
- Bước 7: restart apache2 bằng lệnh service apache2 restart
- Bước 8: Mở trình duyệt và test thử ta được kết quả:
Trang 134 HTTPS Web Server
Triển khai SSL lên hệ thống
- Bước 1: SSL đã được tích hợp sẵn trong Ubuntu 12.04 nên ta chỉ cần
khởi động bằng câu lệnh:
# a2enmod ssl
Sau khi khởi động SSL ta cần restart apache2 bằng câu lệnh:
# service apache2 restart
- Bước 2: Tạo file chứa chứng chỉ SSL bằng câu lệnh:
mkdir /etc/apache2/ssl
- Bước 3: Tạo key và certificate trong 2 file apache.key và apache.crt
bằng câu lệnh
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/
apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
- Bước 4: Lần lượt trả lời các câu hỏi được đưa ra VD như trong hình:
Trang 14- Bước 5: Chỉnh sửa file /etc/apache2/sites-available/default-ssl bằng
câu lệnh
nano /etc/apache2/sites-available/default-ssl
Nội dung được chỉnh sửa như sau :
- Bước 6 : Enable Virtual Host bằng câu lệnh : a2ensite default-ssl
- Bước 7: Restart Apache2: service apache2 restart
- Bước 8: Test kết quả bằng cách mở trình duyệt lên và gõ
https://nhom59.com
Trang 155 Cấu hình User Directory
Ý nghĩa: Home Folder là một share folder tự động map về máy trạm
thành ổ đĩa mạng khi User đăng nhập bất kỳ client nào
Home directory là thư mục cất giữ dữ liệu, chương trình, ứng dụng của một User ngoài thư mục My Documents
Các bước cấu hình
- Bước 1: Để tiện là cho phần này chúng ta sẽ tạo thêm một tài
khoản người dung có tên là linux bằng câu lệnh adduser linux
- Bước 2: Dùng lệnh a2enmod userdir để khỏi động userdir.
- Bước 3: Restart bằng lệnh service apache2 restart
- Bước 4: Trong thư mục /home/linux tạo thư mục public_html, trong thư mục này tạo file index.html chính là file nguồn của
site Dùng các câu lệnh như trong hình:
- Bước 5: Cấu hình file index.html
- Bước 6: Test kết quả nhận được bằng cách vào trình duyệt và
đánh địa chỉ như sau: nhom59.com/~linux
Trang 16Phần 3: Mail server
I Hệ thống E-Mail
Hệ thống E-Mail thông trường gồm 3 phần chính:
- 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ự
II Triển khai Mail server
- Cài đặt các gói cần thiết để triển khai dịch vụ mail
# apt-get install bind9 apache2 php5 postfix dovecot-core dovecot-imapd dovecot-pop3d squirrelmail
- Cấu hình file zone như ở phần 1 Ta sẽ có DNS cho dịch vụ mail, kiểm tra lại
- Tạo file mail từ file default có sẵn trong apache2
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mail
- Chỉnh sửa nội dung file mail
# nano /etc/apache2/sites-available/mail
Trang 17- Khởi động file mail
# a2ensite mail
- Khởi động lại apache2
# invoke-rc.d apache2 restart
- Cấu hình lại postfix
# dpkg-reconfigure postfix
Cấu hình như sau:
Trang 19- Chỉnh sửa apache.conf
# nano /etc/squirrelmail/apache.conf
Trang 20- Chỉnh sửa dovecot.conf
# nano /etc/dovecot/dovecot.conf
- Khởi động lại các gói BIND9, apache2, postfix, dovecot
# invoke-rc.d bind9 restart
# invoke-rc.d apache2 restart
# invoke-rc.d postfix restart
# invoke-rc.d dovecot restart
- Truy cập vào mail.nhom59.com
Trang 21- Đăng nhập bằng user người dùng và mật khẩu Soạn thư gửi đến người
khác Cụ thể ở đây gửi đến user linux Ngoài ra có thể tạo thêm các user khác bằng lệnh adduser
- Truy cập vào user linux để kiểm tra mail
Trang 22Phần 4: Triển khai dịch vụ Firewall Iptables
I Giới thiệu về Firewall
- Những người dùng máy tính từ trước đến nay hầu hết đã từng nghe
qua từ Firewall(tường lửa), và thường hiểu rằng đây là một biện pháp bảo vệ an toàn cho máy tính
- Tường lửa được xem như một bức rào chắn giữa máy tính(hoặc
mạng cục bộ-local network) và một mạng khác như Internet, điều khiển lưu lượng truy cập dữ liệu vào ra
- Nếu không có tường lửa, các luồng dữ liệu vào ra mà không chịu
bất kì sự cản trở nào Còn với tường lửa được kích hoạt, việc dữ liệu có thể vào ra hay không sẽ do các thiết lập trên tường lửa quy định
II Cài đặt mô hình Firewall Iptables
Cài đặt gói iptables trên máy :
# apt-get install iptables
Trang 23III Cấu hình tường lửa trong Linux
Các tập lệnh iptables trong linux ví dụ
IV Triển khai iptables
- Tạo 1 file iptables ở Desktop với nội dung tập lệnh “chặn truy cập tới