b) Nhược điểm của mạng VPN mở rộng:
1.8. Giải pháp phòng chống một số tấn công lên VPN
1.8.1. Phòng chống tấn công BEAST
Tấn công BEAST là kĩ thuật khai thác thành công điểm yếu của các thuật toán mã khối sử dụng chế độ CBC
Mục tiêu là giải mã HTTPS request rồi đọc cookie (chứa session ID) có trong HTTPS request.
Đối phương sẽ cài một agent vào trình duyệt của máy nạn nhân, Agent này có khả năng yêu cầu trình duyệt thực hiện request HTTP và đọc nội dung request này. Agent này có thể đơn giản là một đoạn code javascript, cài vào trình duyệt theo cách tấn công XSS.
Hình 1. 16: Mô tả tấn công Beast attack
− Phòng chống tấn công BEAST
Để chống lại tấn công BEAST, cần thực hiện các bước bảo mật sau:
• Không sử dụng các thuật toán mã khối ở chế độ CBC, có thể ưu tiên sử dụng mã dòng hoặc các chế độ khác của mã khối như OFB hoặc CTR.
• Đặt chế độ thỏa thuận ưu tiên cho thuật toán mã hóa, hàm băm có độ an toàn cao (ví dụ AES, SHA256…).
• Sử dụng giao thức bảo mật TLSv1.1 và TLSv1.2 thay cho TLSv1.0.
• Tắt giao thức SSL 2.0 trong các phiên bản OpenSSL cũ.
• Hạn chế các dạng tấn công Cross Site Scripting (XSS) lên máy chủ SSL/TLS.
1.8.2. Phòng chống tấn công xen giữa
Ngăn chặn lưu lượng trao đổi qua lại giữa client và server, chẳng hạn như giả mạo DNS trả lời hay đổi hướng của ARP, sau đó đóng vai client đối với server và ngược lại.
Trong suốt cuộc tấn công người dùng không kết nối trực tiếp với server đích.
Thay vì phá hoại host, nó đóng vai web browser và hành động cơ bản giống như là một proxy.
Cách ngăn chặn: thông thường web browser sẽ đưa ra cảnh báo khi web server đang kết nối không thể kiểm chứng. Xem xét để không ấn “proceed” để không truy cập vào trang web không tin tưởng. Hoặc kiểm tra lưu lượng gói reply.
Hình 1. 17; Mô hình tấn công xen giữa
1.8.3. Phòng chống tấn công từ chối dịch vụ SSL (SSL Dos Attack)
Hình 1. 19: Mô hình tấn công từ chối dịch vụ SSL
Tấn công từ chối dịch vụ dựa trên các tấn công “làm lụt” cơ bản, ví dụ như tấn công kết nối TCP thì thông thường kẻ tấn công sẽ dựa trên các cổng của dịch vụ:
Để biết dịch vụ web nào mở trên server ta thực hiện quét: root@bt [~] # nmap -A xxx.xxx.xxx.xxx -p443,993,995 PORT STATE SERVICE VERSION 443/tcp open http Apache httpd 993/tcp open ssl/imap Dovecot imapd 995/tcp open ssl/pop3 Dovecot pop3d
Đối phương có thể dùng công cụ thc-ssl-tool để thực hiện tấn công từ chối dịch vụ SSL. Nguyên lý làm việc dựa trên cơ sở sau: khi một kết nối SSL mới đang được đàm phán, SSL/TLS server sẽ dành tài nguyên CPU nhiều đáng kể so với các SSL/TLS client, vì vậy, nếu đối phương (kẻ tấn công) thực hiện nhiều yêu cầu kết nối SSL tới SSL/TLS server thì có thể xảy ra tình trạng tất cả tài nguyên CPU trên SSL/TLS server sẽ được sử dụng và dẫn tới SSL/TLS có thể bị quá tải và không đủ năng lực cung cấp dịch vụ.
Hình 1. 20: Sử dụng công cụ THC-SSL-TOOL để tấn công
Quá trình thỏa thuận kết nối sẽ bị lỗi:
Hình 1. 22: Hiển thị quá trình thỏa thuận kết nối bị lỗi
Cách ngăn chặn: Để ngăn chặn tấn công này cần vô hiệu hóa SSL renegotiation trong Apache bằng cách thực hiện các bước sau:
Bước 1: Mở tệp /etc/httpd/conf/httpd.conf và chỉnh sửa dòng sau: “SSLInsecureRenegotiation off”
Bước 2: Khởi động lại dịch vụ httpd bằng lệnh: # service httpd restart
Bước 3: Kiểm tra lại quá trình vô hiệu hóa:
root@bt [~]# openssl s_client -connect 127.0.0.1:443 CONNECTED(00000003)
750:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO: unknown protocol:s23_clnt.c:588:
Secure Renegotiation IS NOT supported
output like below means SSL renegotiation is supported, RENEGOTIATING
verify return:1
Vô hiệu hóa SSL renegotiation cho những cổng khác sử dụng chức năng lọc gói của iptables
#iptables -A LIMIT_SSL -p tcp –dport 993 or 995 or 443 –syn -m state – state NEW -m hashlimit –hashlimit-above 120/minute –hashlimit-burst 20 – hashlimit-mode srcip –hashlimit-name ssl-conn -j DROP