1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài: Tìm hiểu giải pháp bảo mật cho các website được xây dựng bằng Joomla

45 1,3K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 1,19 MB

Nội dung

Hiện nay hoạt động tấn công ứng dụng web xảy ra thường xuyên với mức độ tinh vi và khó ngăn chặn hơn, mục tiêu của các hacker chủ yếu vẫn là dữ liệu của các ứng dụng vì những dữ liệu này

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP CHUYÊN

MSSV : 50131657

Trang 2

MỤC LỤC

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 3

NỘI DUNG 8

PHẦN I: GIỚI THIỆU VỀ BẢO MẬT TRONG ỨNG DỤNG WEB 8

PHẦN II: CÁC LỖ HỎNG BẢO MẬT TRÊN ỨNG DỤNG WEB 9

Injection 10

Các dạng lỗi thường gặp 11

Một số dạng tấn công thường gặp với các ứng dụng web 12

Cross Site Scripting (XSS) 13

Broken Authentication And Session Management 14

DDoS 14

DDoS là gì? 14

Nguy cơ bị tấn công DDoS của hệ thống mạng hiện nay 15

Nhận diện tấn công DDoS 16

PHẦN 3: TÌM HIỂU CÁC GIẢI PHÁP BẢO MẬT 17

Sao lưu toàn bộ website theo định kì 17

Sao lưu và phục hồi các file 17

Sao lưu và phục hổi cơ sở dữ liệu 17

CHMOD các file và folder trên web server 18

Bảo vệ website với file htaccess 21

Duy trì băng thông 22

Chống hotlink 22

Tắt chữ kí máy chủ 22

Ngăn ngừa truy cập tới file htaccess 22

Ngăn ngừa truy cập tới một file bất kì 23

Ngăn ngừa truy cập tới nhiều kiểu file 23

Bảo vệ file hoặc thư mục bằng mật khẩu 23

CHMOD file 25

Giới hạn kích thước file để bảo vệ chống tấn công từ chối dịch vụ (DoS) 25

Sử dụng chức thực bằng cookie 25

Trang 3

Jhackguard 26

Cài đặt 27

Cấu hình 27

Phân quyền trong joomla 28

Phần quyền ở tiền sảnh (Front-end) 29

Phân quyền ở hậu sảnh (Back-end) 30

Bảo mật website joomla với SSL 31

Giao thức SSL 31

Các thuật toán dùng trong SSL 35

Vai trò của SSL đối với bảo mật website 37

Kích hoạt SSL trong Joomla 38

Quét lỗ hỏng bảo mật trên website bằng công cụ Acunetix WVS 38

PHỤ LỤC 44

TÀI LIỆU THAM KHẢO 45

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Trang 5

LỜI MỞ ĐẦU

Trang 6

Bảo mật luôn là vấn đề rất quan trọng trong mọi lĩnh vực kinh tế, chính trị, quân

sự, ngoại giao Và đây cũng là một vấn đề đã được nghiên cứu trong hàng nghìn năm nay

Bảo mật cho website Joomla là một nhân tố quan trọng góp phần bảo vệ website trước các âm mưu tấn công có chủ đích cũng như vô tình, giúp cho website luôn hoạt động ổn định và bền vững

Đối với các doanh nghiệp việc bảo mật thông tin thương mại luôn là vấn đề được đặt ra, đặc biệt trong thời đại hiện nay Khi mà thông tin giữ vai trò quan trọng hàng đầu

và các phương tiện truyền thông hiện đại cho phép chúng ta chuyển tin rất dễ dàng và cũng dễ dàng để mất thông tin Vậy ta có thể làm những gì để sử dụng được các tiện ích của công nghệ thông tin và viễn thông đã mang lại cho thế giới và đồng thời không để đối thủ cạnh tranh cũng như các loại tội phạm tin học sử dụng chính những công nghệ này gây hại

Nhiều nhà quản trị website chỉ đặt trọng tâm vào việc thiết kế, cập nhật nội dung

và dành thứ hạng cao trong các kết quả tìm kiếm mà quên đi việc đảm bảo an toàn cho website đến khi sự việc xảy ra thì đã quá muộn

Khi thông tin được đảm bảo là an toàn thì sẽ giúp chúng ta tiết kiệm được nhiều chi phí, thời gian…

Nếu thông tin bị tiết lộ hay bị đánh cắp thì thiệt hại sẽ rất nghiêm trọng, có thể dẫn đến phá sản hoặc phải chịu truy cứu trước pháp luật

Xuất phát từ những suy nghĩ như vậy nên em đã quyết định chọn đề tài: “Tìm hiểu

về bảo mật website được xây dựng bằng Joomla” Đề tài thực hiện giới thiệu, tìm hiểu

và phân tích các giải pháp bảo mật Joomla nhằm tối ưu trang web

Đề tài chia làm 4 phần:

PHẦN I: GIỚI THIỆU VỀ BẢO MẬT ỨNG DỤNG WEB

PHẦN II: CÁC LỖ HỔNG BẢO MẬT CỦA CÁC ỨNG DỤNG WEB

PHẦN III: TÌM HIỂU CÁC GIẢI PHÁP BẢO MẬT TRONG JOOMLA

PHẦN IV: DEMO MỘT SỐ GIẢI PHÁP BẢO MẬT

Trang 7

Vì thời gian có hạn, cũng như còn hạn chế về kiến thức nên báo cáo của em khó tránh khỏi thiếu sót Em rất mong nhận được sự đóng góp ý kiến của thầy cô giáo và bạn bè.

Với lòng biết ơn sâu sắc, em xin chân thành cảm ơn thầy giáo NGÔ VĂN CÔNG, khoa Công nghệ thông tin và bạn bè đã nhiệt tình hướng dẫn, giúp đỡ em hoàn thành đề tài này

Em xin chân thành cảm ơn !

Nha Trang, tháng 01 năm 2012

MỤC ĐÍCH – YÊU CẦU ĐỀ TÀI

1 Mục đích

• Hiểu và biết được các giải pháp bảo mật website phổ biến và hiệu quả

• Biết cách áp dụng các giải pháp bảo mật cho website joomla

• Hiểu biết về một số phương thức tấn công website nguy hiểm và phổ biến hiện nay

2 Yêu cầu

• Trình bày chi tiết về các giải pháp bảo mật website joomla quan trọng và phổ biến

• Trình bày sơ qua về các kiểu tấn công website phổ biến

• Demo cách áp dụng một số giải pháp bảo mật lên website joomla

Trang 8

NỘI DUNG

PHẦN I: GIỚI THIỆU VỀ BẢO MẬT TRONG ỨNG DỤNG WEB

Khi mà ứng dụng web phát triển rất nhanh về mọi mặt, khả năng ứng dụng một cách rộng rãi thì vấn đề bảo mật cho ứng dụng web cũng được chú trọng hơn Mặc dù không thể phủ nhận những thành công và bước tiến của ngành bảo mật hiện nay nhưng không có gì là bảo mật tuyệt đối Nguyên nhân có thể xuất phát từ những đoạn mã không phù hợp, những điểm yếu nghiêm trọng hay các lỗ hỏng bảo mật cho phép cách hacker xâm nhập thằng và truy cập vào cơ sở dữ liệu và lấy đi những dữ liệu nhạy cảm quan trọng Nhiều cơ sở dữ liệu chứa thông tin quan trọng (thông tin cá nhân, dữ liệu công ty,…) là đích nhắm thường xuyên của các hacker Hiện nay hoạt động tấn công ứng dụng web xảy ra thường xuyên với mức độ tinh vi và khó ngăn chặn hơn, mục tiêu của các hacker chủ yếu vẫn là dữ liệu của các ứng dụng vì những dữ liệu này đều là dữ liệu quan trọng và nó mang lại cho bọn hacker những lợi nhuận khổng lồ từ việc mua bán dữ liệu

Trung bình, các ứng dụng web bị tấn công 2 phút 1 lần, có hơn 10 triệu cuộc tấn công nhắm vào các mục tiêu là các website kinh doanh, website chính phủ Các cuộc tấn công được thực hiện một cách tự động với nguyên nhân đa số là các lỗ hỏng bảo mật Đặc trưng của các cuộc tấn công là lưu lượng truy cập dữ liệu đột biến nhanh chóng rồi tiếp theo là khoảng thời gian hoạt động nhẹ hơn, đó là yếu tố quan trọng chỉ để tự động hóa Các trang web bị ảnh hưởng bởi các tấn công tự động này trung bình nhận được lên đến 25000 tấn công trong một giờ hoặc 7 cuộc tấn công mỗi ngày

Các hacker sử dụng đòn bẩy để tự đông hóa tấn công là một trong những sáng kiến quan trọng nhất trong lịch sử về các cuộc tấn công Quá trình tự động sẽ được điều khiển bởi tội phạm mà không cần sự tấn công trực tiếp về mặt vật lý Bốn kiểu tấn công phổ biến nhất nhằm vào các ứng dụng web là: Directory Traversal (DT) (37%), Cross Site Scripting (XSS) (36%), SQL Injection (SI) (23%) và Remote File Include (RFI) (3%), Khác (1%)

Trang 9

Các hacker ngày càng thông minh hơn trong việc che dấu các dấu vết khi thực hiện các tấn công khiến cho các nhà bảo mật khó phát hiện được Vì vậy, công việc bảo mật

là hết sức quan trọng và phải làm thường xuyên để xây dựng và bảo vệ ứng dụng web

PHẦN II: CÁC LỖ HỎNG BẢO MẬT TRÊN ỨNG DỤNG WEB

Các lỗ hỏng bảo mật có thể xuất hiện trên tất cả các ứng dụng web bất kể nó được phát triển bởi các chuyên gia độc lập hay các công ty phần mềm nổi tiếng nhất

Vào ngày 17/6/2010 vừa qua đã diễn ra hội thảo bảo mật ứng dụng web (Web Security) do Chi hội An Toàn Thông Tin phía Nam phối hợp với nhóm OWASP (The Open Web Application Security Project) Việt Nam tổ chức Tại hội thảo, nhóm OWASP Viêt Nam đã công bố 10 lỗi an ninh web phổ biến nhất năm 2010 (OWASP Top 10 - 2010) Dưới đây là danh dách 10 lỗi an ninh web phổ biến nhất năm 2010:

1 Injection

Trang 10

2 Cross Site Scripting (XSS)

3 Broken Authencation and Session Management

4 Insecure Derect Object References

5 Cross-Site Request Forgery (CSRF)

6 Security Misconfiguration

7 Insecure Cryptographic Storage

8 Failire to Restrict URL Access

9 Insufficient Transport Layer Protection

10 Unvalidate Redirects and Forwards

Injection

Ứng dụng web có thể sử dụng các dữ liệu đầu vào làm tham số cho các hàm gọi vào hệ thống Nếu tin tắc nhúng các mã nguy hiểm trong các dữ liệu đầu vào, hệ thống

có thể chạy các đoạn mã nguy hiểm này

Lỗi Injection cho phép tin tặc lợi dụng lỗ hỏng trong ứng dụng web làm phương tiện để gửi các đoạn mã nguy hiểm đến hệ thống Những cuộc tấn công dạng này bào gồm các mã gọi hàm đến hệ điều hành, gọi các ứng dụng qua lệnh shell, và các hàm gọi đến cơ sở dữ liệu (SQL Injection) Những đoạn mã nguy hiểm được viết bằng perl, python và ngôn ngữ khác có thể được chuyển đến và thực thi bởi ứng dụng web, hệ điều hành hoặc các ứng dụng khác

Rất nhiều ứng dụng web sẽ sử dụng các hàm của hệ điều hành và các chương trình ngoài để thi hành các chức năng Sendmail là một trong những chương trình ngoài được

sử dụng nhiều nhất Khi ứng dụng web sử dụng dữ liệu của người dùng để tạo ra đoạn

mã thực thi, dữ liệu từ người dùng cần được lọc kĩ lưỡng Nếu không tin tặc có thể chèn vào các kí tự đặc biệt, đoạn lệnh, và những thông tin xấu có thể được chuyển đến hệ thống và chương trình ngoài Một trong những dạng phổ biến nhất của

Trang 11

lỗi Injection là lỗi SQL Injection.

SQL Injection là kĩ thuật điền vào những đoạn mã SQL bất hợp pháp cho phép khai thác một lỗ hỏng bảo mật tồn tại trong cơ sở dữ liệu của ứng dụng Lỗ hỏng bảo mật này có thể xuất hiện kh ứng dụng không có đoạn mã kiểm tra chuỗi kí tự thoát nhúng trong câu truy vấn SQL hoặc do sự định kiểu đầu vào không rõ ràng hay do lỗi cú pháp SQL của lập trình viên khiến cho một đoạn mã ngoại lai có thể được xử lý ngoài ý muốn Tấn công SQL Injection còn có thể được hiểu là hình thức tấn công chèn bất hợp pháp các đoạn mã SQL

Các dạng lỗi thường gặp

1.1.1 Không kiểm tra truy vấn kí tự thoát

Đây là dạng lỗi SQL Injection xảy ra khi thiếu đoạn mã kiểm tra dữ liệu đầu vào câu truy vấn SQL Kết quả là người dùng đầu cuối có thể thực hiện một

số truy vấn không mong muốn đối với CSDL của ứng dụng

1.1.3 Lỗi bảo mật bên trong máy chủ CSDL

Đôi khi lõ hỏng có thể tồn tại chính trong phần mềm máy chủ CSDL, như

là trường hợp hàm mysql_real_escape_string() của các máy chủ MySQL Điều này sẽ cho phép kẻ tấn công có thể thực hiện một cuộc tấn công SQL Injection thành công dựa trên những kí tự Unicode không thông thường ngay cả khi đầu nhập vào đang được thoát

1.1.4 Blind SQL Injection

Lỗi SQL Injection dạng này là dạng lỗi tồn tại ngay trong ứng dụng web

Trang 12

nhưng hậu quả của chúng lại không hiển thị trực quan cho những kẻ tấn công Nó

có thể gây ra sự sai khác khi hiển thị nội dung của một trang chứa lỗi bảo mật này, hậu quả của sự tấn công SQL Injection dạng này khiến cho lập trình viên hay người dùng phải mất rất nhiều thời gian để phục hồi chính xác từng bit dữ liệu Những kẻ tấn công còn có thể sử dụng một số công cụ để dò tìm lỗi dạng này và tấn công với những thông tin được thiết lập sẵn

1.1.5 Thay đổi giá trị kiểu truy vấn

Dạng lỗi này khiến cho kẻ tấn công có thể thay đổi giá trị điền kiện trong câu truy vấn, làm sai lệch sự hiển thị của một ứng dụng chứa lỗi dạng này

1.1.6 Thời gian trễ

Lỗi dạng này tồn tại khi thời gian xử lý của một hay nhiều truy vấn SQL phụ thuộc vào dữ liệu logic được nhập vào hoặc quá trình xử lý truy vấn của SQL engine cần nhiều thời gian chính xác mà trang cần tải khi giá trị nhập vào là đúng

Một số dạng tấn công thường gặp với các ứng dụng web

1.1.7 Dạng tấn công vượt qua kiểm tra lúc đăng nhập

Với dạng tấn công này, tin tặc có thể dễ dàng vượt qua các trang đăng nhập nhờ vào lỗi khi dùng các câu lệnh SQL thao tác trên CSDL của ứng dụng web

1.1.8 Dạng tấn công sử dụng câu lệnh SELECT

Dạng tấn công này phức tạp hơn, để thực hiện được kiểu tấn công này kẻ tấn công phải có khả năng hiểu và lợi dụng các sơ hở trong các thông báo lỗi từ

hệ thống để dò tìm các điểm yếu khởi đầu cho việc tấn công

1.1.9 Dạng tấn công sử dụng câu lệnh INSERT

Thông thường các ứng dụng web cho phép người dùng đăng kí một tài khoản để tham gia Chức năng không thể thiếu là sau khi đăng kí thành công, người dùng có thể xem và hiểu chỉnh thông tin của mình SQL Injection có thể được dùng khi hệ thống không kiểm tra tính hợp lệ của thông tin nhập vào

Trang 13

1.1.10.Dạng tấn công sử dụng Stored Procedures

Việc tấn công bằng Stored Procedures sẽ gây tác hại rất lớn nếu ứng dụng được thực thi với quyền quản trị hệ thống ‘sa’

Cross Site Scripting (XSS)

Scross Site Scripting hay còn gọi là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là khả năng thêm những thẻ HTML hay những đoạn mã script nguy hiểm vào trang có lỗi bảo mật Đoạn mã thêm vào sẽ có tác dụng trên cất cả các phương thức nhập thông tin đầu vào Một ứng dụng web bất kì sẽ hiển thị bất cứ thông tin nào nhận được từ người sử dụng sẽ có nguy cơ bị tấn công Những cuộc tấn công như vậy có thể được thực hiện dựa vào các giá trị không được lọc của các biến nhận được từ người sử dụng, trong đó các đoạn mã chèn vào hầu hết được viết bằng JavaScript, Jscript, DHTML và cũng có thể là cả các thẻ HTML

Về cơ bản, XSS cũng như SQL Injection hay Source Injection, nó cũng là các yêu cầu được gửi từ các máy client tới server nhằm chèn vào đó các thông tin vượt quá tầm kiểm soát của server Nó có thể là một request được gửi từ các form nhập liệu hoặc cũng

có thể chỉ là các URL như:

http://www.vidu.com/search.cgi?query=<script>alert(‘Có lỗi XSS!’) ;</script>

Nếu như các kĩ thuật tấn công khác có thể làm thay đổi được dữ liệu nguồn của web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại đối với website ở phía client mà nạn nhân trực tiếp là những người khác duyệt website đó Tất nhiên, đối khi các hacker cũng sử dụng kĩ thuật này để deface các website nhưng đó vẫn chỉ là tấn công vào bề mặt của website XSS là những Client-Side Script, những đoạn mã này sẽ chỉ chạy bởi trình duyệt phía client do đó XSS không làm ảnh hưởng đến hệ thống website nằm trên server

Mục tiêu của XSS không ai khác đó chính là những người sử dụng khác của

website, khi họ vô tình vào các trang có chứa các đoạn mã nguy hiểm do các hacker để

Trang 14

lại họ có thể bị chuyển tới các website khác, đặt lại Homepage, hay nặng hơn là mất mật khẩu, mất cookie thậm chí máy tính của bạn có thể bị cài các loại virus, backdoor, worm,…

Xem chi tiết hơn về XSS tại http://www.cgisecurity.com/xss-faq.html

Broken Authentication And Session Management

Quản lý xác thực và phiên bao gồm tất cả các khía cạnh xử lý xác thực và quản lý phiên làm việc Xác thực là một khía cạnh quan trọng của quá trình này, nhưng ngay cả các cơ chế xác thực vững chắc cũng có thể bị suy yếu do chức năng quản lý có khe hở, bao gồm thay đổi mật khẩu, ghi nhớ mật khẩu, thay đổi tài khoản và nhiều chức năng khác Vì các cuộc tấn công có thể xảy ra với nhiều ứng dụng web nên chức năng quản lý tài khoản nên yêu cầu xác thực lại ngay cả khi người sử dụng có phiên làm việc hợp lệ Một phương pháp xác thực mạnh mẽ hơn là sử dụng phần mềm và phần cứng tuy nhiên phương pháp này rất tốn kém

Các ứng dụng web thường phải thiết lập phiên để theo dõi các luồng yêu cầu từ người dùng, giao thức HTTP không hỗ trợ khả năng này vì vậy các ứng dụng web phải

tự tạo ra nó Thông thường môi trường ứng dụng web cung cấp khả năng phiên nhưng nhiều nhà phát triển thích tự họ tạo ra một thẻ phiên của riêng họ Tuy nhiên, chức năng ứng dụng liên quan đến quản lý xác thực và phiên làm việc thường thực hiện một cách chính xác, điều này cho phép kẻ tấn công lấy được mật khẩu, khóa, thẻ phiên hoặc khai thác lỗ hỏng để thực hiện các giả mạo danh tính người dùng

DDoS

DDoS là gì?

DDoS (Distributed Denial of Service) là sự cố gắng làm cho tài nguyên của một máy tính không thể sử dụng được nhằm vào những người dùng của nó Mặc dù phương tiện để tiến hành, động cơ, mục tiêu của tấn công từ chối dịch vụ là khác nhau, nhưng nói chung nó gồm có sự phối hợp, sự cố gắng ác của một hay nhiều người để chống lại dịch vụ web vận hành hiệu quả hoặc trong tất cả, tạm thời hay một cách không xác định Thủ phạm tấn công từ chối dịch vụ nhằm vào các mục tiêu

Trang 15

site hay server tiêu biểu như ngân hàng, công thanh toán thẻ tín dụng và thậm chí cả DNS root servers.

Một phương thức tấn công phổ biến kéo theo sự bão hòa máy mục tiêu với các yêu cầu liên lạc bên ngoài, đến mức nó không thể đáp ứng truyền tin hợp pháp hoặc đáp ứng quá chậm Trong điều kiện chung, các cuộc tấn công DDoS buộc máy mục tiêu khởi động lại hoặc tiêu thụ hết tài nguyên của nó đến mức nó không cung cấp dịch vụ, hoặc làm tắc nghẽn liên lạc giữa người sử dụng mà máy nạn nhân

Tấn công từ chối dịch vụ là sự vi phạm chính sách sử dụng Internet của IAB (Internet Architecture Board) và những người vị phạm hiển nhiên vi phạm luật dân sự

Nguy cơ bị tấn công DDoS của hệ thống mạng hiện nay

Tấn công từ chối dịch vụ là một trong những kiểu tấn công “cổ điển” nhưng chưa bao giờ mất đi tính nguy hiểm đối với hệ thống mạng Theo công ty Arbor Network các cuộc tấn công DDoS đã tăng 1.000% kể từ năm 2005

DDoS trở thành hình thức tấn công phổ biến từ cuối những năm 90 của thế kỉ trước Hoạt động này bắt nguồn từ khi một số chuyên gia bảo mật trong quá trình phát hiện khiếm khuyết hệ thống trên Windows 98, nhân ra rằng chỉ cần gửi một gói ping đủ lớn cũng đủ để làm tê liệt một server mục tiêu Ngay lập tức, các hacker đã

sử dụng cách này để triệt tiêu các mục tiêu của họ

Tại Việt Nam, một số nhóm hacker cũng đã cài đặt virus xâm nhập vào hệ thống mạng, đánh cắp thông tin nội bộ của các tổ chức Chúng còn kiểm soát các website chuyên download phần mềm nhằm cài đặt virus vào những máy truy cập vào trang này để xây dựng mạng botnet và tấn công DDoS vào các hệ thống lớn trong nước Từ cuối tháng 11/2005 cộng đồng mạng xôn xao khi diễn đàn hacker lớn nhất Việt Nam – HVA trở thành mục tiêu của DDoS Tiếp ngay sau đó, website của các công ty tin học như Trần Anh, Mai Hoàng,… cũng liên tục bị tấn công DDoS dai dẳng gần 10 ngày

Đầu tháng 10/2008 các trang web như 5giay, nhatnghe liên tục bị DDoS, ngay

cả website của công ty bảo mật Bkav cũng bị tấn

Trang 16

công vào 8/10/2008.

Bản chất của DDoS là không thể khống chế mà chỉ có thể giảm thiểu cường độ tấn công

Các cuộc tấn công DDoS nổi tiếng trong lịch sử:

• Năm 2000, một loạt các website nổi tiếng như Yahoo, eBay, Amazon, CNN trở thành nạn nhân của DDoS

• Ngày 15/8/2003, Microsoft chịu đợt tấn công DDoS cực mạnh và làm gián đoạn website trong vòng giờ

• Tháng 2/2007, hơn 10.000 máy chủ game trực truyến như Return to Castle Wolfenstein, Counter-Strike,…bị tấn công DDoS

• Ngày 3/3/2011, dịch vụ blog nổi tiếng thế giới bị tấn công DDoS

• Ngày 4/3/2011, 40 trang web của các cơ quan chính phủ Hàn Quốc bị tê liệt

vì DdoS

Nhận diện tấn công DDoS

Tuy tấn công DDoS có rất nhiểu cách và phương tiện khác nhau nhưng chúng ta

có thể nhận biết được DDoS qua một số dấu hiệu sau:

• Mạng thực thi chậm khác thường khi mở tập tin hay truy cập website

• Không thể dùng một website cụ thể

• Không thể truy cập bất kì website nào

• Tăng lượng thư rác nhận được

Trang 17

PHẦN 3: TÌM HIỂU CÁC GIẢI PHÁP BẢO MẬT

Sao lưu toàn bộ website theo định kì

Điều đầu tiên và cũng là quan trọng nhất đó là bạn phải thường xuyên sao lưu toàn

bộ website (bao gồm cả thư mục chưa Joomla và cơ sở dữ liệu MySQL) Hãy lập lịch ít nhất một lần trong tuần (khuyến cáo là một ngày một lần) để thực hiện sao lưu Bạn sẽ mất rất nhiều công sức và tiền của khi website bị tấn công nhưng chỉ mất vài phút hoặc vài chục phút để khôi phục toàn bộ website Việc sao lưu website khá dễ dàng và có thể thực hiện bằng nhiều cách khác nhau Sao lưu có thể thực hiện bằng cách vào Cpanel -> Backup rồi sao lưu Nếu dữ liệu không quá lớn có thể thực hiện theo cách này chỉ với thao tác nhấp chuột Nhưng nếu dữ liệu của bạn quá lớn để sao lưu tự động thì phải sao lưu từng dữ liệu riêng biệt Trong trường hợp này cần phài biết website bao gồm những

dữ liệu nào, dữ liệu nào cần sao lưu, dữ liệu nào không Thông thường, website bao gồm các file và cơ sở dữ liệu của nó, vì thế phải sao lưu nó để phòng trường hợp website có trục trặc và bạn có thể phục hồi lại trạng thái ban đầu lúc website còn hoạt động tốt

Sao lưu và phục hồi các file

Để sao lưu các file, một cách khá đơn giản và nhanh chóng đó là sử dụng chương trình FTP client để tải về tất cả các thư mục và file trong thư mục gốc của website (thường là public_html hoặc htdocs) Sau đó bạn có thể dễ dàng upload các file và thư mục đã tải về đó lên lại thư mục public_html (hoặc htdocs) và website của bạn sẽ được phục hồi

Sao lưu và phục hổi cơ sở dữ liệu

Để sao lưu và phục hồi cơ sở dữ liệu, có thể sử dụng phpMyAdmin có sẵn trong Cpanel Sau khi vào phpMyAdmin thực hiện các bước sau để sao lưu cơ sở dữ liệu:

• Chọn cơ sở dữ liệu cần sao lưu

• Nhấn Export

• Chọn định dạng của file export (nén hoặc không nén)

Trang 18

• Nhấn nút Go để export database

Để phục restore database ta cũng vào phpMyAdmin rồi thực hiện các bước sau:

• Chọn cơ sở dữ liệu

• Nhấn Import

• Chọn file cơ sở dữ liệu đã export trước đó

• Nhấn nút Go để khôi phục cơ sở dữ liệu

Công việc sao lưu và phục hồi website thực hiện khá nhanh, chỉ mất vài chục phút

là bạn có thể sao lưu toàn bộ website của bạn Và cũng chỉ mất vài chục phút để bạn có thể phục hồi website về trạng thái ban đầu nếu như có trục trặc Vì vậy, hãy nhớ backup website thường xuyên để tiết kiệm thời gian, tiền bạc và đảm bảo cho website hoạt động liên tục, hiệu quả

CHMOD các file và folder trên web server

CHMOD – viết tắt của Change Mode, đây là lệnh dùng để thay đổi thuộc tính của File và Folder trong hệ điều hành Unix (Linux, Solaris, True64,…) Bằng cách thay đổi CHMOD bạn đồng thời gán một quyền lực cho một người nào đó đối với các tập tin, thư mục trong cấu trúc website của bạn

Trên các máy chủ sử dụng Unix, Linux,…người dùng được chia làm ba nhóm:

• Owuner: Chủ nhân trực tiếp tạo ra các tập tin, thư mục

• Group: Nhóm thành viên được đăng kí để quản lý hoặc sử dụng

• Other/Public/World: Những người khác (không thuộc các nhóm trên)

Các nhóm được tạo ra trong quá trình cài đặt và sử dụng website Khi người dùng đăng nhập vào website nó sẽ xác định xem người đó thuộc về nhóm nào Sau khi xácđịnh nhóm, người dùng sẽ được gán quyền hạn nhất định đối với tập tin, thư mục nhất định nào đó Cụ thể người dùng sẽ được Read (đọc), Write (ghi), Execute (thực thi) tập tin và thư mục

Trang 19

Để xác định quyền hạn cho các nhóm nhất định, thống nhất sử dụng kí hiệu bằng các con số sau:

4 = Read (quyền được đọc)

2 = Write (quyền được ghi)

1 = Execute (quyền được thực thi)

Bằng phép cộng đơn giản các con số này có thể hiển thị được cả một tổ hợp các quyền hạn khác nhau

Ví dụ:

3 = 2 + 1: Write và Execute

5 = 4 + 1 : Read và Execute

6 = 4 + 2 : Read và Write

7 = 4 + 2 + 1 : Read, Write và Execute

Tóm lại có tất cả 7 phương án sau:

7 = Read, Write và Execute

Ví dụ: 754 có nghĩa là Owner – Read, Write và Execute, Group – Read và Execute, Other – Read

Trong phần lớn các chương trình FTP đều hỗ trợ CHMOD theo kiểu nêu trên Ngoài ra, lệnh CHMOD còn có chế độ các kí hiệu chữ, trong trường hợp sử dụng

kí hiệu chữ chúng ta dùng các kí hiệu sau:

Trang 20

• ‘-’ : Không được cấp quyền

• ‘d’ : Kí hiệu Directory (file/folder)

Đối với chương trình FTP FileZilla Client: Trong cửa sổ bên phần địa

chỉ máy mạng, chuột phải vào thư mục hoặc file cần thiết lập quyền rồi chọn “Quyền truy cập các tệp tin…” để thiết lập quyền

Đối với File Management trong Cpanel: Chọn Online File Manager ->

Chọn file/thư mục cần CHMOD -> ấn Chmod

Trang 21

Bảo vệ website với file htaccess

Cũng như bất kì một phần mềm nào khác, webserver có những cấu hình nhất định Song bạn, một người thuê host có thể không có quyền thay đổi cấu hình này thông qua những file chính yếu, có tác dụng với tất cả các file nằm trên server Điều đó không có nghĩa là bạn phụ thuộc hoàn toàn vào cấu hình mặc định của máy chủ Apache cho phép bạn thay đổi một số tùy chọn, và tùy chọn này chỉ có hiệu lực với site của bạn Để làm được việc này ta cần dùng đến file htaccess

Đây là file hiệu chỉnh rất uyển chuyển của server Apache Thông qua nó bạn có thể thay đổi nhiều tùy chọn được xác định trong file httpd.conf (httpd.conf là file cấu hình chính của Apache và có hiệu lực trên toàn bộ server)

Bạn không thể đọc được nội dung file htaccess qua trình duyệt web Nếu file này nằm ở thư mục gốc, những thay đổi được nó xác định có hiệu lực với toàn bộ site (ngoại trừ những thư mục có file htaccess khác và tất cả các thư mục con nằm trong thư mục này)

Trang 22

Để tạo file ta dùng bất kì chương trình editor nào rồi lưu lại với tên htaccess, lúc lưu nhớ chọn All files ở Save as file type để windows không thêm phần mở rộng vào đuôi file Sau khi tạo xong ta upload lên thư mục /htdocs của website.

Dưới đây là một số cách cấu hình file htaccess để bảo mật website

Duy trì băng thông

Để tăng hiệu năng trên các máy chủ có kích hoạt PHP thêm đoạn sau vào file htaccess :

Chống hotlink

Nhiều người copy ảnh từ website của bạn đưa lên trang web của họ mà hình ảnh đó không phải của họ Nói cách khác, đâu là cách sử dụng trái phép làm suy yếu băng thông của bạn Để ngăn chặn việc này bạn thêm đoạn sau vào file htaccess :

Tắt chữ kí máy chủ

Bằng cách không tiết lộ thông tin về máy chủ, bạn sẽ làm cho tin tặc khó tấn công website của bạn hơn Để tắt chữ kí số của máy chủ chúng ta thêm đoạn sau vào file htaccess :

Ngăn ngừa truy cập tới file htaccess

Bảo vệ chống truy cập file htaccess sẽ tránh không cho tin tắc truy cập vào file này và thay đổi cấu hình trong đó để tấn công vào website của bạn Một thông báo

Ngày đăng: 07/03/2015, 09:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w