Thiết lập và triển khai secure socket layer (SSL)
Trang 1Thiết lập và triển khai
Secure Socket Layer
(SSL)
Trang 2GVHD: TS Phạm Văn Tính
Trang 31. Giới Thiệu Tổng Quan SSL
2. Triển Khai SSL trên Apache2
3. Triển Khai SSL trên Tomcat6
4. Triển Khai SSL trên IIS
5. Demo
Nôi Dung
Trang 4Giới thiệu Tổng Quan
Trang 5Sercure Socket Layer (SSL) hiện nay là
giao thức bảo mật rất phổ biến trên
Internet trong các hoạt động thương mại điện tử (E-Commerce) Việt Nam đang
trên đường hội nhập với nền công nghệ thông tin thế giới, nên nay mai, các hoạt động giao dịch trên mạng ở Việt Nam
cũng sẽ diễn ra sôi nổi, khi đó vấn đề bảo mật trở nên quan trọng, việc triển khai
SSL là điều thiết yếu.
Việt Nam sử dụng SSL trong các giao
dịch của mình
Trang 6Chứng thực ( certificate ) là những tài liệu có chứa thông tin cần thiết cho quá trình thiết lập định
danh ( identity ) qua mạng, quá trình đó còn gọi là quá trình xác thực ( authentication )
Chứng thực cho phép máy chủ ( server ) và máy
khách ( client ) xác thực lẫn nhau trước khi thiết lập kết nối Có hai loại chứng thực là chứng thực máy khách ( client certificate ) và chứng thực máy chủ
( server certificate )
Ngoài ra còn có một đối tác thứ ba làm dịch vụ cung cấp và kiểm tra chứng thực cho cả hai bên, đó là
Certification Authority ( CA ), tất nhiên CA chỉ làm
việc được khi cả hai bên đều tin tưởng vào mình.
Chứng thực điện tử (Digital Certificate)
Trang 7 Nhận danh người đang giao tiếp với ( Website, Customer).
Credit Card Numbers thì được mã hóa và
Trang 82 bên tham gia , client và server không biết
Trang 9 Một số công ty chuyên làm dịch vụ CA:
VeriSign ( www.verisign.com )
Thawte Consulting ( www.thawte.com )
Entrust Technologied ( www.entrust.com )
Keywitness ( www.keywitness.ca )
Trang 10Vấn đề : Man in the Middle
Trang 11Vấn đề : Man in the Middle Attacks
Attacker
Server
Client
•Kẻ tấn công co thể không
xuất hiện giống Server.
•Kẻ tấn công hoặt đông
như “ man in the middle ”
Trang 12Giao thức SSL nằm giữa tầng ứng dụng
( application layer ) thường là HTTP và
tầng chuyển vận ( transport layer ) thường là TCP/IP SSL dùng kỹ thuật mã hóa
công khai để mã hóa tất cả liên lạc giữa
server/client
chóng thành chuẩn cho các giao dịch
trực tuyến, dẫn đến sự hình thành chuẩn
đang được phát triển bởi Internet
Engineering Task Force.
Phương pháp hoạt động của SSL
Trang 131 Kết nối từ client đến server được thực hiện bằng giao thức HTTPS (HTTP+SSL )
2 Server kí khóa công khai ( public key ) bằng khóa bí mật
( private key ) của mình và gửi cho client
3 Client dùng khóa công khai của server để xác nhận đúng
server đang liên lạc
4 Client kiểm tra xem có CA nào đã kí vào khóa Nếu không client sẽ hỏi người dùng xem có nên tin tưởng vào server không
5 Client sinh ra một khóa bất đối xứng (asymmetric key) cho phiên giao dịch, khóa này được mã hóa bằng khóa công khai của máy chủ và gửi ngược lại Khoá này cũng sẽ được dùng để mã hóa tất cả các thông tin sau này.
Sự hoạt động của SSL 2.0
Trang 14SSL 3.0 bổ sung thêm cho SSL 2.0 bằng cách hỗ trợ cho chứng thực máy khách (client certificate), giúp server có thể
nhận diện ngược lại client SSL 3.0 hoạt động như SSL 2.0 , nhưng sau khi client đã xác thực server , đến lượt server sẽ kiểm tra ngược lại client
SSL 3.0
Trang 15ChangeCipherSpec: client_cipher
Finished: MAC<master_secret, all messages>
ChangeCipherSpec: server_cipher Finished: MAC<master_secret, all
messages>
compute session keys
compute
session
keys
Trang 17Triển Khai
SSL
Trang 18APACHE 2
Trang 19 Kiểm tra Apache2 đã được cài đặt trên hệ thống chưa ? sudo dpkg get-selections | grep apache2
Trang 20Tạo server encryption keys
sudo openssl genrsa -des3 -out server.key 1024
Tạo certificate request
sudo openssl req -new -key server.key -out
server.csr
Tạo self-signed certificate
sudo openssl x509 req days 365 in server.csr signkey server.key -out server.crt
Trang 21- Sau đó copy file server.crt vào thư mục /etc/ssl/certs/,
và file server.key vào thư mục /etc/ssl/private/
sudo cp server.crt /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/
Vào file cấu hình ssl sửa 2 dòng sau:
SSLCertificateFile /etc/ssl/certs/ssl cert snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl cert snakeoil.key
Thành :
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
Trang 22 Sau đó restart lại apache2
sudo /etc/init.d/apache2 restart
Mở trình duyệt web browser gõ:
https://localhost, hoàn tất quá trình triển khai
Trang 23TOMCAT
Trang 24 Quá trình triển khai ssl trên tomcat6
Kiểm tra đã cài đặt jdk trên hệ thống chưa?
sudo dpkg get-selections | grep sun-java
Nếu chưa cài đặt, tiến hành cài đặt
sudo apt-get install sun-java6-jdk
Sau đo tiến hành cài đặt tomcat6
sudo apt-get install tomcat6 tomcat6-admin tomcat6-example
Để truy xuất vào manager application và host-manager chúng ta cần định nghĩa user với role “manager” , “admin” trong file
/etc/tomcat6/tomcat-users.xml như sau:
Trang 25 Sau đó restart lại tomcat
sudo /etc/init.d/tomcat6 restart
Mở trình duyệt gõ:
https://localhost:8443
Trang 26IIS
Trang 27Tự tạo Certificate cho mình (self-signed certificate)
Dùng Certificate của các tổ chức CA như VeriSigns
Triển khai trên IIS
Trang 28openssl.exe: tải ở http://www.openssl.org self-signed certificate
Trang 29 Tạo khóa riêng X509 cho CA, mã hóa dạng
Base64 – Mục đích là sẽ dùng khóa riêng này kí nhận cho code signing certificate Khi tạo, cần cung cấp mật khẩu cho khóa riêng này.
Lệnh : genrsa -des3 -out MyCA.key 1024
Tạo chứng chỉ X509 cho CA có chứa public key,
mã hóa dạng Base64 – Bạn cung cấp các thông tin cho CA, bao gồm tên đại diện cho CA, mã
quốc gia, tên thành phố, email và mật khẩu của khóa riêng đã tạo ở trên.
Lệnh: req -new -config openssl.cfg -x509 -days
365 -key MyCA.key -out MyCA.crt
Tạo Certificate với Openssl
Trang 30Tạo khóa riêng X509 sử dụng để kí code –
Thao tác tương tự như tạo khóa cho CA ở
trên
Lệnh: genrsa -des3 -out MyServer.key 1024
Tạo một yêu cầu kí nhận (certificate signing
request) cho chứng chỉ
Lệnh: req -config openssl.cfg -out
MyServer.csr -key MyServer.key –new
Trang 31Tạo chứng chỉ public X509 để kí code từ yêu cầu ở trên, kèm thêm các khóa public của CA
và sử dụng thông tin của CA để kí nhận – Kết quả sẽ chứa trong tệp myServer.cer Đây
-MyServer.crt
Trang 32Tạo tệp dạng pfx định dạng PKCS-12 (thông tin trao đổi cá nhân)
Lệnh: pkcs12 export in MyServer.crt
-inkey MyServer.key -out MyServe.pfx
Trang 33Như đã đề cập, để hệ thống Windows Vista tin cậy ứng dụng bạn kí bằng chứng chỉ vừa tạo, bạn cần cài đặt
chứng chỉ public key của CA vào hệ thống tại vị trí
LocalComputer\Trusted Root Certification Authorities
Nếu làm tương tự như ví dụ trên, chứng chỉ của CA được chứa trong tệp VistaCA.cer.
Dưới đây là cách cài đặt chứng chỉ vào hệ thống sử dụng công cụ Microsoft Management Console (mmc.exe).
• Khởi động trình "mmc.exe" từ trình đơn Start/Run:
Cài đặt chứng chỉ CA tự tạo cho Windows Vista/7
Trang 34mmc
Trang 35Bổ sung snap-in có tên
"Certificates" cho "Local Computer"
Trang 38Chọn chức năng "Import" để cài đặt chứng chỉ public key của CA vào "Trusted root certification authorities
Trang 39Chạy IIS Manager
Add Certificate vào
Setup cho trang web muốn bảo mật bằng SSL
Bảo mật trang web IIS
bằng SSL
Trang 401 Tạo file Request Certificate
2 Xin SSL Certificate từ VeriSign.com
3 Cấu hình Trusted Root Certification
Authority
4 Import SSL Certificate cho Web Server
5 Kiểm tra kết quả
Bảo mật website với SSL
certificate Trial của VeriSign.com
Trang 41Logon Administrator, mở Internet Information Services (IIS) Manager, bung Web Site, chuột phải Default Web Site, chọn Properties
- Hộp thoại Default Web Site Properties, qua tab Directory Security, chọn Server
Certificate
Tạo Request Certificate
Trang 42Hộp thoại Welcome to the Web
Server Certificate Wizard, chọn Next
Trang 53Copy nội dung file certeq.txt
2 Xin SSL Certificate từ VeriSign.com
Trang 54Mở Brower, truy cập địa chỉ
http://www.verisign.com ,chọn Free SSL Trial
Trang 55- Trong cửa sổ Free SSL Trial Certificate, nhập đằy
đủ thông tin (*: thông tin bắt buộc), chọn Continue
Trang 58Trong ô Select Server Platform, chọn
Microsoft Trong ô Select Version, chọn IIS 6.0 Dán nội dung file certreq.txt vào ô Paste Certificate Signing Request (CSR), optained from your server
Trang 633 Cấu hình Trusted Root Certification Authority
Trang 77Mở (IIS) Manager, chuột phải Default Web Site chọn Properties
- Trong cửa sổ Default Web Site Properties, qua tab Directory Security, chọn Server Certificate