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 ServerPhần 2: Một vài chính sách an toàn cho Web Server
Trang 1LỜ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
Trang 2CHƯƠ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
Trang 31.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
Trang 4Apache 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
Trang 5 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
Trang 62 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
Trang 7SELinux 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
Trang 813.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
Trang 9KẾ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
Trang 10chú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