<![CDATA[Latest posts for the topic "Bảo mật Wireless với FreeRADIUS"]]> /hvaonline/posts/list/8.html JForum - http://www.jforum.net Bảo mật Wireless với FreeRADIUS
Bao gồm:
  • 1 Linux server chạy Debian dùng để cài FreeRADIUS 1 Cisco Aironet 1240AG Access Point - ở đây đóng vai trò là NAS (Network Access Server) 1 Cisco Catalyst switch 2 clients: 1 dùng Slackware, 1 dùng Windows XP
Tiến hành cài FreeRADIUS: Bước này không có gì khó khăn cả. Bạn download về, giải nén và cài như bình thường. Bạn có thể dùng –prefix=/usr/local/freeradiussudo make install | tee /var/log/source/freeradius.log nếu muốn. Tạo certificates: Chuyển đến thư mục /usr/local/etc/raddb/certs, đọc README file và làm theo hướng dẫn. Mỗi khi tạo một client certificate đặt hết vào một thư mục với tên là common Name cho dễ tìm. Code:
su -
cd /usr/local/etc/raddb/certs
mkdir quanta
Mình sửa Makefile như sau: Code:
openssl req -new  -out quanta/client.csr -keyout quanta/client.key -config ./client.cnf
	openssl ca -batch -keyfile ca.key -cert ca.pem -in quanta/client.csr  -key $(PASSWORD_CA) -out quanta/client.crt -extensions xpclient_ext -extfile xpextensions -config ./client.cnf
	openssl pkcs12 -export -in quanta/client.crt -inkey quanta/client.key -out quanta/client.p12  -passin pass:$(PASSWORD_CLIENT) -passout pass:$(PASSWORD_CLIENT)
	openssl pkcs12 -in quanta/client.p12 -out quanta/client.pem -passin pass:$(PASSWORD_CLIENT) -passout pass:$(PASSWORD_CLIENT)
	cp quanta/client.pem quanta/$(USER_NAME).pem
        cp quanta/client.key quanta/$(USER_NAME).key
(Trong bài viết mình dùng EAP-TLS nên yêu cầu cả server và client certs). Lúc này trong thư mục quanta có những file sau: Code:
# ls -l quanta
total 32
-rw-r--r-- 1 root radius 4104 2010-02-24 13:59 client.crt
-rw-r--r-- 1 root radius 1017 2010-02-24 13:59 client.csr
-rw-r--r-- 1 root radius 1743 2010-02-24 13:59 client.key
-rw-r--r-- 1 root radius 2493 2010-02-24 13:59 client.p12
-rw-r--r-- 1 root radius 3389 2010-02-24 13:59 client.pem
-rw-r--r-- 1 root radius 1743 2010-02-24 14:03 quan.ta$domain.vn.key
-rw-r--r-- 1 root radius 3389 2010-02-24 13:59 quan.ta$domain.vn.pem
Chỉnh sửa các file cấu hình: /usr/local/etc/raddb/radiusd.conf:
  • uncomment 2 dòng user = radiusgroup = radius sửa ipaddr thành IP của freeRADIUS server (172.16.128.12)
/usr/local/etc/raddb/eap.conf
  • sửa giá trị của default_eap_type từ md5 thành tls tìm đến section tls, sửa private_key_password thành password mà bạn đã gán khi tạo server certificate Chạy openssl dhparam -out certs/dh 1024 để tạo DH file sửa random_file thành /dev/urandom
/usr/local/etc/raddb/clients.conf
  • Thêm một client section như sau: Code:
  • client 172.16.128.128 {
    	secret = 41r0n3t
    	shortname = aironet
    	nastype = cisco
    }
/usr/local/etc/raddb/users
  • thêm một dòng như sau: quan.ta Auth-Type := EAP, trong đó quan.ta chính là common Name khi tạo client certificate ở trên.
Thử start freeRADIUS ở debug mode: /usr/local/sbin/radiusd -X -x Nếu bạn nhìn thấy những dòng cuối cùng như sau:
Wed Feb 24 17:35:28 2010 : Debug: listening on authentication address 172.16.128.12 port 1812 Wed Feb 24 17:35:28 2010 : Debug: listening on accounting address * port 1813 Wed Feb 24 17:35:28 2010 : Debug: listening on command file /usr/local/var/run/radiusd/radiusd.sock Wed Feb 24 17:35:28 2010 : Info: Ready to process requests.  
chứng tỏ bạn đã cấu hình và khởi động freeRADIUS thành công. Cấu hình Access Point như sau:
aaa new-model ! ! aaa group server radius rad_eap server 172.16.128.12 auth-port 1812 acct-port 1813 ... dot11 ssid xx authentication open eap eap_methods authentication network-eap eap_methods authentication key-management wpa guest-mode ... bridge irb ! ! interface Dot11Radio0 no ip address no ip route-cache ! encryption mode ciphers tkip ... ip default-gateway 172.16.128.252 ip http server ip http authentication local no ip http secure-server ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag ip radius source-interface BVI1 ! cdp timer 45 cdp holdtime 120 radius-server attribute 32 include-in-access-req format %h radius-server host 172.16.128.12 auth-port 1812 acct-port 1813 key 7 131112011F0405242C radius-server vsa send accounting  
--> phần key này chính là Shared secret mà bạn đã gán trong file /usr/local/etc/raddb/clients.conf (41r0n3t). Bây giờ chúng ta cấu hình Linux làm client để thử kết nối. (coi như bổ sung vào phần còn thiếu trên wiki)

http://wiki.freeradius.org/WPA_HOWTO wrote:
... (at present, I have no experience with Linux clients and so cannot document this) 
Nếu muốn dùng eapol_test bạn có thể: Remove binary package của wpa_supplicant và compile lại từ source. Code:
wget /path/to/wpa_supplicant-0.6.10.tar.gz
tar zxvf wpa_supplicant-0.6.10.tar.gz
cd wpa_supplicant-0.6.10/wpa_supplicant/
cp defconfig .config
Trong file .config, kiểm tra chắc chắn rằng
  • đã enable EAP-TLS: CONFIG_EAP_TLS=y uncomment dòng #CONFIG_EAPOL_TEST=y
Code:
make eapol_test
make
sudo make install
Soạn thảo file cấu hình /etc/wpa_supplicant.conf như sau: Code:
network={
  scan_ssid=1
  ssid="xx"
  key_mgmt=WPA-EAP
  pairwise=CCMP TKIP
  group=CCMP TKIP
  eap=TLS
  identity="quan.ta"
  ca_cert="/etc/radiusclient/certs/ca.pem"
  client_cert="/etc/radiusclient/certs/quan.ta@domain.vn.pem"
  private_key="/etc/radiusclient/certs/quan.ta@domain.vn.key"
  private_key_passwd="quan.ta_pass"
}
Trong đó: + ca.pem, quan.ta@domain.vn.pem và quan.ta@domain.vn.key được copy từ server về + identity chính là common Name khi tạo client certificate + private_key_passwd chính là giá trị của output_password bạn đã gán trong client.cnf khi tạo client certificate (nếu bạn tạo client cert trực tiếp bằng openssl thì nó chính là passphrase). Thử start wpa_supplicant ở debug mode: Code:
wpa_supplicant -d -c /etc/wpa_supplicant.conf -i wlan0 -Dwext
Nếu bạn nhìn thấy những dòng như:
EAPOL: SUPP_BE entering state REQUEST EAPOL: getSuppRsp EAP: EAP entering state RECEIVED EAP: Received EAP-Request id=8 method=13 vendor=0 vendorMethod=0 EAP: EAP entering state METHOD SSL: Received packet(len=126) - Flags 0x80 SSL: TLS Message Length: 1130 SSL: (where=0x1001 ret=0x1) SSL: SSL_connect:SSLv3 read server session ticket A SSL: (where=0x1001 ret=0x1) SSL: SSL_connect:SSLv3 read finished A SSL: (where=0x20 ret=0x1) SSL: (where=0x1002 ret=0x1) SSL: 0 bytes pending from ssl_out SSL: No Application Data included SSL: No data to be sent out EAP-TLS: Done EAP-TLS: Derived key - hexdump(len=64): [REMOVED] EAP-TLS: Derived EMSK - hexdump(len=64): [REMOVED] SSL: Building ACK (type=13 id=8 ver=0) EAP: method process -> ignore=FALSE methodState=DONE decision=UNCOND_SUCC EAP: EAP entering state SEND_RESPONSE EAP: EAP entering state IDLE EAPOL: SUPP_BE entering state RESPONSE EAPOL: txSuppRsp TX EAPOL: dst=00:1b:2b:a9:0c:f0 EAPOL: SUPP_BE entering state RECEIVE RX EAPOL from 00:1b:2b:a9:0c:f0 EAPOL: Received EAP-Packet frame EAPOL: SUPP_BE entering state REQUEST EAPOL: getSuppRsp EAP: EAP entering state RECEIVED EAP: Received EAP-Success EAP: EAP entering state SUCCESS CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully 
đồng thời trên cửa sổ đang chạy radiusd bạn thấy:
Wed Feb 24 18:17:26 2010 : Auth: Login OK: [quan.ta] (from client aironet port 410 cli 001f.3bd8.62bf) Wed Feb 24 18:17:26 2010 : Info: +- entering group post-auth {...} Wed Feb 24 18:17:26 2010 : Info: ++[exec] returns noop Sending Access-Accept of id 95 to 172.16.128.128 port 1645 MS-MPPE-Recv-Key = 0x3140c0a5ffd54cae58ec5d2bd7f68318ec0efc3edac4c9036b3ba708188cf7a4 MS-MPPE-Send-Key = 0xf39ea7042321a9d7ee933520f6669758b43b38d5c147485489690842d26511a3 EAP-Message = 0x03080004 Message-Authenticator = 0x00000000000000000000000000000000 User-Name = "quan.ta"  
chứng tỏ bạn đã được xác thực. Xin chúc mừng. Cuối cùng là gán IP cho wlan0: Code:
# dhcpcd wlan0
# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 00:1f:3b:d8:62:bf  
          inet addr:172.16.128.131  Bcast:172.16.128.255  Mask:255.255.255.0
          inet6 addr: fe80::21f:3bff:fed8:62bf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:57843 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27473 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18020958 (17.1 MiB)  TX bytes:4709688 (4.4 MiB)
Phần cấu hình với Windows làm client các bạn có thể tham khảo trên wiki của freeRADIUS. ]]>
/hvaonline/posts/list/33419.html#205466 /hvaonline/posts/list/33419.html#205466 GMT
Bảo mật Wireless với FreeRADIUS /hvaonline/posts/list/33419.html#205469 /hvaonline/posts/list/33419.html#205469 GMT Bảo mật Wireless với FreeRADIUS /hvaonline/posts/list/33419.html#205572 /hvaonline/posts/list/33419.html#205572 GMT Bảo mật Wireless với FreeRADIUS

nhanth87 wrote:
Theo em nên dùng LDAP làm CSDL chứng thực chứ không dùng cert, vậy thì trên linux không cần phải compile lại wpa_supplicant 
Cảm ơn bạn đã góp ý nhưng mà việc dùng cái gì để chứng thực đâu có liên quan đến việc compile lại wpa_supplicant đâu, mình compile lại chỉ để dùng eapol_test thôi, bạn hoàn toàn có thể dùng binary package của wpa_supplicant hoặc đơn giản hơn là wicd để kết nối. ]]>
/hvaonline/posts/list/33419.html#205884 /hvaonline/posts/list/33419.html#205884 GMT
Bảo mật Wireless với FreeRADIUS /hvaonline/posts/list/33419.html#214374 /hvaonline/posts/list/33419.html#214374 GMT Bảo mật Wireless với FreeRADIUS

B 0 0 B wrote:
may quá gặp cái đang gặp trouble này cả ngày hôm qua quan ta, cậu up lên dùm file quanta.cnf, ca.cnf, server.cnf dùm Hoặc up dùm tớ thư mục raddb luôn tớ xem các file cert cậu thế nào? không biết bỏ vào cài radius đang dùng của tớ freeradius-1.1.7-3.1.fc8 có tương thích ko nữa  
Tớ không còn lưu trên máy.

B 0 0 B wrote:
- Sau khi cấu hình 3 file trên tớ dùng lệnh ./bootstrap để tạo ra các file cert, nhưng khi import vào windows thì nó báo cert invalid?  
Bạn import cái gì vào: root hay client cert và import vào đâu? Toàn bộ thông báo lỗi thế nào?]]>
/hvaonline/posts/list/33419.html#214393 /hvaonline/posts/list/33419.html#214393 GMT
Bảo mật Wireless với FreeRADIUS client cert và server cert nó bị báo lỗi, (import vào Trusted Root Certification Authorities hoặc để nó auto install ko chọn đường dẫn) "windows does not have enough information to verify this certificate" Tương tự hình này (mượn tạm, nhưng thời gian là valid)
sau đó search thử trên google bảo import cái CA root vào luôn để nó verify cái client và server cert thì sau khi import vào nó báo cert là ..expired or invalid .. đại khái là vậy, mặc dù cert này mới generated ra và chỉnh ngày rất dài trước khi tạo để ko bị expired mà vẫn bị, Tớ tử nhiều lần với máy khác cũng vẫn vậy (xp, win7), chưa biết vấn đề ở đâu Đây là các file cấu hình trước khi gen, Makefile, bootstrap http://www.mediafire.com/?wjjm2jlqzyi Cái folder /certs trước khi tạo http://www.mediafire.com/?zinmqzy2mml cậu coi thử bị gì Quanta. ]]>
/hvaonline/posts/list/33419.html#214403 /hvaonline/posts/list/33419.html#214403 GMT
Bảo mật Wireless với FreeRADIUS

B 0 0 B wrote:
Quanta: Tớ import client certserver cert nó bị báo lỗi, (import vào Trusted Root Certification Authorities hoặc để nó auto install ko chọn đường dẫn) ... sau đó search thử trên google bảo import cái CA root vào luôn để nó verify cái client và server cert thì sau khi import vào nó báo cert là ..expired or invalid .. đại khái là vậy, mặc dù cert này mới generated ra và chỉnh ngày rất dài trước khi tạo để ko bị expired mà vẫn bị,  
Sao trên client (Windows) mà lại cần import cả server cert vậy? Bạn nên đọc thật kỹ lại tài liệu để biết cái nào dùng vào việc gì và phải import vào đâu.]]>
/hvaonline/posts/list/33419.html#214440 /hvaonline/posts/list/33419.html#214440 GMT
Bảo mật Wireless với FreeRADIUS /hvaonline/posts/list/33419.html#214453 /hvaonline/posts/list/33419.html#214453 GMT Bảo mật Wireless với FreeRADIUS

B 0 0 B wrote:
thường thì cần import client cert là được, nhưng nếu mình import dư đâu có sao? 
Ơ, thế không cần root certificate à? Mà client cert phải import vào đâu vậy? Tốt nhất là bạn nên đọc kỹ cái này: http://wiki.freeradius.org/WPA_HOWTO và tìm thêm một vài nguồn khác để đọc.]]>
/hvaonline/posts/list/33419.html#214455 /hvaonline/posts/list/33419.html#214455 GMT
Bảo mật Wireless với FreeRADIUS

quanta wrote:

B 0 0 B wrote:
thường thì cần import client cert là được, nhưng nếu mình import dư đâu có sao? 
Ơ, thế không cần root certificate à? Mà client cert phải import vào đâu vậy? Tốt nhất là bạn nên đọc kỹ cái này: http://wiki.freeradius.org/WPA_HOWTO và tìm thêm một vài nguồn khác để đọc. 
bài hướng dẫn của quanta, chỉ nói về trường hợp cấu hình radius, còn gen cert nó bảo đọc README mà readme mình đã làm theo cũng ko thành công? thực tế mình đã import nhiều trường hợp và có trường hợp có root, client, server như bài đầu tiên nhưng ko dc, vấn đề ko phải ở cấu hình radius sai vì chạy lệnh radiusd -x -X hoặc vẫn đc, nhưng ko hiểu cert đã gen ra nhưng import vào báo invalid và expire mặc dùng đã import thành công vào đúng đường dẫn? - còn 1 thắc mắc nữa là mình ko hiểu các file private key dùng để làm gì, các password nhập vào private key để làm gì,? ]]>
/hvaonline/posts/list/33419.html#214466 /hvaonline/posts/list/33419.html#214466 GMT
Bảo mật Wireless với FreeRADIUS

B 0 0 B wrote:
bài hướng dẫn của quanta, chỉ nói về trường hợp cấu hình radius, còn gen cert nó bảo đọc README mà readme mình đã làm theo cũng ko thành công?  
Không thành công ở bước nào, sao bạn không post chi tiết lên. Nếu muốn hiểu rõ hơn thì nên chạy trực tiếp openssl mà không dùng Makefile có sẵn.

B 0 0 B wrote:
thực tế mình đã import nhiều trường hợp và có trường hợp có root, client, server như bài đầu tiên nhưng ko dc, vấn đề ko phải ở cấu hình radius sai vì chạy lệnh radiusd -x -X hoặc vẫn đc, nhưng ko hiểu cert đã gen ra nhưng import vào báo invalid và expire mặc dùng đã import thành công vào đúng đường dẫn?  
Hỏi lại lần cuối: root cert bạn import vào đâu, client cert bạn import vào đâu?

B 0 0 B wrote:
- còn 1 thắc mắc nữa là mình ko hiểu các file private key dùng để làm gì, các password nhập vào private key để làm gì,?  
Vậy thì bạn nên đọc về Asymmetric cryptography trước.]]>
/hvaonline/posts/list/33419.html#214494 /hvaonline/posts/list/33419.html#214494 GMT
Bảo mật Wireless với FreeRADIUS

quanta wrote:
Hỏi lại lần cuối: root cert bạn import vào đâu, client cert bạn import vào đâu? chắc mình trả lời đây là lần cuối, bạn hỏi 2 lần đều trả lời 2 lần rồi mà vẫn hỏi lại?
(import vào Trusted Root Certification Authorities hoặc để nó auto install ko chọn đường dẫn)  
dùng lệnh cái chạy openssl thì command cũng giống như các command trong make file thôi mà? trong khi make file chạy thành công mình xé nhỏ ra chạy tay làm gì? @quanta: mình thấy discuss với bạn trouble shoot 3 bài rồi mà ko đâu tới đâu? ko biết do mình hỏi ko hiểu hay bạn ko có kinh nghiệm trên phần cert này,? cái kiểu quăng tài liệu các link và nói đọc đi thì chả thấy help gì, có thể câu trả lời liên quan tới 1 phần nào đó trong link bạn thì bạn trích lại 1 phần đó quăng ra đâu cần phải quăng 1 đống vậy? tóm lại thấy quanta ko mặn mà mấy cái trouble shoot kiểu này ngoài command linux nên có thể tạm dừng ở đây. thank quanta]]> /hvaonline/posts/list/33419.html#214499 /hvaonline/posts/list/33419.html#214499 GMT Bảo mật Wireless với FreeRADIUS

B 0 0 B wrote:
chắc mình trả lời đây là lần cuối, bạn hỏi 2 lần đều trả lời 2 lần rồi mà vẫn hỏi lại?
(import vào Trusted Root Certification Authorities hoặc để nó auto install ko chọn đường dẫn)  
 
Vấn đề là thằng nào import vào Trusted root, thằng nào để nó auto install. Hỏi 2 lần rồi mà vẫn hỏi lại vì đã trả lời đúng câu hỏi đâu.

B 0 0 B wrote:
dùng lệnh cái chạy openssl thì command cũng giống như các command trong make file thôi mà? trong khi make file chạy thành công mình xé nhỏ ra chạy tay làm gì?  
Để hiểu rõ hơn, không rồi đến lúc lại hỏi "private key để làm gì?".

B 0 0 B wrote:
@quanta: mình thấy discuss với bạn trouble shoot 3 bài rồi mà ko đâu tới đâu? ko biết do mình hỏi ko hiểu hay bạn ko có kinh nghiệm trên phần cert này,?  
Do bạn không biết cách đặt câu hỏi. À, còn phần cryptography mà bạn nói mình cũng lơ tơ mơ thôi, nhưng ít ra mình cũng hiểu được private key để làm gì.

B 0 0 B wrote:
cái kiểu quăng tài liệu các link và nói đọc đi thì chả thấy help gì, có thể câu trả lời liên quan tới 1 phần nào đó trong link bạn thì bạn trích lại 1 phần đó quăng ra đâu cần phải quăng 1 đống vậy?  
Ừ, nếu bạn thấy thế thì thôi vậy.

B 0 0 B wrote:
tóm lại thấy quanta ko mặn mà mấy cái trouble shoot kiểu này ngoài command linux nên có thể tạm dừng ở đây.  
Mặn mà "mạnh" ấy chứ, nhưng chỉ với những người đưa thông tin một cách đầy đủ, rõ ràng thôi. Còn câu "command linux" là ý gì vậy?]]>
/hvaonline/posts/list/33419.html#214511 /hvaonline/posts/list/33419.html#214511 GMT
Bảo mật Wireless với FreeRADIUS

quanta wrote:
Vấn đề là thằng nào import vào Trusted root, thằng nào để nó auto install. Hỏi 2 lần rồi mà vẫn hỏi lại vì đã trả lời đúng câu hỏi đâu.  
bạn ko đọc lại 2 bài trên à, import vào nhiều chỗ cho mỗi thằng, và mình mix nhiều case thì trường hợp root hoặc client ở chỗ nào cùng nhau hoặc khác nhau cũng có, có thể coi cái chỗ import này ko quan trọng, bạn ko thấy chỗ này ko giải quyết đc gì sao mà cứ tra chỗ này? còn auto import thì mặc định ai cũng biết nó nằm vào thư mục nào rồi ko cần trả lời nữa. vậy bạn đưa ra cái cách import chuẩn xem, mình làm theo thử nó khác ko

quanta wrote:
Do bạn không biết cách đặt câu hỏi. À, còn phần cryptography mà bạn nói mình cũng lơ tơ mơ thôi, nhưng ít ra mình cũng hiểu được private key để làm gì.  
đang hỏi cái password cho private key thôi chứ có hỏi private key làm gì đâu?

quanta wrote:
Mặn mà "mạnh" ấy chứ, nhưng chỉ với những người đưa thông tin một cách đầy đủ, rõ ràng thôi. Còn câu "command linux" là ý gì vậy? 
kiểu như hỏi: command nào tạo ra 100 user, 10 user đầu nằm trong group 1, có quyền là xyz... thì bạn trả lời ào ào đưa ra command, còn hỏi ví dụ như : TLS hoạt động thế nào? cái key nào quan trọng nhất trong quá trình handshake vì sao chẳng hạn thì ko mặn mà :( ]]>
/hvaonline/posts/list/33419.html#214524 /hvaonline/posts/list/33419.html#214524 GMT
Bảo mật Wireless với FreeRADIUS

B 0 0 B wrote:
bạn ko đọc lại 2 bài trên à, import vào nhiều chỗ cho mỗi thằng, và mình mix nhiều case thì trường hợp root hoặc client ở chỗ nào cùng nhau hoặc khác nhau cũng có, có thể coi cái chỗ import này ko quan trọng,  
Nhỡ nó có quan trọng thì sao?

B 0 0 B wrote:
bạn ko thấy chỗ này ko giải quyết đc gì sao mà cứ tra chỗ này?  
Nhỡ nó giải quyết được thì sao?

B 0 0 B wrote:
còn auto import thì mặc định ai cũng biết nó nằm vào thư mục nào rồi ko cần trả lời nữa.  
Ừ, thế thì thôi vậy. Cứ ngồi trộn client cert, server cert và "sau đó search thử trên google bảo import cái CA root vào luôn để nó verify cái client và server cert" rồi thử import vào mmc cũng là một cách.

B 0 0 B wrote:
vậy bạn đưa ra cái cách import chuẩn xem, mình làm theo thử nó khác ko  
- import root cert vào Trusted root - import client cert vào Personal.

B 0 0 B wrote:
đang hỏi cái password cho private key thôi chứ có hỏi private key làm gì đâu?  
Đọc lại nhé:

B 0 0 B wrote:
- còn 1 thắc mắc nữa là mình ko hiểu các file private key dùng để làm gì, các password nhập vào private key để làm gì,?  

B 0 0 B wrote:
kiểu như hỏi: command nào tạo ra 100 user, 10 user đầu nằm trong group 1, có quyền là xyz... thì bạn trả lời ào ào đưa ra command, còn hỏi ví dụ như : TLS hoạt động thế nào? cái key nào quan trọng nhất trong quá trình handshake vì sao chẳng hạn thì ko mặn mà :(  
Cảm ơn bạn đã chỉ ra điểm yếu của mình.]]>
/hvaonline/posts/list/33419.html#214527 /hvaonline/posts/list/33419.html#214527 GMT