Đề tài Web application

Một Server cấu hình mạnh có thể host được nhiều trang web hoạt động một lúc.

Nếu hacker tấn công vào được 1 site thuộc Server đó sẽ có thể chuyển hướng sang tấn công các site lân cận trong nội bộ.

 

ppt71 trang | Chia sẻ: maiphuongdc | Ngày: 06/02/2014 | Lượt xem: 2562 | Lượt tải: 7download
Bạn đang xem nội dung tài liệu Đề tài Web application, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
WEB APPLICATION University of Natural Sciences- HCMC Faculty of Electronics and Telecommunications Sinh viên thực hiện: Trương Thanh Hải MSSV:0620019 Huỳnh Tấn Hùng MSSV :0620021 Trần Bình Trọng MSSV: 0620089 Hoàng Anh Tuấn MSSV: 0620092 Nôi Dung Trình Bày: 1/ Định Nghĩa Web. 2/ Lịch Sử Phát Triển. 3/ Tìm hiểu về ứng dụng Web. 4/ Ngôn Ngữ Lập Trình & Công Cụ Truy Cập. 5/ Thông Tin & Dữ Liệu & Bảo Mật. 6/ Các Ứng Dụng Của Web. 7/ Định Hướng Phát Triển. 1/ Vấn Đề Đặt Ra: Bạn muốn biết thông tin về một công ty ? Bạn muốn mua bán mà không cần ra ngoài ? Bạn muốn tìm tài liệu cho học tập và nơi giải đáp mọi thắc mắc trong công việc học tập? Bạn muốn xem những bộ phim Hot nhất ? Bạn muốn nghe nhac hay tạo một trang lưu trữ những thông tin cá nhân của mình??? Giải quyết những vấn đề này ra sao ???????? Hướng Giải Quyết ??? Ngày 6-8-1991, Tim Berners Lee công bố chương trình web Web là gì & Ứng dụng ra sao ? Định nghĩa web Website là một văn phòng ảo của doanh nghiệp trên mạng Internet. Website bao gồm toàn bộ thông tin, dữ liệu, hình ảnh về các sản phẩm, dịch vụ và hoạt động sản xuất kinh doanh mà doanh nghiệp muốn truyền đạt tới người truy cập Internet. Web là nơi chúng ta có thể trao đổi mọi thông tin ,tài liệu . là nơi chúng ta có thể mua bán trực tuyến và giải trí…. Web là nơi chúng ta có thể chia sẻ cảm xúc và là nơi lưu trữ những thông tin cá nhân. 2/ Lịch sử phát triển của web Ngày 6-8-1991, Tim Berners Lee công bố chương trình web. Dự án “World Wide Web” Ngày 12-12-1991: Máy chủ đầu tiên ngoài châu Âu online Tháng 11-1992: Đã có 26 máy chủ web online Ngày 22-4-1993: Trình duyệt Mosaic cho Windows ra đời Tháng 6-1993: Ngôn ngữ HTML (Hypertext Mark Language) dùng trong lập trình web được công bố. Tháng 2-1994: Tiền thân của Yahoo được đưa lên internet. Ngày 9-8-1995: “Bùng nổ tên miền .com”. Hàng loạt công ty trực tuyến chính thức mở cửa website của mình. Ngày 24-8-1995: IE được phát hành và là một phần trong Windows 95. Tháng 9-1998: Google mở cửa văn phòng đầu tiên của mình tại một gara ở California. Tháng 8-2000: Đã có gần 20 triệu Website Năm 2009: Đã có…102.615.362 website. ÖÙng duïng WEB laø gì ? Ứng dụng web (hay web application) là một trình ứng dụng mà có thể tiếp cận thông qua mạng như Internet hay intranet. Một vài ứng dụng Web thông dụng như: Webmail, bán hàng trực tuyến, wiki, forum, blog, … 3/ Tìm hiểu về ứng dụng Web Domain Hosting:Tên miền (Domain name) là định danh của website trên Internet Quy trình đăng kí một tên miền Tên miền được chia làm 2 dạng chính: Quốc tế .com, .net, .org, … Quốc gia Cấp 2: *.vn, *.us, *.uk, *.sg, ... Cấp 3: *.com.vn, *.co.uk, *.com.sg, … * Caáu taïo cuûa moät teân mieàn Tên miền (Domain name) không được vượt quá 63 ký tự, bao gồm cả phần .com, .net, .org. Tên miền chỉ bao gồm các ký tự trong bảng chữ cái (a-z), các số (0-9) và dấu trừ (-). Không thể bắt đầu bằng hoặc kết thúc tên miền bằng dấu trừ (-). Tên miền không cần bắt đầu bằng http:// hoặc www hoặc * Quy định khi đặt tên miền Web Hosting Web Hosting là nơi lưu trữ tất cả các trang Web, các thông tin, tư liệu, hình ảnh của Website trên một máy chủ Internet Các yêu cầu cần thiết của một Web Hosting Tính năng Tốc độ Dung lượng Băng thông Bảo mật. Web hosting Hỗ trợ truy xuất máy chủ bằng giao thức FTP để truyền tải tập tin Hỗ trợ các các ngôn ngữ lập trình cũng như cơ sở dữ liệu tưng ứng để thực thi ứng dụng Web trên Internet Có 2 nhánh là Windows Hosting và Linux Hosting Ngoài ra các công ty và doanh nghiệp lớn cũng có thể tự thiết lập Server riêng Bảng điều khiển Control Panel của một gói Hosting Phaàn meàm maùy chuû Web Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm máy chủ Web (Web Server Software) và sau đó kết nối vào Internet hoặc mạng LAN Giao dieän Mô hình hoạt động của Web Server Dùng để viết nên những Website động, giúp người sử dụng thông qua giao diện tương tác từ trình duyệt có thể làm việc với cơ sở dữ liệu trên Server Có nhiều loại ngôn ngữ khác nhau, hoạt động trên những môi trường khác nhau tương ứng * 4/ Ngoân Ngữ Lập Trình Ngôn ngữ lập trình web Để thiết kế giao diện cho Website, ta dùng ngôn ngữ đánh dấu HTML Có thể chèn vào những đoạn code ngôn ngữ kịch bản như Java Script, VB Script, hoặc Shock Wave Flash * PHP HTML ASP XML JSP JAVASCRIPT VB SCRIPT * Moät soá ngoân ngöõ laäp trình tieâu bieåu PHP (Hypertext Preprocessor) Được chạy trên máy chủ Linux hoặc Windows. Đặc điểm Mã nguồn mở, miễn phí. Cú pháp giống C và Java. Dễ viết, dễ dùng, dễ phát triển, triển khai nhanh. Là ngôn ngữ lập trình web phổ biến nhất hiện nay Thích hợp cho các trang web vừa và nhỏ. HTML(HyperText Markup Language) Ngôn ngữ Đánh dấu Siêu văn bản Thiết kế giao diện cho Website tĩnh ASP(active server pages) ASP và sau này là ASP.NET Chạy trên máy chủ Windows hoặc Linux . Được Microsoft xây dựng trên nền tảng .NET, kết hợp với cơ sở dữ liệu MS SQL Server. Chỉ hoạt động trên các họ Web server của Microsoft. Thích hợp cho các trang Web lớn. XML(Xtensible Markup Language) Ngôn ngữ xây dựng cấu trúc tài liệu văn bản do W3C  đề xuất Dựa theo chuẩn SGML (Standard Generalized Markup Language) Tạo nội dung động , độc lập với các máy server JSP (JavaServer Pages) Là sự mở rộng của công nghệ JavaServlet (chuẩn J2EE của SUN) JSP có ưu điểm so với ASP: sau lần đầu thực thi, mã được lưu lại trong bộ nhớ Đa nền, hướng đối tượng, bảo mật an toàn. JAVASCRIPT Ngôn ngữ lập trình kịch bản dựa trên đối tượng,phát triển từ ngôn ngữ C Dùng để thực hiện một số tác vụ không thể thực hiện được với  HTML như kiểm tra thông tin nhập vào,tự động thay đổi hình ảnh. AJAX(ASYNCHONOUS JAVASCRIPT AND XML) Kết hợp Javascript va XML để tạo sự tương tác giữa các ứng dụng web. Tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu Trang Web viết bởi PHP Trang Web viết bởi HTML Cách thức hoạt động các trang WEB Các Công Cụ Truy Cập IE. Firefox. Opera. Google Chrome. … 5/ Thông Tin & Dữ Liệu & Bảo Mật Trong thời đại kinh tế tri thức, thông tin là tài sản đóng vai trò quyết định sự thành bại. Do đó các thông tin quan trọng cần được bảo vệ chặt chẽ, tránh bị Bên ngoài đột nhập vào trong lấy thông tin Bên trong đưa thông tin ra ngoài. Theo đó, bảo mật là quá trình bảo đảm an toàn thông tin, theo chuẩn C.I.A Tính bảo mật (Confidentiality) Tính toàn vẹn (Integrity) Tính sẵn sàng (Availability) * Theo TCVN 7562:2005, tương đương với ISO/IEC 17799:2000 Những lỗ hổng thường gặp trong website Dữ liệu đầu vào không được kiểm tra tính hợp lệ. Lỗi kiểm soát truy cập nguồn tài nguyên. Lỗi liên quan đến quá trình quản lý xác thực và phiên truy cập. Lỗi tràn bộ đệm. Lưu trữ thiếu an toàn. Từ chối dịch vụ. Quản lý cấu hình thiếu an toàn. Quy trình xử lý báo lỗi. PHÖÔNG THÖÙC TAÁN COÂNG THU THAÄP THOÂNG TIN CHUNG. Tên miền, hệ điều hành, ngôn ngữ lập trình, hệ CSDL hoạt động trên Server,… Chủ sở hữu, đội ngũ quản trị, điều hành của Website. Địa chỉ IP, máy chủ DNS của Website. Các cổng và dịch vụ tương ứng đang được mở trên Server. Khaûo saùt öùng duïng Web Website sử dụng ứng dụng Web nào? Mã nguồn mở hay đóng? Phiên bản? Nếu là mã nguồn mở thì download source code về để phân tích và kiểm tra, tìm đọc các thông tin về bug và exploit của phần mềm đó. Doø tìm loãi töï ñoäng Dùng các công cụ quét và dò lỗi Website như : Scrawlr. MaxQ, Selenium. Acunetix Web Vulnerability Scanner. Joomla… Giao diện phần mềm Acunetix Web Vulnerability Scanner Doø tìm loãi baèng tay Vận dụng các kiến thức về lập trình, hệ điều hành, bảo mật và mạng máy tính, như một “người dùng tinh nghịch” hacker tiến hành các thao tác dò lỗi trực tiếp ngay trên Website, nhất là ở phần nhập dữ liệu đầu vào. Khai thaùc loãi/taán coâng. Đây là giai đoạn quan trọng nhất để chiếm được quyền điều khiển Website. Một vài cách thức tấn công phổ biến: SQL Injections. Session Hijacking. Local Attack. DNS Cache Poisoning. 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. … SQL Injections Lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập vào của các ứng dụng web để thi hành các câu lệnh SQL bất hợp pháp. Một hậu quả của SQL Injections Local Attack Một Server cấu hình mạnh có thể host được nhiều trang web hoạt động một lúc. Nếu hacker tấn công vào được 1 site thuộc Server đó sẽ có thể chuyển hướng sang tấn công các site lân cận trong nội bộ. r57shell – Một công cụ hack local attack Session Hijacking Chiếm phiên truy cập hợp lệ của máy nạn nhân từ cookies của trình duyệt DoS, DDoS, DRDos Không làm ảnh hưởng đến tính toàn vẹn và bảo mật, nó chỉ làm cho Website không thể luôn sẵn sàng hoạt động. Moät soá hình thöùc taán coâng môùi DNS Cache Poisoning. XSS. WebServer hacking. Buffer Overflow. XSS Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên nay. Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS. Moâ hình taán coâng XSS Buffer Overflow Khai thác tràn bộ đệm. Buffer Overflow Attacks by James C. Foster, Vitaly Osipov, and Nish Bhalla (Paperback - Mar 7, 2005) - Illustrated Chieám quyeàn maùy chuû Sau khi đã đoạt được quyền admin, đây là lúc mà hacker tiến hành công việc “hack”. Với hacker mũ đen đó là: phá hoại, đánh cắp, chỉnh sửa lại dữ liệu. Với hacker mũ trắng đó là: tóm tắt lại quá trình xâm nhập, phân tích lỗi và gửi đến admin có trách nhiệm quản lý hệ thống mà không có bất kì đòi hỏi, vụ lợi nào. Xoùa daáu veát Bước cuối cùng của cuộc tấn công là Hacker sẽ xóa tất cả các dấu vết còn lưu lại trên Server và Client trước khi thoát ra (các file log, địa chỉ IP, phiên làm việc, cache, history…). Baûo maät öùng duïng Web Kiểm định và tối ưu hóa mã nguồn ứng dụng Web, các query tới 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). Ba lớp bảo vệ website a/ Vành đai bảo vệ chung cho toàn hệ thống mạng (lớp 1), gồm cả hệ thống web. b/ Tường lửa chuyên dụng cho các ứng dụng web. c/ Thiết bị an ninh tích hợp hoặc thiết bị chống xâm nhập mạng. Moät soá phöông phaùp baûo maät Dùng câu hỏi chứng thực để kiểm tra người dùng thật (CAPTCHA) Baûo maät Server Thường xuyên cập nhật, vá lỗi cho Hệ điều hành Server Phần mềm Web Server Phần mềm thông dịch Web Phần mềm quản lý CSDL Phần mềm chống Virus Dựng Firewall Chỉ mở những port cần thiết sử dụng trên Server Cấu hình chmod đúng, nhất là các tập tin config, tránh bị local attack Dùng tập tin cấu hình .htaccess Cấu hình lưu file log truy xuất Website, Web server, Database. Cấu hình chmod Các công cụ kiễm tra bảo mật web Nikto . Paros Proxy. WebScarab. WebInspect. Whisker/libwhisker. Wikto. Acunetix Web Vulnerability Scanner. Watchfire AppScan. N-Stealth. Moät soá coâng cuï tröïc tuyeán Google Safe Browsing Tool: bạn kiểm tra). Norton Safe Web McAfee Site Advisor Secure Sockets Layer (SSL) Là giao thức giúp mã hóa và truyền tải toàn bộ thông tin đi và đến trên một cổng định trước (socket 443) Phiên bản mới nhất hiện nay là SSL 3.0 Mô hình hoạt động của SSL Giao thức SSL bao gồm 2 giao thức con Giao thức SSL record xác định các định dạng dùng để truyền dữ liệu. Giao thức SSL handshake (gọi là giao thức bắt tay) sẽ sử dụng giao thức SSL record để trao đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL. Giao thức SSL nhìn từ phía người dùng Thuận lợi: Ngày này do nhu cầu của người sử dụng internet để học tập, làm việc và giải trí ngày càng cao đã góp phần thúc đẩy quá trình phát triển và mở rộng các ứng dụng web. Khó khăn: Các ứng dụng web càng phát triển thì càng đòi hỏi một lượng băng thông lớn để truyền tải. Bên cạnh đó lỗi của các ứng dụng web cũng ngày càng đa dạng và phức tạp, đã tạo điều kiện cho các hacker xâm nhập vào các website. =>Vì lý do trên cho nên việc bảo mật các website trở thành trọng điểm trong việc xây dựng và phát triển các ứng dụng web. 6. Các ứng dụng web Truy cập thông tin . Giao lưu ,trao đổi thông tin : Mail, Blog ,Forum,Facebook… Học tập,các tiện ích văn phòng… Relax : web nhạc,film, Game online… Thương mại điện tử … Ưu điểm & ích lợi Truy cập mọi lúc mọi nơi ( miễn là có thể truy cập được Internet) Cung cấp nhiều thông tin phục vụ nhu cầu học tập, giải trí ,kinh doanh ….. 7.Hướng phát triển Các ứng dụng web sẽ dần thay thế các ứng dụng trên desktop. Thời đại của open source. Trí tuệ cộng đồng được đề cao. Đơn giản ,gọn nhẹ và tích hợp. Văn phòng online . Chrome OS Hệ điều hành có các ứng dụng web sẽ thay thế các ứng dụng trên desktop. Hướng phát triển web Tạo ra các web động-tính năng và cách thức nó tương tác với người dùng: rất tiện lợi và nhanh chóng đến nỗi bạn gần như tưởng mình đang sử dụng một phần mềm chứ không phải đang xem trang web. AJAX (Asynchronous JavaScript And XML.) AJAX không phải là một ngôn ngữ lập trình mới mà là một cách thức mới sử dụng những chuẩn đã có. AJAX là tập hợp của nhiều công nghệ với thế mạnh của riêng mình để tạo thành một sức mạnh mới. Tạo ra những ứng dụng web tốt, nhanh và thân thiện với người dùng hơn. Dựa trên những yêu cầu JavaScript và HTML AJAX – Tương lai của ứng dụng Web AJAX Là một kỹ thuật để tạo ra những ứng dụng web. Là công nghệ phía browser Browser (XMLHttpRequest) server: sử dụng kỹ thuật chuyển dữ liệu bất đối xứng (asynchronous) Trao đổi dữ liệu với máy chủ mà không cần load lại trang web.  Ứng dụng Internet trở nên nhỏ, nhanh và thân thiện. AJAX và các chuẩn về web AJAX dựa trên các chuẩn về web sau đây: Javascript XML HTML CSS Độc lập với các browsers và các platforms Cách thức truy cập web truyền thống: User“Submit”Browser“HTML+GET(POST)“ Server Server1 trang web kết quảBrowserUser Chậm chạp. Thiếu thân thiện Cách thức truy cập web sử dụng công nghệ AJAX: Browser  “XMLHttpRequest”  Server Server  phản hồi  Browser Không cần load lại trang web. Nhanh, thân thiện. The end Cám ơn các bạn đã quan tâm theo dõi.

Các file đính kèm theo tài liệu này:

  • pptweb_application_final__5263.ppt
Tài liệu liên quan