Trang chủ
Bài viết mới
Diễn đàn
Bài mới trên hồ sơ
Hoạt động mới nhất
VIDEO
Mùa Tết
Văn Học Trẻ
Văn Học News
Media
New media
New comments
Search media
Đại Học
Đại cương
Chuyên ngành
Triết học
Kinh tế
KHXH & NV
Công nghệ thông tin
Khoa học kĩ thuật
Luận văn, tiểu luận
Phổ Thông
Lớp 12
Ngữ văn 12
Lớp 11
Ngữ văn 11
Lớp 10
Ngữ văn 10
LỚP 9
Ngữ văn 9
Lớp 8
Ngữ văn 8
Lớp 7
Ngữ văn 7
Lớp 6
Ngữ văn 6
Tiểu học
Thành viên
Thành viên trực tuyến
Bài mới trên hồ sơ
Tìm trong hồ sơ cá nhân
Credits
Transactions
Xu: 0
Đăng nhập
Đăng ký
Có gì mới?
Tìm kiếm
Tìm kiếm
Chỉ tìm trong tiêu đề
Bởi:
Hoạt động mới nhất
Đăng ký
Menu
Đăng nhập
Đăng ký
Install the app
Cài đặt
Chào mừng Bạn tham gia Diễn Đàn VNKienThuc.com -
Định hướng Forum
Kiến Thức
- HÃY TẠO CHỦ ĐỀ KIẾN THỨC HỮU ÍCH VÀ CÙNG NHAU THẢO LUẬN Kết nối:
VNK X
-
VNK groups
| Nhà Tài Trợ:
BhnongFood X
-
Bhnong groups
-
Đặt mua Bánh Bhnong
CÔNG NGHỆ
Công Nghệ Thông Tin
Thủ Thuật Tin học
Kiểm tra quá trình mã hóa email
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Trả lời chủ đề
Nội dung
<blockquote data-quote="Mr.Quangvd" data-source="post: 37165" data-attributes="member: 3995"><p><strong><span style="color: #0000ff">Phân tích giao thức POP3, IMAP và SMTP thông qua cơ chế bảo mật SSL</span></strong> </p><p></p><p>Để thuận lợi cho quá trình phân tích này, sẽ rất tốt khi “nói chuyện” trực tiếp với server SMTP hoặc IMAP của bạn. Nhưng mọi việc sẽ trở nên phức tạp khi tiến hành mã hóa dữ liệu đầu cuối, nhưng với các công cụ thích hợp, việc này sẽ không quá khó khăn. </p><p></p><p>Thông thường, hầu như tất cả hệ thống mail server đều yêu cầu lựa chọn cơ chế mã hóa kết nối. 2 phương thức sau được sử dụng – hoặc toàn bộ các địa chỉ gửi qua SSL hoặc 1 cơ chế khác là StartTLS sẽ được sử dụng để kích hoạt quá trình mã hóa sau khi nhận được yêu cầu kết nối. </p><p></p><p>Trước tiên hãy xem qua về dịch vụ SSL, thường được sử dụng với các yêu cầu chuyên dụng, đặc biệt qua cổng TCP. Sau đây là bảng tham khảo về các cổng quan trọng khác: </p><p> <strong><em><strong><em> <span style="font-size: 15px"><span style="color: #ffffff">Service</span></span></em></strong></em></strong> <strong><em> <span style="font-size: 15px"><span style="color: #ffffff">Abbreviation</span></span></em></strong> <strong><em> <span style="font-size: 15px"><span style="color: #ffffff">TCP port</span></span></em></strong> [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">HTTP over SSL</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">https</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">443</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">IMAP over SSL</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">imaps</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">993</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">IRC over SSL</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">ircs</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">994</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">POP3 over SSL</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">pop3s</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">995</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">SMTP over SSL</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">ssmtp</span></span>[/FONT] [FONT=&quot]<span style="font-family: 'Arial'"> <span style="font-size: 15px">465</span></span>[/FONT] Dịch vụ này sẽ lắng nghe yêu cầu từ cổng TCP, đặc biệt là những kết nối trực tiếp qua SSL, ví dụ những hệ thống email client nào không hỗ trợ SSL sẽ không thể giao tiếp với server IMAPS qua cổng 993. Một khi các dữ liệu và thông số mã hóa đã được thực hiện, chúng sẽ được “cấp phép” và tạo ra 1 tunnel – đường hầm riêng biệt, thông qua đó, quá trình lưu chuyển dữ liệu được thực hiện trong thực tế. Dựa vào các sự kết hợp và các thành phần liên quan trong kết nối SSL, khi xảy ra bất kỳ sự cố nào, các công cụ hỗ trợ như telnet và netcat thường có xu hướng rút ngắn quá trình này lại. </p><p></p><p>Tiếp theo là 1 bước kiểm tra nho nhỏ với <strong><a href="https://www.openssl.org/" target="_blank">OpenSSL</a></strong>, có bao gồm 1 ví dụ SSL client nho nhỏ có thể được sử dụng để tạo kết nối tới dịch vụ SSL như <em><a href="https://www.heise.de" target="_blank">https://www.heise.de</a></em>:</p><p> <p style="text-align: left"><em>$ openssl s_client -host <a href="http://www.heise.de" target="_blank">www.heise.de</a> -port 443 </em></p> <p style="text-align: left"><em>CONNECTED(00000003) </em></p> <p style="text-align: left"><em>[...] </em></p> <p style="text-align: left"><em>--- </em></p> <p style="text-align: left"><em>Certificate chain </em></p> <p style="text-align: left"><em>0 s:/C=DE/ST=Niedersachsen/L=Hannover/O=Heise Zeitschriften Verlag GmbH Co KG/OU=Netzwerkadministration/OU=Terms of use at <a href="http://www.verisign.com/rpa" target="_blank">www.verisign.com/rpa</a> (c)05/CN=www.heise.de </em></p> <p style="text-align: left"><em>i:/O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign </em></p> <p style="text-align: left"><em>1 s:/O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign </em></p> <p style="text-align: left"><em>i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority </em></p> <p style="text-align: left"><em>--- </em></p> <p style="text-align: left"><em>[...] </em></p><p> Các thông tin trên được cung cấp và chứng thực bởi openssl, cho phép chúng ta kiểm tra các chứng nhận khác đã được sử dụng. Nếu không làm như vậy, chẳng khác nào các nhà quản lý ở cửa sẵn và chờ đợi những cuộc tấn công theo kiểu man-in-the-middle. Về mặt kỹ thuật, những ai có thể sử dụng công nghệ ettercap hoàn toàn có thể lấy được mật khẩu quản trị 1 cách đơn giản. </p><p></p><p>Tham số mã hóa và giải mã tín hiệu SSL client hoàn toàn “vô hình” – transparent, vì vậy người sử dụng có thể liên lạc trực tiếp đến server:</p><p> <em>GET / HTTP/1.1 </em></p><p><em>Host: <a href="http://www.heise.de" target="_blank">www.heise.de</a> </em></p><p><em><return> </em></p><p><em>HTTP/1.1 302 Found </em></p><p><em>Date: Wed, 16 Sep 2009 10:24:44 GMT </em></p><p><em>Server: Apache/1.3.34 </em></p><p><em>Location: <a href="https://www.heise.de/" target="_blank">https://www.heise.de/</a> </em></p><p><em>[...] </em></p><p> <strong><span style="color: #0000ff">Đăng nhập vào IMAPS</span></strong> </p><p></p><p>Quá trình này chỉ phức tạp hơn 1 chút:</p><p> <em>$ openssl s_client -host imap.irgendwo.de -port 993 </em></p><p><em>[...] </em></p><p><em>* OK IMAP4 Ready 0.0.0.0 0001f994 </em></p><p><em>1 Login user-ju secret </em></p><p><em>1 OK You are so in </em></p><p><em>2 LIST "" "*" </em></p><p><em>* LIST (\HasChildren) "." "INBOX" </em></p><p><em>* LIST (\HasNoChildren) "." "INBOX.AV" </em></p><p><em>[...] </em></p><p><em>2 OK Completed (0.130 secs 5171 calls) </em></p><p><em>3 logout </em></p><p><em>* BYE LOGOUT received </em></p><p><em>3 OK Completed </em></p><p> Khi thực hiện xong bước này, đừng quên sắp xếp lại các số thứ tự tương ứng với câu lệnh IMAP trước đó. Đối với giao thức POP3 cũng tương tự như vậy, chúng ta phải tự xác thực bên trong “đường hầm” SSL bằng câu lệnh USER và PASS POP3:</p><p> <em>$ openssl s_client -host pop.irgendwo.de -port 995 </em></p><p><em>[...] </em></p><p><em>+OK POP server ready H mimap3 </em></p><p><em>USER user-ju </em></p><p><em>+OK password required for user "user-ju" </em></p><p><em>PASS secret </em></p><p><em>+OK mailbox "user-ju" has 0 messages (0 octets) H mimap3 </em></p><p><em>quit </em></p><p><em>+OK POP server signing off </em></p><p> Đây có thể coi là sự lựa chọn và thay thế thích hợp dành cho công cụ telnet-ssl.</p><p> <strong><span style="color: #0000ff">StartTLS</span></strong></p><p></p><p>Những nhà cung cấp dịch vụ Internet đặc biệt thích sử dụng mô hình SSL, Transport Layer Security thông qua StartTLS. Mô hình này có lợi thế hơn với nhiều lựa chọn trong khi vẫn cho phép client không giao tiếp với server mà không được mã hóa. Mặt trái của điều này là các email client cần phải tương tác trực tiếp với server nếu muốn từ chối 1 kết nối TLS bất kỳ nào đó. </p><p></p><p>Lựa chọn mặc định của email client là "<em>TLS, if available</em>" đi kèm với sự mạo hiểm, các cuộc tấn công man-in-the-middle có thể “nhẹ nhàng” thay đổi câu lệnh StartTLS – với tính năng kích hoạt quá trình mã hóa, thành XtartTLS. Sau đó, server sẽ phản hồi lại rằng không thực hiện lệnh XtartTLS, và gây ra hiện tượng các email client khi gửi dữ liệu trong dạng chưa mã hóa vào 1 form không xác định ngược về phía người sử dụng. Do đó, khuyến cáo nên kiểm tra kỹ rằng máy chủ có thể xử lý lệnh StartTLS, và sau đó kích hoạt tính năng này. Nếu nhận được thông báo lỗi bất kỳ, rõ ràng là đã có vấn đề đâu đó trong hệ thống. </p><p></p><p>Các cổng mà dịch vụ TLS hoạt động trên đó phụ thuộc vào phía nhà cung cấp. Về nguyên tắc, các kiểu mã hóa này có thể nhúng 1 cách “vô hình” – transparent, vào trong hệ thống mà không yêu cầu bất kỳ hành động nào. Để tìm hiểu về hệ thống mail server có hỗ trợ tính năng này hay không:</p><p> <em>$ nc smtp.irgendwo.de smtp </em></p><p><em>220 Mailserver ESMTP Exim 4.69 Wed, 16 Sep 2009 13:05:15 +0200 </em></p><p><em>ehlo test </em></p><p><em>250-Mailserver Hello loki [10.1.2.73] </em></p><p><em>250-SIZE 78643200 </em></p><p><em>250-PIPELINING </em></p><p><em>250-STARTTLS </em></p><p><em>250 HELP </em></p><p><em>quit </em></p><p><em>221 Mailserver closing connection </em></p><p> Danh sách này nên đi kèm với lệnh StartTLS, chức năng chính là kích hoạt quá trình mã hóa Transport Layer Security:</p><p> <em>STARTTLS </em></p><p><em>220 TLS go ahead</em></p><p> Vào thời điểm này, Netcat sẽ gây ra 1 số phiền phức khó hiểu, nhưng OpenSSL lại có thể khắc phục điều này dễ dàng. Các nhà phát triển đã tạo ra hệ thống SSL client đủ thông minh để yêu cầu mã hóa TLS đối với các giao thức SMTP, POP3, IMAP và FTP, mặc dù không hoạt động với tất cả các server:</p><p> <em>$ openssl s_client -host mail.irgendwo.de -port 25 -starttls smtp </em></p><p><em>CONNECTED(00000003) </em></p><p><em>[...] </em></p><p><em>250 HELP </em></p><p><em>ehlo test </em></p><p><em>250-Mailserver Hello loki [10.1.2.73] </em></p><p><em>250-SIZE 52428800 </em></p><p><em>250-PIPELINING </em></p><p><em>250-AUTH PLAIN LOGIN </em></p><p><em>250 HELP </em></p><p> <strong><span style="color: #0000ff">Cơ chế xác thực SMTP</span></strong></p><p><strong></strong></p><p><strong></strong>Việc xác thực trong SMTP có 1 chút rắc rối hơn. Đối với hầu hết server, như trong ví dụ này, hỗ trợ phương thức AUTH PLAIN, nơi các dữ liệu phải đạt chuẩn Base64. Quá trình này được xử lý bởi câu lệnh Pearl sau:</p><p> <em>$ perl -MMIME::Base64 -e 'print encode_base64("\000user-ju\000secret")' </em></p><p><em>AHVzZXItanUAc2VjcmV0 </em></p><p> Kết quả thu được sẽ phải khớp với yêu cầu từ SMTP server:</p><p> <em>AUTH PLAIN AHVzZXItanUAc2VjcmV0 </em></p><p><em>235 Authentication succeeded </em></p><p> Những tín hiệu nhận được đã sẵn sàng với các các câu lệnh SMTP tiếp theo, đối với các địa chỉ và server không hỗ trợ OpenSSL, người sử dụng có thể dùng gnutls-cli có sẵn trong gói gnutls-bin. Đầu tiên, nó tạo ra 1 kết nối có dạng cleartext tới bất kỳ dịch vụ độc quyền TLS nào như:</p><p> <em>$ gnutls-cli -s -p submission smtp.heise.de </em></p><p><em>Resolving 'smtp.heise.de'... </em></p><p><em>Connecting to '10.1.2.41:587'... </em></p><p><em></em></p><p><em>- Simple Client Mode: </em></p><p><em></em></p><p><em>220 taxis03.heise.de ESMTP Exim 4.69 Wed, 16 Sep 2009 18:03:01 +0200 </em></p><p><em>ehlo test </em></p><p><em>250-taxis03.heise.de Hello loki.ct.heise.de [10.10.22.75] </em></p><p><em>250-SIZE 78643200 </em></p><p><em>250-PIPELINING </em></p><p><em>250-STARTTLS </em></p><p><em>250 HELP </em></p><p><em>starttls </em></p><p><em>220 TLS go ahead </em></p><p> Tiếp theo, chuyển sang câu lệnh thứ 2 để xử lý ID của các công cụ và gửi trực tiếp tín hiệu SIGALARM tới đó:</p><p> <em>$ ps aux | grep gnutls </em></p><p><em>ju 6103 pts/3 S+ 18:03 0:00 gnutls-cli [...] </em></p><p><em>$ kill -s SIGALRM 6103 </em></p><p> Điều này sẽ khiến gnutls-cli dàn xếp với chuẩn TLS và tự động kết nối lại tham số <strong><em>stdin</em></strong> và <strong><em>stdout</em></strong> để tạo ra “đường hầm” mới. Đồng thời, cũng chỉ ra 1 số thông tin khá thú vị về kết nối TLS mới tạo ra:</p><p> <p style="text-align: left"><em>*** Starting TLS handshake </em></p> <p style="text-align: left"><em>- Certificate type: X.509 </em></p> <p style="text-align: left"><em>- Got a certificate list of 1 certificates. </em></p> <p style="text-align: left"><em></em></p> <p style="text-align: left"><em>- Certificate[0] info: </em></p> <p style="text-align: left"><em># The hostname in the certificate matches 'smtp.heise.de'. </em></p> <p style="text-align: left"><em># valid since: Thu Dec 14 14:08:41 CET 2006 </em></p> <p style="text-align: left"><em># expires at: Sun Dec 11 14:08:41 CET 2016 </em></p> <p style="text-align: left"><em># fingerprint: 28:8C:E0:29:B9:31:9B:96:F6:3D:B4:49:10:CD:06:80 </em></p> <p style="text-align: left"><em># Subject's DN: C=DE,ST=Niedersachsen,L=Hannover,O=Heise Zeitschriften Verlag GmbH Co KG,OU=Netzwerkadministration,CN=smtp.heise.de,EMAIL=admin@heise.de </em></p> <p style="text-align: left"><em># Issuer's DN: C=DE,ST=Niedersachsen,L=Hannover,O=Verlag Heinz Heise GmbH & Co KG,OU=Netzwerkadministration,CN=admin@heise.de,EMAIL=admin@heise.de </em></p> <p style="text-align: left"><em></em></p> <p style="text-align: left"><em>- Peer's certificate issuer is unknown </em></p> <p style="text-align: left"><em>- Peer's certificate is NOT trusted </em></p> <p style="text-align: left"><em>- Version: TLS 1.0 </em></p> <p style="text-align: left"><em>- Key Exchange: DHE RSA </em></p> <p style="text-align: left"><em>- Cipher: AES 256 CBC </em></p> <p style="text-align: left"><em>- MAC: SHA </em></p> <p style="text-align: left"><em>- Compression: NULL </em></p> <p style="text-align: left"><em>quit </em></p> <p style="text-align: left"><em>221 taxis03.heise.de closing connection </em></p> <p style="text-align: left"><em>- Peer has closed the GNUTLS connection </em></p><p> Điều này cho phép người sử dụng kết nối trực tiếp đến thư viện lưu trữ các dịch vụ để kích hoạt TLS. Nếu người dùng muốn thử nghiệm thêm để chắc chắn rằng OpenSSL có hỗ trợ <strong><em>s_server</em></strong> để có thể thực thi các câu lệnh và gửi đến <strong><em>www</em></strong> server. Tính năng <strong><em>gnutls-serv</em></strong> đồng thời cũng cung cấp các chức năng tương đương ở trong gói <strong><em>gnutls-bin</em></strong>.</p><p> <strong><em> T.Anh (theo h-online)</em></strong></p></blockquote><p></p>
[QUOTE="Mr.Quangvd, post: 37165, member: 3995"] [B][COLOR=#0000ff]Phân tích giao thức POP3, IMAP và SMTP thông qua cơ chế bảo mật SSL[/COLOR][/B] Để thuận lợi cho quá trình phân tích này, sẽ rất tốt khi “nói chuyện” trực tiếp với server SMTP hoặc IMAP của bạn. Nhưng mọi việc sẽ trở nên phức tạp khi tiến hành mã hóa dữ liệu đầu cuối, nhưng với các công cụ thích hợp, việc này sẽ không quá khó khăn. Thông thường, hầu như tất cả hệ thống mail server đều yêu cầu lựa chọn cơ chế mã hóa kết nối. 2 phương thức sau được sử dụng – hoặc toàn bộ các địa chỉ gửi qua SSL hoặc 1 cơ chế khác là StartTLS sẽ được sử dụng để kích hoạt quá trình mã hóa sau khi nhận được yêu cầu kết nối. Trước tiên hãy xem qua về dịch vụ SSL, thường được sử dụng với các yêu cầu chuyên dụng, đặc biệt qua cổng TCP. Sau đây là bảng tham khảo về các cổng quan trọng khác: [B][I][B][I] [SIZE=4][COLOR=#ffffff]Service[/COLOR][/SIZE][/I][/B][/I][/B] [B][I] [SIZE=4][COLOR=#ffffff]Abbreviation[/COLOR][/SIZE][/I][/B] [B][I] [SIZE=4][COLOR=#ffffff]TCP port[/COLOR][/SIZE][/I][/B] [FONT="][FONT=Arial] [SIZE=4]HTTP over SSL[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]https[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]443[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]IMAP over SSL[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]imaps[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]993[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]IRC over SSL[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]ircs[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]994[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]POP3 over SSL[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]pop3s[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]995[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]SMTP over SSL[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]ssmtp[/SIZE][/FONT][/FONT] [FONT="][FONT=Arial] [SIZE=4]465[/SIZE][/FONT][/FONT] Dịch vụ này sẽ lắng nghe yêu cầu từ cổng TCP, đặc biệt là những kết nối trực tiếp qua SSL, ví dụ những hệ thống email client nào không hỗ trợ SSL sẽ không thể giao tiếp với server IMAPS qua cổng 993. Một khi các dữ liệu và thông số mã hóa đã được thực hiện, chúng sẽ được “cấp phép” và tạo ra 1 tunnel – đường hầm riêng biệt, thông qua đó, quá trình lưu chuyển dữ liệu được thực hiện trong thực tế. Dựa vào các sự kết hợp và các thành phần liên quan trong kết nối SSL, khi xảy ra bất kỳ sự cố nào, các công cụ hỗ trợ như telnet và netcat thường có xu hướng rút ngắn quá trình này lại. Tiếp theo là 1 bước kiểm tra nho nhỏ với [B][URL="https://www.openssl.org/"]OpenSSL[/URL][/B], có bao gồm 1 ví dụ SSL client nho nhỏ có thể được sử dụng để tạo kết nối tới dịch vụ SSL như [I][url]https://www.heise.de[/url][/I]: [LEFT][I]$ openssl s_client -host [url]www.heise.de[/url] -port 443 CONNECTED(00000003) [...] --- Certificate chain 0 s:/C=DE/ST=Niedersachsen/L=Hannover/O=Heise Zeitschriften Verlag GmbH Co KG/OU=Netzwerkadministration/OU=Terms of use at [url]www.verisign.com/rpa[/url] (c)05/CN=www.heise.de i:/O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign 1 s:/O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority --- [...] [/I][/LEFT] Các thông tin trên được cung cấp và chứng thực bởi openssl, cho phép chúng ta kiểm tra các chứng nhận khác đã được sử dụng. Nếu không làm như vậy, chẳng khác nào các nhà quản lý ở cửa sẵn và chờ đợi những cuộc tấn công theo kiểu man-in-the-middle. Về mặt kỹ thuật, những ai có thể sử dụng công nghệ ettercap hoàn toàn có thể lấy được mật khẩu quản trị 1 cách đơn giản. Tham số mã hóa và giải mã tín hiệu SSL client hoàn toàn “vô hình” – transparent, vì vậy người sử dụng có thể liên lạc trực tiếp đến server: [I]GET / HTTP/1.1 Host: [url]www.heise.de[/url] <return> HTTP/1.1 302 Found Date: Wed, 16 Sep 2009 10:24:44 GMT Server: Apache/1.3.34 Location: [url]https://www.heise.de/[/url] [...] [/I] [B][COLOR=#0000ff]Đăng nhập vào IMAPS[/COLOR][/B] Quá trình này chỉ phức tạp hơn 1 chút: [I]$ openssl s_client -host imap.irgendwo.de -port 993 [...] * OK IMAP4 Ready 0.0.0.0 0001f994 1 Login user-ju secret 1 OK You are so in 2 LIST "" "*" * LIST (\HasChildren) "." "INBOX" * LIST (\HasNoChildren) "." "INBOX.AV" [...] 2 OK Completed (0.130 secs 5171 calls) 3 logout * BYE LOGOUT received 3 OK Completed [/I] Khi thực hiện xong bước này, đừng quên sắp xếp lại các số thứ tự tương ứng với câu lệnh IMAP trước đó. Đối với giao thức POP3 cũng tương tự như vậy, chúng ta phải tự xác thực bên trong “đường hầm” SSL bằng câu lệnh USER và PASS POP3: [I]$ openssl s_client -host pop.irgendwo.de -port 995 [...] +OK POP server ready H mimap3 USER user-ju +OK password required for user "user-ju" PASS secret +OK mailbox "user-ju" has 0 messages (0 octets) H mimap3 quit +OK POP server signing off [/I] Đây có thể coi là sự lựa chọn và thay thế thích hợp dành cho công cụ telnet-ssl. [B][COLOR=#0000ff]StartTLS[/COLOR][/B] Những nhà cung cấp dịch vụ Internet đặc biệt thích sử dụng mô hình SSL, Transport Layer Security thông qua StartTLS. Mô hình này có lợi thế hơn với nhiều lựa chọn trong khi vẫn cho phép client không giao tiếp với server mà không được mã hóa. Mặt trái của điều này là các email client cần phải tương tác trực tiếp với server nếu muốn từ chối 1 kết nối TLS bất kỳ nào đó. Lựa chọn mặc định của email client là "[I]TLS, if available[/I]" đi kèm với sự mạo hiểm, các cuộc tấn công man-in-the-middle có thể “nhẹ nhàng” thay đổi câu lệnh StartTLS – với tính năng kích hoạt quá trình mã hóa, thành XtartTLS. Sau đó, server sẽ phản hồi lại rằng không thực hiện lệnh XtartTLS, và gây ra hiện tượng các email client khi gửi dữ liệu trong dạng chưa mã hóa vào 1 form không xác định ngược về phía người sử dụng. Do đó, khuyến cáo nên kiểm tra kỹ rằng máy chủ có thể xử lý lệnh StartTLS, và sau đó kích hoạt tính năng này. Nếu nhận được thông báo lỗi bất kỳ, rõ ràng là đã có vấn đề đâu đó trong hệ thống. Các cổng mà dịch vụ TLS hoạt động trên đó phụ thuộc vào phía nhà cung cấp. Về nguyên tắc, các kiểu mã hóa này có thể nhúng 1 cách “vô hình” – transparent, vào trong hệ thống mà không yêu cầu bất kỳ hành động nào. Để tìm hiểu về hệ thống mail server có hỗ trợ tính năng này hay không: [I]$ nc smtp.irgendwo.de smtp 220 Mailserver ESMTP Exim 4.69 Wed, 16 Sep 2009 13:05:15 +0200 ehlo test 250-Mailserver Hello loki [10.1.2.73] 250-SIZE 78643200 250-PIPELINING 250-STARTTLS 250 HELP quit 221 Mailserver closing connection [/I] Danh sách này nên đi kèm với lệnh StartTLS, chức năng chính là kích hoạt quá trình mã hóa Transport Layer Security: [I]STARTTLS 220 TLS go ahead[/I] Vào thời điểm này, Netcat sẽ gây ra 1 số phiền phức khó hiểu, nhưng OpenSSL lại có thể khắc phục điều này dễ dàng. Các nhà phát triển đã tạo ra hệ thống SSL client đủ thông minh để yêu cầu mã hóa TLS đối với các giao thức SMTP, POP3, IMAP và FTP, mặc dù không hoạt động với tất cả các server: [I]$ openssl s_client -host mail.irgendwo.de -port 25 -starttls smtp CONNECTED(00000003) [...] 250 HELP ehlo test 250-Mailserver Hello loki [10.1.2.73] 250-SIZE 52428800 250-PIPELINING 250-AUTH PLAIN LOGIN 250 HELP [/I] [B][COLOR=#0000ff]Cơ chế xác thực SMTP[/COLOR] [/B]Việc xác thực trong SMTP có 1 chút rắc rối hơn. Đối với hầu hết server, như trong ví dụ này, hỗ trợ phương thức AUTH PLAIN, nơi các dữ liệu phải đạt chuẩn Base64. Quá trình này được xử lý bởi câu lệnh Pearl sau: [I]$ perl -MMIME::Base64 -e 'print encode_base64("\000user-ju\000secret")' AHVzZXItanUAc2VjcmV0 [/I] Kết quả thu được sẽ phải khớp với yêu cầu từ SMTP server: [I]AUTH PLAIN AHVzZXItanUAc2VjcmV0 235 Authentication succeeded [/I] Những tín hiệu nhận được đã sẵn sàng với các các câu lệnh SMTP tiếp theo, đối với các địa chỉ và server không hỗ trợ OpenSSL, người sử dụng có thể dùng gnutls-cli có sẵn trong gói gnutls-bin. Đầu tiên, nó tạo ra 1 kết nối có dạng cleartext tới bất kỳ dịch vụ độc quyền TLS nào như: [I]$ gnutls-cli -s -p submission smtp.heise.de Resolving 'smtp.heise.de'... Connecting to '10.1.2.41:587'... - Simple Client Mode: 220 taxis03.heise.de ESMTP Exim 4.69 Wed, 16 Sep 2009 18:03:01 +0200 ehlo test 250-taxis03.heise.de Hello loki.ct.heise.de [10.10.22.75] 250-SIZE 78643200 250-PIPELINING 250-STARTTLS 250 HELP starttls 220 TLS go ahead [/I] Tiếp theo, chuyển sang câu lệnh thứ 2 để xử lý ID của các công cụ và gửi trực tiếp tín hiệu SIGALARM tới đó: [I]$ ps aux | grep gnutls ju 6103 pts/3 S+ 18:03 0:00 gnutls-cli [...] $ kill -s SIGALRM 6103 [/I] Điều này sẽ khiến gnutls-cli dàn xếp với chuẩn TLS và tự động kết nối lại tham số [B][I]stdin[/I][/B] và [B][I]stdout[/I][/B] để tạo ra “đường hầm” mới. Đồng thời, cũng chỉ ra 1 số thông tin khá thú vị về kết nối TLS mới tạo ra: [LEFT][I]*** Starting TLS handshake - Certificate type: X.509 - Got a certificate list of 1 certificates. - Certificate[0] info: # The hostname in the certificate matches 'smtp.heise.de'. # valid since: Thu Dec 14 14:08:41 CET 2006 # expires at: Sun Dec 11 14:08:41 CET 2016 # fingerprint: 28:8C:E0:29:B9:31:9B:96:F6:3D:B4:49:10:CD:06:80 # Subject's DN: C=DE,ST=Niedersachsen,L=Hannover,O=Heise Zeitschriften Verlag GmbH Co KG,OU=Netzwerkadministration,CN=smtp.heise.de,EMAIL=admin@heise.de # Issuer's DN: C=DE,ST=Niedersachsen,L=Hannover,O=Verlag Heinz Heise GmbH & Co KG,OU=Netzwerkadministration,CN=admin@heise.de,EMAIL=admin@heise.de - Peer's certificate issuer is unknown - Peer's certificate is NOT trusted - Version: TLS 1.0 - Key Exchange: DHE RSA - Cipher: AES 256 CBC - MAC: SHA - Compression: NULL quit 221 taxis03.heise.de closing connection - Peer has closed the GNUTLS connection [/I][/LEFT] Điều này cho phép người sử dụng kết nối trực tiếp đến thư viện lưu trữ các dịch vụ để kích hoạt TLS. Nếu người dùng muốn thử nghiệm thêm để chắc chắn rằng OpenSSL có hỗ trợ [B][I]s_server[/I][/B] để có thể thực thi các câu lệnh và gửi đến [B][I]www[/I][/B] server. Tính năng [B][I]gnutls-serv[/I][/B] đồng thời cũng cung cấp các chức năng tương đương ở trong gói [B][I]gnutls-bin[/I][/B]. [B][I] T.Anh (theo h-online)[/I][/B] [/QUOTE]
Tên
Mã xác nhận
Gửi trả lời
CÔNG NGHỆ
Công Nghệ Thông Tin
Thủ Thuật Tin học
Kiểm tra quá trình mã hóa email
Top