Kiện toàn bảo mật web với Modsecurity, an toàn bảo mật, bảo mật web server apache với modsecurity, bảo mật web server apache với mod security, an toàn bảo mật thông tin, bảo mật web, đề cương an toàn bảo mật. Kiện toàn bảo mật web với Modsecurity, an toàn bảo mật, bảo mật web server apache với modsecurity, bảo mật web server apache với mod security, an toàn bảo mật thông tin, bảo mật web, đề cương an toàn bảo mật. Kiện toàn bảo mật web với Modsecurity, an toàn bảo mật, bảo mật web server apache với modsecurity, bảo mật web server apache với mod security, an toàn bảo mật thông tin, bảo mật web, đề cương an toàn bảo mật
Trang 12
Sử Hoàng Sơn | Email: shson.stttt@vinhlong.gov.vn
Kiện toàn bảo mật Web với ModSecurity
Trang 22
ModSecurity Web Intrusion Detection and Prevention 2
- Hầu hết các ứng dụng do nhiều đơn vị phát triển với nhiều công nghệ khác nhau.
- Sử dụng các sản phẩm của bên thứ 3 mà không biết chất lượng.
- Cần rất nhiều thời gian và nhân lực để kiểm tra độ an toàn
- Thói quen, tư duy người lập trình chưa quan tâm nhiều đến an toàn sản phẩm, chưa có bộ phận phụ trách an toàn sản phẩm.
Thực trạng
Trang 32
- Công tác an toàn sản phẩm cần làm sớm càng tốt
- Bằng tất cả mọi cách cải tiến độ an toàn các ứng dụng đang có (không dễ).
- Nhiều khả năng chúng ta phải tăng cường
an ninh từ bên ngoài
- Đặt các ứng dụng không an toàn vào môi trường an toàn.
Vấn đề cần làm
Trang 42
ModSecurity Web Intrusion Detection and Prevention 4
Yêu cầu
Monitoring : biết chuyện gì đang xãy ra
Detection : phát hiện khi bị tấn công.
Prevention : ngăn chặn được tấn công.
Assessment : phát hiện trước vấn đề trước khi bị tấn công
Trang 52
Một số thiết bị bảo mật thường gặp
Trang 62
ModSecurity Web Intrusion Detection and Prevention 6
Packet Filter Firewall
Trang 72
Packet Filter Firewall
- Tạo ACL cơ bản dựa trên: Source IP, Destination IP, Port, Service, Protocol.
- Nội dung và ngữ cảnh (mối liên hệ với các gói khác) bị bỏ qua.
- Thông tin địa chỉ trong một gói có thể bị xuyên tạc hoặc bị đánh lừa bởi người gửi
- Packet chuyển qua có thể chứa thông tin
Trang 82
ModSecurity Web Intrusion Detection and Prevention 8
Network Intrusion Detect System (NIDS)
Trang 92
Network Intrusion Detect System (NIDS)
- Chỉ xác định và cảnh báo không ngăn chặn được tấn công.
- Không phân tích được nội dung đã mã hóa (SSL).
- Không thể làm một Gateway Application.
- Dễ dẫn đến Fail Positive khi áp dụng để xử
lý data mức Application
Trang 102
ModSecurity
Trang 112
- ModSecurity là một Opensource web application firewall -Tác giả: Ivan Ristic.
- Phát triển dành cho Web Server Apache, Ngix, hiện
version 2.7 đã có cho IIS.
- Sử dụng giấy phép GPL,hoàn toàn miễn phí.
- Kết hợp Mod_proxy trở thành Reverse Proxy bảo
vệ cho nhiều máy chủ web
- Hoạt động dựa trên Rule.
GIỚI THIỆU
Trang 122
ModSecurity Web Intrusion Detection and Prevention 12
Mô hình
Trang 132
Thuận lợi:
- Tạo một điểm duy nhất cho việc truy cập
- Che đậy mô hình mạng với bên ngoài
Mô hình kết hợp Reverse Proxy
Trang 142
ModSecurity Web Intrusion Detection and Prevention 14
Chức năng
- Request filtering: phân tích và cản lọc (filter) các request gửi
đến Web Server trước khi chúng được đưa đến các modules khác để xử lý.
- Understanding of the HTTP protocol: hiểu được giao thức
HTTP Có khả năng cản lọc dựa trên các thông tin ở HTTP
Header hay có thể xem xét đến từng thông số, cookies của các request
- POST payload analysis: phân tích nội dung (payload) của
POST requests
- Audit logging: Khả năng ghi lại các Request (bao gồm cả
POST) để người quản trị có thể theo dõi nếu cần
- HTTPS filtering: phân tích HTTPS.
Trang 152
Mô hình xử lý Apache + ModSecurity
Trang 162
ModSecurity Web Intrusion Detection and Prevention 16
Các giai đoạn xử lý
1 Phase Request Header
2 Phase Request Body
+ application/x-www-form-urlencoded
+ multipart/form-data + text/xml
3 Phase Response Header
4 Phase Response Body
5 Phase logging
Trang 172
Cú pháp Rule
SecRule Target Operator [Actions]
- Target: Quy định cụ thể mục tiêu của request hoặc
response muốn kiểm tra.
- Operator: xác định phương pháp và so khớp dữ
liệu để kích hoạt Action Thường dùng Regular
expressions để tạo Pattern.
- Actions: các hành động được thực hiện nếu
phù hợp (matching) rule Action có thể là allow hoặc deny các request; và quy định cụ thể các
status code khi response cho client
Trang 182
ModSecurity Web Intrusion Detection and Prevention 18
Biến và Collection
-Truy cập các thông số trong request, response
thông qua Biến hoặc Collection.
Collection :-
ENV, FILES, FILES_NAMES, FILES_SIZES,
FILES_TMPNAMES, GEO, IP,
Trang 192
Chặn một số tấn công cơ bản
Trang 20# Từ chối request không chứa host header
SecRule &REQUEST_HEADERS:Host "@eq 0" "phase:1,deny"
# Từ chối request không chứa request header
SecRule &REQUEST_HEADERS:Accept "@eq 0 " phase:1,deny"
# Chỉ cho phép GET HEAD va POST
SecRule REQUEST_METHOD !^(get|head|post)$ phase:1,t:lowerCase,deny"
#Chỉ cho phép HTTP version 1.0 và 1.1
SecRule REQUEST_PROTOCOL !^http/1\.(0|1)$ “ phase:1,t:lowercase,deny"
Đánh lừa các công cụ HTTP Fingerprinting,
cung cấp các thông tin không chính xác cho Hacker
Trang 212
CROSS-SITE SCRIPTING (XSS)
Cross-Site Scripting hay còn được gọi tắt là XSS
là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác.
Các đoạn mã hầu hết được viết bằng Client Script
Trang 232
TẤN CÔNG DIRECTORY TRAVERSAL
-URL hợp lệ: http://example.com/getpage.php?page=1
-URL attack=http://example.com/getpage.php?page= / / /etc/passwd
Nếu không cấu hình để cản lọc hoặc cơ chế cấp quyền Không đúng thì hacker sẽ lấy được thông tin từ file
/etc/passwd Hacker có thể không chèn trực tiếp biến /
mà thực hiện chèn các biến đã được mã hoá như
%2e%2e%2f , khi giải mã thì vẫn là /
Danh sách các chuỗi chúng ta cần chặn:
/
%2f
%2e%2e/
Trang 24Rule để chặn hình thức tấn công này:
SecRule REQUEST_URI " /" "t:urlDecode,deny"
Trang 252
TẤN CÔNG SQL INJECTION
SELECT * FROM user WHERE username = ' %s‘ AND password = '%s';
Hacker chèn các từ khóa SQL vào dữ liệu để làm sai lệch câu
lệnh SQL, và nếu dữ liệu không được lọc thì khả năng bị tấn
công SQL Injection là rất cao
SELECT * FROM user WHERE username = ' ‘ OR ‘1’=‘1’ AND
password = ' ' OR '1'='1';
SELECT * FROM products WHERE id = 1; DROP TABLE products;
SELECT LOAD_FILE(" /etc/passwd ");
Trang 262
ModSecurity Web Intrusion Detection and Prevention 26
UNION SELECT unions+select
UNION ALL SELECT unions+alls+select
INTO OUTFILE intos+outfile
DROP TABLE drops+table
ALTER TABLE alters+table
SecRule ARGS "intos+outfile" "t:lowercase,deny,msg: 'SQL Injection'"
CHẶN SQL INJECTION
Trang 272
CHỐNG THỰC THI LỆNH SHELL
Các Lệnh , chương trình, đường dẫn thông thường:
Trang 28# Phát hiện đăng nhập sai với “Username does not exist”
SecRule RESPONSE_BODY "Username does not exist“
"phase:4,pass,setvar:ip.failed_logins=+1,expirevar:ip.failed_logins=300"
# khóa với số lần đăng nhập thất bại =3
SecRule IP:FAILED_LOGINS "@gt 3" deny
</Location>
Trang 292
Thực hiện các shell scripts & Giởi email cảnh báo
SecRule ARGS "drop table" "deny,t:lowercase, setenv:HOSTNAME=%{SERVER_NAME},
Attacking IP: $REMOTEIP
Request URI: $REQUESTURI
Time: `date '+%D %H:%M'`
"|mail –s 'ModSecurity Alert' <a
href="mailto:suhoangson@gmail.com">suhoangson@gmail.co
Trang 302
ModSecurity Web Intrusion Detection and Prevention 30
Core Rule Set
Tập các Rule viết sẵn với nhiều dạng patterm:
- Real-time Blacklist Lookups IP từ các hãng danh tiếng
- Phát hiện Web-based Malsware dựa vào Google Safe Browsing API
- Chống DoS HTTP Flooding
- Chống các dạng tấn công cơ bản
- Phát hiện : bots, crawlers, scanners độc hại khác
- Kết hợp Antivirut kiểm tra các File upload lên web application
- Chặn các thông báo sai từ ứng dụng
- Ẩn các thông báo lỗi từ Server
Trang 312
Thách thức
- Tỉ lệ Fail Positive vẫn có thể xãy ra.
- Viết Rule cần có nhiều kinh nghiệm về HTTP Protocol , Regular expressions… và am hiểu các dạng tấn công.
- Hiệu xuất đáp ứng khi kết hợp Reverse Proxy bảo vệ
Trang 32- ModSecurity 2.5: Magus Mischel