Cấu trúc cơ chế luật của ModSecurity

Một phần của tài liệu 817 nghiên cứu và đề xuất một số giải pháp đảm bảo an toán thông tin và dự phòng rủi ro cho cơ sở dữ liệu giao dịch của công ty cổ phần chứng khoán FPT,Khoá luận tốt nghiệp (Trang 85)

Mọi thứ trong ModSecurity đều liên quan đến hai phần, thiết lập và luật. Thiết lập sẽ cho ModSecurity biết làm thế nào để xử lý dữ liệu mà nó nhận được, còn các luật quyết định hành động sẽ thực hiện với các dữ liệu đã được xử lý đó.

Ví dụ về một luật như sau:

SecRule ARGS “<script>” log,deny,status:404 Một luật sẽ bao gồm ba phần chính như sau SecRule VARIABLES OPERATOR ACTIONS

- VARIABLES: chỉ cho ModSecurity dữ liệu nào cần xử lý. Trong ví dụ thì biến ARGS nghĩa là tất cả các tham số của request.

- OPERATOR: chỉ cho ModSecurity cần tìm mẫu như thế nàọ Trong ví dụ thì nó là một biểu thức chính quy, nó sẽ tìm trong các tham số ARGS kiểu dữ liệu khớp với biểu mẫu chính quy đó.

- ACTIONS: quyết định hành động sẽ thực hiện nếu tìm thấy mẫụ Trong ví dụ

thì yêu cầu thực hiện ba việc nếu tìm thấy: ghi lại vấn đề, từ chối giao dịch và trả ra trạng thái 404.

3.2.4. Tích hợp ModSecurity

3.2.4.1. Cài đặt module ModSecurity cho web server IIS

Hình 3.37. Cài đặt module ModSecurity cho IIS (1)

Include modsecuritỵconf Include crs-setup.conf.example

Include owasp_crs\rules\*.conf

Khóa luận tốt nghiệp

Hình 3.39. Cài đặt module ModSecurity cho IIS (3)

Hình 3.40. Cài đặt module ModSecurity cho IIS (4)

3.2.4.2. Thiết lập ModSecurity

- Tạo tệp tin cài đặt chính tên là “modsecurity_iis.conf” cho ModSecuritỵ Bên trong sẽ chỉ đến tệp tin chứa chỉ thị cho ModSecurity và các tệp tin luật lõi có sẵn.

SecRequestBodyNoFilesLimit 131072 SecRequestBodyInMemoryLimit 131072 SecRequestBodyLimitAction Reject SecPcreMatchLimit 150000

SecRule ARGS, "testparameter" "id:1234,deny,status:403,msg:'Rule triggered'" SecPcreMatchLimitRecursion 150000

SecResponseBodyMimeType text/plain text/html text/xml SecResponseBodyLimit 524288 SecResponseBodyLimitAction ProcessPartial SecTmpDir c:\inetpub\temp\ SecDataDir c:\inetpub\temp\ SecAuditEngine RelevantOnly SecAuditLogRelevantStatus "^(7I5∣4(7!04))" SecAuditLogParts ABIJDEFHZ SecArgumentSeparator & SecCookieFormat 0 SecStatusEngine On SecAuditLog c:\inetpub\logs\modsec_audit.log

- Thêm thiết lập vào tệp tin web.config của ứng dụng web, cho phép ModSecurity hoạt động.

<system.webServer>

<ModSecurity enabled="true" configFile="C:\Program Files\ModSecurity IIS\modsecurity_iis.conf" />

I File Edit View History

Tools Help - O ×

L______________________Khóa luận tốt nghiệp

TX:inbound_anomaly_scorẹ [file "QVProgram Files/ModSecurity

IIS/owasp_crs/rules/RESPONSE-980-CORRELATION.conf'] [line "73"] [id "980130"] [msg "Inbound Anomaly Score Exceeded (Total Inbound Score: 5 -

EzFuture

Hình 3.41. Ứng dụng web sử dụng để thử nghiệm

- Bật ModSecurity cho một ứng dụng web.

Hình 3.42. Thông báo lỗi khi truyền tham số bị chặn

- Khi thử truyền vào một tham số a có giá trị “testparameter” thì sẽ báo lỗi 403 do đã thiết lập chặn tham số này trong tệp tin cài đặt luật.

[client 127.0.0.1] ModSecurity: Access denied with code 403 (phase 2). Pattern match "testparameter" at ARGS:a. [file "C:\Program FilesWodSecurity

nS\modsecuritỵconf"] [line "8"] [id "1234"] [msg "Rule triggered"] [hostname "DESKTOP-1CNNL0F"] [uri "/?a=testparameter"] [unique_id

"17942340921886507029"]

- Tệp tin nhật ký ghi đã phát hiện mẫu trùng với giá trị của chỉ thị chặn tham số đã thiết lập.

Hình 3.43. Thông báo lỗi khi phát hiện SQL Injection

- Thử nghiệm truyền một tham số để mô phỏng một kỹ thuật tấn công SQL Injection cho kết quả tương tự. ModSecurity đã chặn và hiện thị lỗi 403.

Injection Attack Detected via libinjection"] [tag "event-correlation"] [hostname "DESKTOP-1CNNL0F"] [uri '77a=%27%20or%201=Γ'] [unique_id

"17726168144067690539"]

- Nhật ký ghi lại phát hiện tấng công SQL Injection.

2.3. Nâng cấp bảo mật trên máy chủ ứng dụng Web 3.3.1. Loại bỏ các giao thức kết nối không an toàn

Tên giao thức Hỗ trợ Đánh giá

TLS v1.3 Không An toàn

TLS v1.1 Có Không an toàn

SSL 3.0 Có Không an toàn

STT Tên bộ mã Bit Đánh giá

1 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 256 Yếu

2 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 128 Yếu

3 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 256 Yếu

Bảng 3.2. Danh sách giao thức đảm bảo an toàn máy chủ web FPTS đang dùng

Hệ thống máy chủ Web của FPTS hiện vẫn còn hỗ trợ các giao thức đã cũ vào không an toàn như SSL 3.0 hay TLS v1.1. Điều này tạo ra nguy cơ bị tấn công bằng phương pháp lợi dụng các lỗ hổng của các giao thức cũ nàỵ

Cần thực hiện vô hiệu hóa việc sử dụng 2 giao thức SSL 3.0 và TLS 1.1. Thiết lập giao thức TLS v1.2 làm mặc định.

ị Loại bỏ hỗ trợ SSL 3.0

- Mở Registry Editor trên máy chủ web. - Đến đường dẫn:

HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SC HANNEL\Protocols\SSL 3.0\Server

- Tạo thêm giá trị DWORD (32-bit) tên là “Enabled” và đặt giá trị bằng 0. Loại bỏ hỗ trợ TLS v1.1

- Mở Registry Editor trên máy chủ web. - Đến đường dẫn:

HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SC HANNELXProtocolsXTLS 1.1 Server∖

- Tạo thêm giá trị DWORD (32-bit) tên là “Enabled” và đặt giá trị bằng 0.

Khóa luận tốt nghiệp

3.3.2. Nâng cấp bộ mã hóa

Như đã đề cập ở trên, hệ thống sử dụng giao thức đảm bảo an toàn kết nối TLS v1.2 và sau đây là danh sách theo thứ tự ưu tiên các bộ mật mã - Cipher suite hiện tại

5 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 256 Yếu 6 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 128 Yếu 7 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 256 Yếu 8 TLS_DHE_RSA_WITH_AES_128_CBC_SHA 128 Yếu 9 TLS_RSA_WITH_AES_256_GCM_SHA384 256 Yếu 10 TLS_RSA_WITH_AES_128_GCM_SHA256 128 Yếu 11 TLS_RSA_WITH_AES_256_CBC_SHA256 256 Yếu 12 TLS_RSA_WITH_AES_128_CBC_SHA256 128 Yếu 13 TLS_RSA_WITH_AES_256_CBC_SHA 256 Yếu 14 TLS_RSA_WITH_AES_128_CBC_SHA 128 Yếu 15 TLS_RSA_WITH_3DES_EDE_CBC_SHA 112 Yếu

16 TLS_RSA_WITH_RC4_128_SHA 128 Không an toàn

17 TLS_RSA_WITH_RC4_128_MD5 128 Không an

toàn

STT Tên bộ mã Bit Đánh giá

1 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384 256 Mạnh 2 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P 384 256 Mạnh 3 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384 256 Mạnh 4 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P 256 256 Mạnh 5 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256 256 Mạnh 6 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA25 6_P384 128 Mạnh 7 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA25 6_P384 128 Mạnh

Khóa luận tốt nghiệp

Bảng 3.3. Danh sách bộ mã hóa đang dùng

Các bộ mã hóa trên hiện tại đã yếu, nó hỗ trợ cả các giao thức cũ nên gây ra nguy cơ cao gây mất an toàn, bảo mật cho các kết nối của khách hàng tới trang web giao dịch của FPTS. Do phần trước đã loại bỏ việc sử dụng các giao thức đảm bảo an

toàn TLS v1.1 và SSL 3.0, cần có bộ mã hóa mới chỉ hỗ trợ giao thức TLS v1.2 và độ an toàn mạnh mẽ hơn.

9 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA25 6_P256 128 Mạnh 10 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P 384 128 Mạnh 11 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P 256 128 Mạnh 12 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384 128 Mạnh 13 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256 128 Mạnh 14 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P 384 128 Mạnh 15 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P 256 128 Mạnh 16 TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 256 Mạnh 17 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 256 Mạnh 18 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 128 Mạnh 19 TLS_DHE_DSS_WITH_AES_128_CBC_SHA 128 Mạnh 20 TLS_RSA_WITH_AES_256_CBC_SHA256 256 Mạnh 21 TLS_RSA_WITH_AES_256_CBC_SHA 256 Mạnh 22 TLS_RSA_WITH_AES_128_CBC_SHA256 128 Mạnh

- Mở Local Group Policy Editor trên máy chủ web và truy cập thiết lập tại đường dẫn:

Local Computer Policy\Computer ConfigurationXAdministrative

Template\Network\SSL Configuration SettingsXSSL Cipher Suite Order

Bảng 3.4. Danh sách bộ mã hóa mới Khóa luận tốt nghiệp

- Chọn “Enabled” và nhập danh sách các bộ mã hóa trên theo thứ tự ưu tiên và ngăn cách bằng dấu “,”.

Khóa luận tốt nghiệp

KẾT LUẬN

Ket quả đạt được của khóa luận

Khóa luận đã tìm hiểu và phân tích rõ hệ thống thông tin giao dịch của Công ty Cổ phần Chứng khoán FPT, trình bày các cơ sở lý thuyết về an toàn và bảo mật cơ sở dữ liệu, hệ thống thông tin và đưa ra đánh giá các nguy cơ gây mất an ninh an toàn

thông tin tại hệ thống thông tin giao dịch của FPTS. Dựa trên các cơ sở lý thuyết và đánh giá thực tiễn, khóa luận nghiên cứu và đề xuất một số giải pháp nhằm đảm bảo an toàn thông tin và phòng ngừa rủi ro cho cơ sở dữ liệu giao dịch của FPTS.

Những khó khăn và hạn chế

- Chức năng giám sát và tự động chuyển đổi vai trò giữa cơ sở dữ liệu chính và

cơ sở dữ liệu dự phòng khi phát hiện sự cố chưa được xây dựng.

- Chưa thể nâng cấp giao thức đảm bảo an toàn dữ liệu lên phiên bản TLS v1.3

do máy chủ web hiện tại của FPTS là IIS chưa hỗ trợ.

Hướng phát triển của đề tài

Trong thời gian tới, đề tài sẽ tiếp tục được phát triển để hoàn thiện hơn, thêm các chức năng còn thiếu và tiến hành nâng cấp giao thức bảo mật lên phiên bản TLS v1.3 để đảm bảo an toàn hơn nữạ Ngoài ra, hệ thống thông tin của FPTS cũng cần được lên kế hoạch cập nhật các phiên bản phần mềm, tập luật phát hiện tấn công xâm

nhập mới nhằm tránh bị động trước những hành vi độc hạị

Khóa luận tốt nghiệp

TÀI LIỆU THAM KHẢO

[1] Công ty Cổ phần Chứng khoán FPT. (n.d.). Tổng quan về công tỵ Retrieved from

FPTS - Home: http://www.fpts.com.vn/ve-fpts/tong-quan-ve-cong-ty/

[2] Tiến, T. N. (2009). Giáo trình an toàn dữ liệụ Hà Nội: Đại học Quốc Gia Hà Nộị

[3] Ashdown, L., & Kyte, T. (2015, May). Database concepts. Retrieved from Oracle

Help Center: https://docs.oraclẹcom/cd/E11882_01/server.112/e40540/toc.htm

[4] Rich, K. (2014, February). Oracle Help Center. Retrieved from Oracle Data

Guard Concepts and Administration:

https://docs.oraclẹcom/cd/E11882_01/server. 112/e41134/toc.htm

Một phần của tài liệu 817 nghiên cứu và đề xuất một số giải pháp đảm bảo an toán thông tin và dự phòng rủi ro cho cơ sở dữ liệu giao dịch của công ty cổ phần chứng khoán FPT,Khoá luận tốt nghiệp (Trang 85)