Bảo mật web joomla, cách tấn công và ngăn chặn
Là các dịch vụ phân tán cung cấp thông tin multimedia dựa trên hypertext.
- Phân tán: thông tin được đặt trên nhiều máy chủ khắp thế giới.
- Multimedia: thông tin bao gồm text, graphics, sound, video.
- Hypertext: là kỹ thuật được sử dụng để truy cập thông tin.
Có khoảng hơn 30 tỉ trang web thuộc hơn108 triệu website (2-2007 -Netcraft'ssurvey)
43 trang |
Chia sẻ: banmai | Lượt xem: 2225 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bảo mật WEB, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Click to edit Master title style Click to edit Master text styles Second level Third level Fourth level Fifth level 11/27/2010 ‹#› Khoa Điện tử Viễn thông Môn An ninh Mạng Bảo mật Website Nhóm thực hiện:Nguyễn Việt DuyPhạm Ngọc LợiNguyễn Huy HoàngNguyễn Thị Thu TrangTrương Thế Toàn 0720140 0720142 0620012 0720133 0520017 GVHD: Thầy Võ Minh Sơn Đề tài Nội dung Giới thiệu về Web và Website Joomla Internet – Mạng các máy tính Web – Mạng thông tin Web là gì? Là các dịch vụ phân tán cung cấp thông tin multimedia dựa trên hypertext. - Phân tán: thông tin được đặt trên nhiều máy chủ khắp thế giới. - Multimedia: thông tin bao gồm text, graphics, sound, video. - Hypertext: là kỹ thuật được sử dụng để truy cập thông tin. Có khoảng hơn 30 tỉ trang web thuộc hơn108 triệu website (2-2007 -Netcraft'ssurvey) Các thành phần của web Webpage –Là trang web. Có thể hiển thị các thông tin dưới dạng văn bản, hình ảnh, âm thanh, ... –Homepage : Trang chủ. Thường là trang đầu tiên (mặc định) khi truy cập một website. Website –Tập hợp các trang web. Website của các tổ chức hay cá nhân trên mạng bao gồm tập hợp các trang web liên quan đến tổ chức này. Uniform Resource Locator (URL) –Địa chỉ của web trên internet Web Browser –Ứng dụng để truy cập đến trang web qua URL Web hoạt động như thế nào? Các giao tác chuẩn trên Web JOOMLA Joomla B E C D A Joomla: đồng tâm hiệp lực CMS Open Source Các đặc tính nổi trội. Ứng dụng rộng rãi Sự phát triển Ứng dụng của Joomla Website doanh nghiệp, gia đình, cá nhân Website sản pẩm thương mại, điện tử Các trang báo, tin tức Cổng thông tin điện tử A B C D Cài đặt Joomla CSDL và Source Tiến hành cài đặt Cài đặt Server Cài đặt Home Server để chạywebsite Joomla. - Tạo cơ sở dữ liệu cho website. - Download Source Joomla. Các bước cài đặt website Joomla Kiến trúc Joomla Tấn công Website Các bước tấn công 1 website: Footprinting Scanning Enumeration Gaining access Escalating Privileges FootPrinting Đây là cách mà hacker làm khi muốn lấy một lượng thông tin tối đa về máy chủ/doanh nghiệp/người dùng. Nó bao gồm chi tiết về địa chỉ IP, Whois, DNS ..v.v Đại khái là những thông tin chính thức có liên quan đến mục tiêu. Nhiều khi đơn giản hacker chỉ cần sử dụng các công cụ tìm kiếm trên mạng để tìm những thong tin đó. Công cụ hữu ích cho công việc này là whois FootPrinting Scanning Khi đã có những thông tin về website đó thông qua việc footprinting, thì tiếp đến là đánh giá và định danh những những dịch vụ mà mục tiêu có. Việc này bao gồm quét cổng, xác định hệ điều hành, .v.v.. Các công cụ được sử dụng ở đây như nmap, WS pingPro, siphon, fscam và còn nhiều công cụ khác nữa. Enumeration Bước này tìm kiếm những tài nguyên được bảo vệ kém, hoạch tài khoản người dùng mà có thể sử dụng để xâm nhập. Nó bao gồm các mật khẩu mặc định, các script và dịch vụ mặc định. Rất nhiều người quản trị mạng không biết đến hoặc không sửa đổi lại các giá trị này. Gaining Access Bây giờ kẻ xâm nhập sẽ tìm cách truy cập vào mạng bằng những thông tin có được ở ba bước trên. Một vài cách thức tấn công phổ biến SQL Injections Session Hijacking Local Attack Dùng các loại trojan, virus để mở cửa hậu, đánh cắp mật khẩu admin DoS, DDoS và DRDOS Escalating Privileges Ví dụ trong trường hợp hacker xâm nhập đựợc vào mạng với tài khoản guest, thì họ sẽ tìm cách kiểm soát toàn bộ hệ thống. Hacker sẽ tìm cách crack password của admin, hoặc sử dụng lỗ hổng để leo thang đặc quyền. John và Riper là hai chương trình crack password rất hay được sử dụng. BẢO MẬT WEBSITE Kiểm định và tối ưu hóa mã nguồn ứng dụng Web, database Quản lý, phân quyền người dùng truy cập Website, database chặt chẽ. Dùng chính sách mật khẩu an toàn Thường xuyên sao lưu mã nguồn và cơ sở dữ liệu dự phòng cho Website Mã hóa, đổi tên source code, nhất là các tập tin cấu hình quan trọng (config.php) Dùng câu hỏi chứng thực để kiểm tra người dùng thật. Thường xuyên cập nhật, vá lỗi. Cấu hình phân quyền CHMOD đúng và an toàn. CHMOD là gì? Là sự phân quyền truy cập vào một file hay một folder đối với các lớp người dùng. Có 3 lớp người dùng: Owner: Người sở hữu file, folder Group: Là nhóm mà chủ file,folder là thành viên. Public / Others/ Everybody: Những người còn lại. Các quyền trong CHMOD: Read (r = 4): Quyền đọc Write (w = 2): Quyền ghi Execute (E = 1): Quyền thực thi, thực hiện. Ký hiệu lệnh CHMOD: Lệnh CHMOD luôn đi kèm với 3 con số chỉ quyền lần lượt của User,Group,World. Ví dụ: CHMOD 711 Quyền Owner: Read(4)+Write(2)+Execute(1) = 7. Quyền Group: Read(0)+Write(0)+Execute(1) = 0. Quyền Public: Read(0)+Write(0)+Execute(1) = 0. CHMOD 777 Quyền Owner: Read(4)+Write(2)+Execute(1) = 7. Quyền Group: Read(4)+Write(2)+Execute(1) = 7. Quyền Public: Read(4)+Write(2)+Execute(1) = 7. Cách CHMOD Thông thường CHMOD bằng FTP. Dùng FTP để connect tới host. Kick chuột phải vào file(folder) chọn CHMOD. CHMOD thế nào là an toàn: Là những CHMOD giới hạn việc write vào file. Vidu: CHMOD 404,CHMOD 401… Một số server không cho phép thiết lập CHMOD vậy thì ta phân quyền cho chủ file tất cả các quyền. Vidu: CHMOD 704,CHMOD 701 Bảo mật Website Joomla 1. Chỉ nên download Joomla! từ website chính thức Joomlacode.org và kiểm tra mã xác thực MD5 (nếu có)2. Xóa thẳng tay những thư mục hoặc file không còn sử dụng. Sau khi cài đặt thành công Joomla, bạn phải xóa toàn bộ thư mục "installation". Nếu bạn upload lên Host bộ cài Joomla ở định dạng nén (*.zip), bạn cũng cần phải xóa bỏ file nén này. Tốt nhất là không nên để lại file hoặc thư mục gì ngoài gói Joomla3. Luôn cập nhật phiên bản mới nhất (1.5.21) 4. Bảo vệ trang Administrator 4.1 Ngăn chặn truy cập trực tiếp tới trang Administrator (sử dụng cookie): thay vì truy cập tênwebsite/administrator để vào trang quản trị ta tạo ra 1 đường link khác tương đương Bước 1: Tạo folder mới ngang hàng với folder administrator (hoặc sử dụng folder có sẵn), vd: vip Bước 2: Tạo file php, chẳng hạn admin.php với nội dung: RewriteEngine OnRewriteCond %{REQUEST_URI} ^/administratorRewriteCond %{HTTP_COOKIE} !VinaoraAdminSession=abcdef123456RewriteRule .* - [L,F] Bước 3: Thêm nội dung sau tới file ".htaccess" của thư mục /administrator 4.2 Thay đổi tài khoản admin mặc định, thực hiện bằng cách: Copy đoạn mã sau và đặt vào đầu của file "index.php" trong thư mục "\administrator\" VINAORA : Access Denied');}?> Username và password đã được mã hóaCó thể tạo bằng cách vào các trang web sau: 5. Phân quyền cho Folder, File: Sử dụng Change Mode (CHMOD) 6. Chống tấn công SQL Injection: Không dùng tiền tố mặc định 'jos_' Không dùng tài khoản mặc định 7. Bảo vệ file configuration.php Việc bảo vệ các file có nội dung quan trọng, các file cấu hình chứa các thông số của hệ thống như: tên database, tên truy nhập, mật khẩu... là rất cần thiết và phải đặc biệt lưu tâm. Để bảo vệ file configuration.php ta sẽ chuyển nó qua thư mục khác không được public ra bên ngoài và đặt lại tên Và sau đó tạo file configuration.php ở vị trí cũ với nội dung: Thiết lập quyền chỉ được đọc trên file config.conf để tránh bị thay đổi nội dung 8.Bảo vệ Website bằng file .htaccessa Tạo tài khoản bảo vệ website Chặn các truy vấn nguy hiểm Cấm liệt kê thư mục Chặn IP hoặc hạn chế IP truy cập Tạo mật khẩu bảo vệ: Vào website tạo ra 1 file .htpasswd chứa username và password đã được mã hóa, sau đó copy kết quả dán vào file .htpasswd Tạo file .htaccess có nội dung: Chặn IP truy cập: AuthUserFile /xampp/htdocs/.htpasswd AuthGroupFile /dev/null AuthName "My .htaccess secured web page!" AuthType Basic require valid-user order allow,deny deny from 123.45.67.89 deny from 45.67.89. allow from all order deny,allow deny from all allow from 123.45.67.8 order deny,allow deny from all allow from 123.45.67.8 9. Backup dữ liệu web và dữ liệu SQL thường xuyên 10.Các công cụ kiểm tra bảo mật:10.1 Joomla HISA Kiểm tra một HOSTING có đáp ứng các yêu cầu cần thiết để cài đặt Joomla hay không Thông báo các thông số của HOST (tên host, địa chỉ IP...); thông số về PHP, MYSQL... Cảnh báo về các thiết lập không an toàn Cảnh báo về các thư mục chưa được thiết lập đúng quyền hạn Cách sử dụng: download joomlaHISA, giải nén và upload file joomla_hisa_en.php lên host, sau đó truy cập địa chỉ sau để test Các thông số test như sau: PHP Environment: Thông số về PHP MySQL Environment: Thông số về MySQL Joomla! Environment: Các thông số liên quan cho Joomla 10.2 Joomla Diagnostics Những file bị thiếu Những file bị hỏng hoặc đã bị chỉnh sửa Những file không an toàn (có thể truy cập trực tiếp từ đường dẫn, do thiếu kiểm tra _VALID_MOS hoặc _JEXEC) Các thiết lập không an toàn (VD: register_globals = off) Cách sử dụng: kiểm tra phiên bản Joomla, download đúng gói Joomla Diagnostics, Giải nén Joomla Diagnostics mà bạn vừa download ở trên (gồm 2 file: diagnostics.php và Joomla...txt) vào thư mục Joomla Sau đó mở đường dẫn sau để kiểm tra: Thanks for listening
Các file đính kèm theo tài liệu này:
- BaomatWeb.pptx