Tải bản đầy đủ (.docx) (10 trang)

Đồ án Xây dựng chính sách an toàn cho máy chủ web apache chạy trên linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (108.86 KB, 10 trang )

LỜI NÓI ĐẦU
Trong thời đại phát triển mạnh của công nghệ Internet như hiện nay, các vấn
đề thuộc về an ninh mạng như: sự tấn công, thâm nhập và đánh cắp dữ liệu trên
website và trên hệ thống máy chủ đã dấy lên sự lo ngại từ phía người quản trị. Để
ngăn chặn điều này xảy ra, người quản trị cần có những phương pháp thích hợp để
bảo vệ máy chủ cũng như máy tính của mình.
Trong quá trình xây dựng website, điều thiết yếu là phải bảo mật website của
bạn trước những hiểm họa trên internet. Việc xây dựng bảo mật Web Server có vai
trò cực kì quan trọng trong vấn đề này.
Bài tìm hiều gồm 2 nội dung chính là:
Phần 1: Giới thiệu về Web Server
Phần 2: Một vài chính sách an toàn cho Web Server
Ngoài ra còn có một số phần phụ như: Lời nói đầu, mục lục, tài liệu tham
khảo, phụ lục. Luôn biết nguồn kiến thức là vô tận và những gì chúng em viết dưới
đây chỉ là những suy nghĩ cá nhân, được tổng hợp từ nhiều nguồn. Do đó sẽ còn
những thiếu sót mong thầy bỏ qua và hướng dẫn chúng em sửa những lỗi đó để có
một bài tìm hiểu thật tốt.


CHƯƠNG 1: GIỚI THIỆU VỀ WEB SEVER
1.1.

Web Server
Server là một dạng máy chủ có hình thù cấu tạo giống một chiếc máy tính để

bàn thông thường, nó có chức năng lưu trữ thông tin và dữ liệu như một kho tàng.
Server được trang bị cấu hình mạnh, dung lượng lưu trữ lớn, tốc độ nhanh và bảo
mật tốt. Một server nếu dùng vào mục đích lưu trữ và bảo mật dữ liệu được gọi là
Database Server, thường thì các tổ chức tài chính như Ngân hang, Chứng khoán,
Bảo hiểm hoặc một số tổ chức chính phủ, vv… phải có Server dành riêng cho mục
đích này.


Nếu một Server dùng để phục vụ lưu trữ website và là cổng giao tiếp với thế
giới mạng thì gọi là Web Server, trên đó được cài phần mềm phục vụ giao tiếp
mạng, phần mềm này đôi khi cũng được gọi là WebServer.
Web Server được dùng để xử lý các truy cập được gửi từ máy khách thông
qua giao thức HTTP. Các truy cập HTTP này thường được gửi từ các chương trình
duyệt web trên máy tính cá nhân.
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có
một Domain Name.
Bất kì một máy tính nào cũng có thể trở thành một WebServer bởi việc đặt lên
nó một chương trình phần mềm Server Software và sau đó kết nối vào internet.
Web Server Software còn có thể được tích hợp với cơ sở dữ liệu (Database),
hay điều khiển việc kết nối vào cơ sở dữ liệu để có thể truy cập và kết xuất thông
tin từ cơ sở dữ liệu lên các trang Web và truyền tải chúng đến người dùng.


1.2.

Một số loại Web Server

Các loại Web Server thường gặp là: WAMP, LAMP, XAMPP, MAMP,
WIMP.
Tất cả các từ viết tắt này đều có đuôi MP, M chính là hệ quản trị cơ sở dữ
liệu Mysql, P là ngộ ngữ lập trình PHP hoặc Perl. Được viết cụ thể như sau:






WAMP: Windows, Apache, Mysql, PHP

LAMP: Linux, Apache, Mysql, PHP
XAMPP: X, Apache, Mysql, PHP/Perl
MAMP: MacOS, Apache, Mysql, PHP
WIMP: Windows, IIS, Mysql, PHP

Thứ tự cá kí tự được định nghĩa như sau:
 Kí tự 1: Hệ điều hành (Linux, Windows, MacOS), X:
Linux, Windows, MacOS)
 Kí tự 2: Web Server (Apache, IIS)
 Kí tự 3: Hệ quản trị cơ sở dữ liệu Mysql
 Kí tự 4: Ngôn ngữ lập trình PHP
 Kí tự 5: Riêng XAMPP có them ngôn ngữ lập trình Perl
Mỗi Web Server được ứng dụng theo hệ điều hành như sau:

 MacOS: XAMPP, MAMP
 Linux: XAMPP, LAMP
 Windows: XAMPP, WAMP, WIMP
1.3.

Máy chủ Web Apache
 Apache
Apache là một phần mềm mã nguồn mở miễn phí được cài đặt trên
các máy chủ Web Server (phần cứng) để xử lý các yêu cầu gửi tới máy chủ
dưới giao thức HTTP.


Apache chính là một môi trường, là nơi tiếp nhận các yêu cầu từ phía
người dùng, phân chia công việc cho các thành phần khác làm việc, tổng
hợp và gửi kết quả về cho người dùng.
Các yêu cầu gửi tới máy chủ sử dụng phương thức HTTP còn được gọi

tắt là yêu cầu HTTP (hay HTTP request).
Sử dụng trình duyệt, bạn có thể gửi một yêu cầu HTTP đơn giản bằng
cách nhập một địa chỉ I.P ( hoặc một URL chứa tên miền) và bấm “Enter”.
Khi đó bạn đã thực hiện việc gửi đi một yêu cầu HTTP tới một máy chủ trên
internet. Địa chỉ máy chủ này được xác định bởi địa chỉ I.P ( hoặc URL với
tên miền) mà bạn đã nhập vào.
Vì được cài đặt trên Web Server (phần cứng) nên Apache nhiều khi còn
được gọi là WebServer hay HTTP Server.
Apache được phát triển bởi tổ chức Apache Software Foundation và
hiện đang là một trong những Web Ưerver được sử dụng phổ biến trên thế
giới.
 Một vài đặc điểm của Apache
 Hỗ trợ virtual host: Apache là một trong những Web Server đầu tiên
sử dụng virtual host dựa trên IP và tên (namebase và IP base), dựa vào
đặc điểm này ta có thể tạo nhiều web site trên cùng một Web Server.
 Hỗ trợ xác thực HTTP: Apache có thể thực thi việc xác thực sử dụng
file password chuẩn, SQL, hoặc gọi tới một chương trình xác thực
khác.
 Hỗ trợ Perl
 Hỗ trợ PHP


 Trạng thái server và tối ưu hóa log: Apache linh hoạt trong việc ghi
log và giám sát trạng thái. Trang thái của server có thể được giám sát
thông qua trình duyệt web.
 Hỗ trợ SSL (Secured Socket Layer): có thể tạo các web site SSL sử
dụng OpenSSL của Apache.

CHƯƠNG 2: MỘT VÀI CHÍNH SÁCH AN TOÀN
CHO WEB SEVER

2.1. Sự cần thiết của việc của việc đề ra các chính sách an toàn
Trong thời đại phát triển mạnh của công nghệ Internet như hiện nay, các vấn đề
thuộc về an ninh mạng như: sự tấn công, thâm nhập và đánh cắp dữ liệu trên
website và trên hệ thống máy chủ đã dấy lên sự lo ngại từ phía người quản trị. Để
ngăn chặn điều này xảy ra, người quản trị cần có những phương pháp thích hợp
để bảo vệ máy chủ cũng như máy tính của mình.
Các Web Server luôn là những vùng đất màu mỡ cho các hacker tìm kiếm
các thông tin giá trị hay gây rối vì một mục đích nào đó. Hiểm họa có thể là bất kì
cái gì từ kiểu tấn công từ chối dịch vụ, quảng cáo các website có nội dung không
lành mạnh, xóa, thay đổi nội dung các file hay phần mềm chứa mã nguy hiểm.

2.2. Một vài chính sách cơ bản
Dưới đây là một vài chính sách cho việc đảm bảo an toàn cho Web Server.
1. Bảo vệ an toàn từ phần cứng (BIOS)
Khi khởi động hệ thống máy tính, thành phần đầu tiên được chạy chính là
BIOS. Để đảm bảo an toàn cho hệ thống, nên tắt chế độ boot từ các thiết bị
như ổ đĩa CD/DVD, các thiết bị ngoại vi, đĩa mềm… trong cấu hình BIOS. Sau đó
cần tạo mât khẩu cho BIOS nhằm hạn chế các truy cập trái phép từ trong chính
hệ thống.


2. Phân vùng ổ cứng
Một cách thức để đảm bảo an toàn dữ liệu trước rủi ro là nên phân vùng ổ
cứng cho hệ thống. Bằng cách tạo ra các phân vùng khác nhau, dữ liệu được
chia nhỏ và nhóm lại. Khi có sự cố xảy ra tại một phân vùng nào đó, chỉ có
những dữ liệu ở cùng phân vùng đó bị hỏng còn tại các phân vùng khác dữ liệu
an toàn.
3. Hạn chế các dịch vụ không cần thiết
Một hệ thống máy tính cài đặt quá nhiều các gói không cần thiết, không
những giảm hiệu năng của hệ thống khi tranh giành tài nguyên với các dịch vụ

khác mà còn làm cho hệ thống xuất hiện các lỗ hổng từ chính các gói không
cần thiết đó. Một cách giảm thiểu rủi ro là xóa hay tắt các dịch vụ khi không
cần thiết.
4. Đảm bảo an toàn dịch vụ SSH
Khi kết nối điều khiển máy chủ từ xa sử dụng giao thức telnet , đây là giao
thức kết nối không an toàn khi chỉ sử dụng kết nối bản rõ mà không được mã
hóa khi gửi dữ liệu. Tuy nhiên SSH là giao thức được sử dụng rộng rãi bởi nó sử
dụng công nghệ mã hóa khi giao tiếp với máy chủ.
5. Thường xuyên cập nhật các bản vá lỗi của nhà phát hành
Luôn luôn để hệ thống được cập nhật bản mới nhất và các bản vá bảo mật.
6. Tắt chức năng tự động phát hiện các thiết bị cắm vào cổng USB
Các thiết bị USB trở nên rất nguy hiểm đối với hệ thống khi tin tặc có thể
thêm chương trình chạy tự động vào thiết bị. khi chúng cắm vào hệ thống sẽ
có khả năng đánh cắp dữ liệu. Vì vậy cần tắt chức năng tự động phát hiện USB
đảm bảo hệ thống thoát khỏi nguy cơ trên.
7. Luôn luôn bật cơ chế SELinux
Security-Enhanced Linux (SELinux) là một cơ chế bảo mật điều khiển truy
cập bắt buộc quy định trong nhân. Nhiều hệ thống vì ưu tiên hiệu năng hệ
thống nên đã tắt chức năng này. Vô hiệu hóa SELinux có nghĩa là tự loại bỏ cơ
chế bảo mật của hệ thống. Vì vậy cần suy nghĩ kĩ khi lựa chọn hiệu năng và
mức độ bảo mật của hệ thống khi đưa vào hoạt động.


SELinux cung cấp 3 chế độ cơ bản:
 Enforcing: Đây là chế độ mặc định cho phép thực hiện tất cả các
chính sách bảo mật trên hệ thống.
 Permissive: Ở chế độ này SELinux không thực thi các chính sách
bảo mật mà nó cung cấp các cảnh báo về hoạt động. Chế độ này
rất hữu ích để hạn chế các vấn đề của SELinux.
 Disabe: tắt cơ chế SELinux.

8. Tắt giao thức Ipv6
Giao thức Ipv6 là giao thức ưu việt để thay thế IPv4 khi giao thức đang dần
cạn kiệt IP, tuy nhiên hiện nay hầu hết các hệ thống đều sử dụng IPv4 nên giao
thức IPv6 là không cần thiết và nên tắt giao thức này.
9. Hạn chế người dùng sử dụng các mật khẩu cũ
Trong hệ thống sẽ rất hữu ích nếu không cho phép các người dùng sử dụng
các mật khẩu cũ giống nhau để hạn chế các nguy cơ mất an toàn cho hệ thống.
10. Cấu hình sử dụng mật khẩu mạnh
Có rất nhiều người sử dụng các mật khẩu yếu và các mật khẩu của họ
thường bị các tin tặc dễ dàng lấy đi thông tin từ các phương thức tấn công
bằng các phương pháp tấn công từ điển hoặc tấn công dò quét mật khẩu. Vì
vậy cần có một cơ chế ép các người dùng sử dụng các mật khẩu mạnh.
11.Bật chế độ tường lửa
Sẽ là rất tốt khi bật chế độ tường lửa trong hệ thống, đảm bảo an toàn
trước các truy cập trái phép đối với hệ thống. Hệ thống cần được thêm các luật
trong iptables để lọc các gói tin đến, gói tin đi và các gói tin chuyển tiếp tới hệ
thống. Và có thể chỉ định rõ các địa chỉ đích, địa chỉ nguồn cho phép hoặc
không cho phép sử dụng các cổng và gio thức được chỉ định.
12.Kiểm tra các tài khoản không có mật khẩu
Trong hệ thống mỗi tài khoản có mật khẩu rỗng có nghĩa là đã để lộ các
phương thức xác thực trái phép mà tất cả mọi người có thể thực hiện, đó là
mối nguy hiểm lớn đối với hệ thống. Vì vậy cần kiểm tra các tài khoản không có
mật khẩu và xem xét khóa các tài khoản này lại.


13.Sao lưu dữ liệu quan trọng
Cần sao lưu và giữ các dữ liệu quan trong một cách cẩn thận . khi có rủi ro
trong hệ thống có thể dễ dàng phục hồi bởi các dữ liệu đã được sao lưu.
14.Không cho phép thay đổi thư mục /boot
Nhân hệ thống và các tập tin liên quan được đặt ở thư mục /boot, nó được

đặt mặc định cho phép đọc và sửa. Cần thay đổi để chỉ cho phép đọc thư mục
này là thực sự cần thiết để đảm bảo cho hệ thống được hoạt động ổn định.
15.Chặn các gói tin ICMP và các yêu cầu Broadcast
Nhiều tin tặc sử dụng các gói tin ICMP để xác định các địa chỉ IP và tấn công
các máy chủ có IP này. Để ngăn chặn điều này cần ngăn chặn các gói tin theo
cách thay đổi tập tin “ /ect/systlc.conf” để chặn ping hoặc các yêu cầu
broadcast.
16.Mỗi dịch vụ mạng chạy trên một hệ thống riêng biệt
Nên chạy các dịch vụ mạng khác nhau trên các server tách biệt nhau. Điều
này giúp giảm thiểu rủi ro các dịch vụ sẽ bị chết chùm khi chúng cùng nằm trên
1 server.
17.Hạn chế đăng nhập với root
Hạn chế tối đa đăng nhập với tài khoản root. Thay vào đó nên dử dụng sudo
để thực thi các lệnh với quyền root khi cần thiết mà không cần phải cung cấp
mật khẩu của root.
18.Không hiên thị các lỗi show version của apache và hệ điều hành khi truy
cập bị lỗi
19.Disable chức năng hiển thị danh sách trong các thư mục
20.Giới hạn kích thước Request
Mặc định apache không giới hạn kích thước request HTTP, khiến nó dễ dàng
trở thành nạn nhân của tấn công DDOS.


KẾT LUẬN
Trong thời gian thực hiện đề tài, chúng em đã tìm hiểu và trình bày được các
vấn đề :
- Tổng quan về Web Server: Như khái niệm, các loại Web Server, máy
chủ Web Apache…
- Sự cần thiết của việc đề ra chính sách an toàn cho Web Server
- Một vài chính sách an toàn cho máy chủ Web Apache trên Linux.

Đề tài đã giới thiệu những kiến thức cơ bản về Web Server , giúp người đọc
có cái nhìn tổng quan và căn bản nhất về an toàn trong việc xây dựng và quản lí
Web Server. Tuy nhiên, bài báo cáo không thể tránh khỏi những thiếu sót. Vì vậy


chúng em mong nhận được những ý kiến đóng góp của thầy giáo cùng toàn thể
các bạn.



×