Tải bản đầy đủ (.pptx) (85 trang)

Thiết lập và triển khai secure socket layer (SSL)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.51 MB, 85 trang )

Thiết lập và triển khai
Secure Socket Layer
(SSL)


GVHD: TS Phạm Văn Tính


Nôi Dung
1.

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


Giới thiệu


Tổng Quan


 Sercure 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.

 Tuy nhiên đến nay vẫn ít trang Web nào ở Việt

Nam sử dụng SSL trong các giao dịch của mình


Chứng thực điện tử (Digital Certificate)
 Chứ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.


Lợi ích của SSL đối với những ứng dụng
 Nhận danh người đang giao tiếp với ( Website,

Customer).

 Credit Card Numbers thì được mã hóa và khơng thể

đánh cắp.

 Dữ liệu gửi và nhận không thể sửa đổi hoặc giả mạo.


SSL/TLS giải quyết vấn đề gì?
 2 bên tham gia , client và server không biết về nhau.
 Muốn để chứng thực mỗi người khác.
 Client chứng thực server.
 E.g : “Am I talking to the real amazon.com server?”

 Server chứng thực client.

 Muốn giữ bí mật và tồn vẹn thông tin khi trao đổi

dữ liệu ở cả 2 hướng.



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)


Vấn đề : Man in the Middle Attacks
• Một mình public-key cryptography
khơng đưa ra được cơ chế chứng
thực tốt.
• Kẻ tấn cơng có thể giả lập server

Client

Attacker


Server


Vấn đề : Man in the Middle Attacks
• 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”

Client

Attacker

Server


Phương pháp hoạt động của SSL
 Giao 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.

 SSL được giới thiệu bởi Netscape và mau 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 giao thức Transport
Layer Security (TLS) đang được phát triển bởi

Internet Engineering Task Force.


Sự hoạt động của SSL 2.0
1. 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.


SSL 3.0
 SSL 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

Handshake
Overview
Server
Client
ClientHello:

client_versio
n, client_ran
dom, client_
cipher_lis

t

cipher_list
r_
e
rv
e
s
,
m
o
d
n
ion, server_ra
rs
e
v
r_
e

rv
e
s
:
o
ServerHell
te_list
a
ic
f
ti
r
e
c
_
r
e
ate: serv
ic
if
t
r
e
C
r
e
v
r
e
S


compute
session keys

ClientKeyExc

hange: {pre_
master

_secret}KS

ChangeCiphe
rSpec: client
_cipher
Finished: M
AC_secret, all
messages>
cipher
r_
e
rv
e
s
:
c
e
p
S
ChangeCipher


ssages>
e
m
ll
a
t,
re
c
e
C
A
M
:
d
e
h
is
in
F

15

compute
session keys



Triển Khai SSL



APACHE 2




Kiểm tra Apache2 đã được cài đặt trên hệ thống chưa ?
sudo dpkg --get-selections | grep apache2



Cài đặt Apache2
sudo apt-get install apache2



Sau đó bật mod ssl
sudo a2enmod ssl



Bật site default ssl
sudo a2ensite default-ssl




 Tạ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


 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 /etc/apache2/sites-available/default-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


 Sau đó restart lại apache2

sudo /etc/init.d/apache2 restart
 Mở trình duyệt web browser gõ:
 https://localhost, hồn tất q trình triển khai.


TOMCAT


 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:
<role rolename=”admin”/>
<role rolename=”manager”/>


<user username=”username” password=”password” roles=”admin”/>
<user username=”username” password=”password” roles=”manager”/>


 Tạo certificate

keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.key
 file /etc/tomcat6/server.xml Uncomment các dòng sau:

maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
 Sau đó thêm dịng sau:

keystoreFile=“/path/to/keystore” keystorePass=“passCreateKey”.


Sau đó restart lại tomcat
sudo /etc/init.d/tomcat6 restart



Mở trình duyệt gõ:



https://localhost:8443



×