Linux හි AnyConnect හි වලංගු නොවන TLS අනුවාදය: පළමුව නිවැරදි කිරීමේ විශාලත්වය තීරණය කරන්න
මුළු host සඳහා LEGACY ප්රතිපත්තිය, එක් එක් ක්රියාවලිය සඳහා OpenSSL වින්යාසය සහ එක් වරක් භාවිතා කරන VM සසඳා, දෝෂය සදාකාලිකව ඉවත් කරන gateway වෙනස්කමද විස්තර කෙරේ.
මෙම දෝෂය මුරපද ඉල්ලීමට පෙර පැමිණේ, එයම ප්රයෝජනවත් කොටසයි: තවම කිසිවක් සත්යාපනය වී නැත, එබැවින් අක්තපත්ර ගැටලුව නොවේ. Linux හි එකම AnyConnect සංවාදය පැරණි ප්රොටෝකෝල අනුවාදයකින්, 1024-බිට් යතුරු හුවමාරු කණ්ඩායමකින්, හෝ පද්ධතියේ ක්රිප්ටෝ ප්රතිපත්තිය ප්රතික්ෂේප කරන සයිෆර කට්ටලයකින් පැමිණිය හැක. මම එය යන්ත්ර තුනක ක්රම තුනකින් ඉවත් කළෙමි, එම විසඳුම් වෙන් කරන දෙය චතුරත්වය නොව බලපෑමේ පරාසයයි. එක් එක් දෙය නිවැරදි තැනක සාධාරණීය සහ අනෙක් සෑම තැනකම නරක පෙරනිමියකි.
ප්රතිපත්තිය ස්පර්ශ කිරීමට පෙර පණිවිඩය කියවන්න
සංවාදයේ ඇති නිශ්චිත අක්ෂර පේළිය තබා ගන්න. අනුවාදය පිළිබඳ පැමිණිල්ල ප්රොටෝකෝල ස්ථරයට, සහතික පිළිබඳ පැමිණිල්ල විශ්වාසයට හෝ නම්කිරීමට, සහ අසාර්ථක පිවිසීම අක්තපත්රවලට යොමු කරයි. TLS 1.0, 1024-බිට් DHE කණ්ඩායම, AES-256-CBC සහ SHA-1 අත්සන ලබා දෙන gateway එකකට සම්පූර්ණයෙන් වලංගු සහතිකයක් තිබිය හැකි අතර ඔබේ අක්තපත්ර යැවීමටත් පෙර නවීන ප්රතිපත්තියක් එය ප්රතික්ෂේප කළ හැක.
පද්ධතියේ OpenSSL සමඟ අන්ත ලක්ෂ්යය පරීක්ෂා කරන්න, සත්ය host නාමය සහ සේවාලාභියා භාවිතා කරන port එක සමඟ.
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com අසාර්ථක වී -tls1 -cipher DEFAULT@SECLEVEL=0 සාර්ථක වුවහොත් සීමාව අනුවාදය සහ යතුරු ප්රමාණය එකට බවයි. පළමු විධානය ප්රොටෝකෝල අනතුරු ඇඟවීමක් වෙනුවට කුඩා DH යතුරක් වාර්තා කරන්නේ නම්, අනුවාදය හොඳයි සහ කණ්ඩායමට පමණක් අවධානය අවශ්යයි. පරීක්ෂාවට කිසි විටෙක පුද්ගලික යතුරක් හෝ මුරපදයක් නොදමන්න.
විකල්පය 1: ක්රිප්ටෝ ප්රතිපත්තියෙන් මුළු host එක ලිහිල් කරන්න
Fedora සහ RHEL 8 සහ 9 හි, update-crypto-policies --set LEGACY OpenSSL හි පද්ධති ප්රතිපත්තිය පහත් කරයි, සහ update-crypto-policies --show සක්රීය දේ තහවුරු කරයි. එය සාමාන්යයෙන් උමග නැවත ලබා දෙයි, නමුත් ප්රතිපත්තිය කියවන්නේ ක්රියාවලියක් ආරම්භ වන විටය, එබැවින් නැවත පරීක්ෂා කිරීමට පෙර සේවාලාභියා සහ එය නිර්මාණය කළ ඕනෑම සහායක ක්රියාවලියක් නැවත අරඹන්න. එය යන්ත්රයේ සෑම TLS සේවාලාභියෙකුටම පැරණි ප්රොටෝකෝල සහ දුර්වල කණ්ඩායම් ද අවසර දෙයි, යාබද කවුළුවේ බ්රවුසරයේ සිට කර්නලය යාවත්කාලීන කරන පැකේජ කළමනාකරු දක්වා.
එම පළලම මුළු අරමුණ සහ මුළු ගැටලුවයි. LEGACY මුළු host එකටම අදාළ වේ, ස්ථිරයි සහ අමතක කිරීම පහසුය, එබැවින් එය රෝග විනිශ්චය පියවරක් හෝ කළමනාකරණය කළ ගොඩනැගීමක ලේඛනගත ව්යතිරේකයක් විය යුතුය, කිසි විටෙක වැඩස්ථානයක විවේක තත්ත්වය නොවිය යුතුය. එක් අභ්යන්තර පෝර්ටලයකට එය අවශ්ය වූ නිසා වසර දෙකක් LEGACY හි රැඳී තිබූ එකක් මම දැක ඇත, එය කවදා ආරම්භ වූයේදැයි කිසිවෙකුට කිව නොහැක.
Debian සහ Ubuntu සතුව මේ සඳහා එකම ස්විචයක් නැත. සමාන දෙය වන්නේ පද්ධති පෙරනිමි කොටසේ අඩු MinProtocol සහ CipherString = DEFAULT@SECLEVEL=0 සකසන /etc/ssl/openssl.cnf සංස්කරණයයි. එම පරාසයම, වෙනත් ගොනුවක්, නිකුතුව උත්ශ්රේණි කිරීමේදී ඇසෙන් ගිලිහීම තරමක් පහසුය.
විකල්පය 2: එක් සේවාලාභියෙකුට එක් වින්යාස ගොනුවක්
එක් එක් ක්රියාවලිය සඳහා OpenSSL වින්යාසය වෙනස්කම එක් ක්රියාවලි ගසක් තුළ තබා ගනී, නමුත් ගොනුව පුස්තකාලය අපේක්ෂා කරන ආකාරයට සම්බන්ධ කර ඇත්නම් පමණි. ssl_conf කොටසක් නම් කිරීම ප්රමාණවත් නොවේ: OpenSSL ඉහළම මට්ටමේ openssl_conf යතුර කියවයි, එය ආරම්භක කොටසක් දක්වා අනුගමනය කරයි, සහ ඉන් පසුව පමණක් SSL පෙරනිමිවලට ළඟා වේ.
openssl_conf = openssl_init
[openssl_init]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=0OPENSSL_CONF එම ගොනුවට යොමු කර VPN සේවාලාභියා එය අපනයනය කරන ආවරණයක් හරහා අරඹන්න. host හි අනෙක් සියල්ල පෙරනිමි ප්රතිපත්තිය තබා ගනී, සහ අනුකූලතා ප්රශ්නය පැමිණි විට වැදගත් වන්නේ එම ගුණාංගයයි. gateway එකට දොස් පැවරීමට පෙර ගොනුව සැබවින්ම බලපවත්වන බව තහවුරු කරන්න: OPENSSL_CONF=/path/to/file openssl ciphers -s -tls1 TLS 1.0 සයිෆර ලැයිස්තුගත කළ යුතුය, සහ හිස් ප්රතිඵලය යනු දාමය බිඳී ඇති අතර සේවාලාභියා නිහඬව පද්ධති පෙරනිමි තබා ගෙන ඇති බවයි.
ගොනුව අනුවාදයට සංවේදීය. OpenSSL 1.1.1 සහ 3.x එකම කොටස් නාම පිළිගනී, නමුත් සැපයුම්කරුවන් වටා ඇති උපදෙස් හැසිරවීම 3.x හි වෙනස් විය, එබැවින් ගොනුව කියවා ඇතැයි උපකල්පනය කරනවාට වඩා සේවාලාභියාගේම ලොගය සහ පරීක්ෂණ හස්ත සම්පර්කයෙන් තහවුරු කරන්න. කොටස් නාමයේ ටයිපෝ දෝෂයක් විවෘතව අසාර්ථක වේ, සහ සේවාලාභියා නිහඬව පද්ධති පෙරනිමි භාවිතා කරයි.
සීමාව ආවරණයයි. GnuTLS හෝ NSS සමඟ සම්බන්ධ කර ඇති ඕනෑම දෙයක් OPENSSL_CONF නොසලකා හරියි, පරිසරය උරුම නොගෙන සේවාලාභියා අරඹන ඕනෑම සහායක ක්රියාවලියක් ද එසේමය. ආවරණය තැනීමට පෙර ldd සමඟ ද්විමය ගොනුව සැබවින්ම සම්බන්ධ වී ඇත්තේ කුමන TLS පුස්තකාලයටදැයි පරීක්ෂා කරන්න, මන්ද පිළිතුරම තීරණය කරන්නේ මෙම විකල්පය ඇත්තේද නැතිද යන්නයි.
විකල්පය 3: එක් වරක් භාවිතා කරන VM හෝ කන්ටේනරය
සති දෙකක් තිස්සේ එක් පැරණි gateway එකකට පහර දෙන කොන්ත්රාත්කරුවෙකුට, ලිහිල් ප්රතිපත්තිය සහිත කැපවූ VM එකක් වැඩස්ථානයට වඩා පිරිසිදු මායිමකි. පැරණි පෘෂ්ඨය සහ දෛනික බ්රවුසර පැතිකඩ තවදුරටත් කර්නල ප්රතිපත්තිය බෙදා නොගනී, සහ බැහැර කිරීම විගණන සොයාගැනීමක් නොව මැකීමකි.
එය තවමත් ජාලගත යන්ත්රයකි, එබැවින් එහි ප්රවේශය සීමා කර සාමාන්ය බ්රවුස් කිරීමෙන් ඉවත්ව තබන්න. නඩත්තු වියදම වන්නේ පැච් කළ යුතු තවත් පින්තූරයක්, එය සැබෑ නමුත් සීමිත සහ දෘශ්යය, ලැප්ටොප් පරිගණකයක අමතක වූ LEGACY ධජයක් මෙන් නොව.
සංසන්දනය ඔබට ඉතිරි කරන දේ
ප්රශ්න තුනකින් තෝරන්න: පැරණි ප්රොටෝකෝලය අවශ්ය කාටද, කොපමණ කාලයකටද, සහ ව්යතිරේකය එහි හේතුවට වඩා ජීවත් වුවහොත් කවුරුන් දකින්නේද. එක් යෙදුමක්, එක් පුද්ගලයෙක්, දින කිහිපයක් ක්රියාවලිය සඳහා වින්යාසයට යොමු කරයි. එක් උපාංගයක් පිටුපස මුළු බලඇණියම gateway එකටම යොමු කරයි. host හි ස්ථිර LEGACY ප්රතිපත්තියක් අවශ්ය ඕනෑම දෙයක් තාක්ෂණික ඇඳුමින් සැරසුණු ලබාගැනීමේ තීරණයකි.
ස්ථාවර නිවැරදි කිරීම උපාංගයට අයත් වේ: TLS 1.2 හෝ ඊට නවතම, අවම වශයෙන් 2048 බිට් කණ්ඩායමක්, AEAD සයිෆරයක්, සහ නවීන අත්සනක් සහිත සහතිකයක්. එම වෙනස්කම උපාංගයේ හිමිකරුගෙන් ඉල්ලා, පසුව සේවාලාභියාගේ ලොගයේ සාකච්ඡා කළ අනුවාදය සහ සයිෆරය තහවුරු කරන්න. ව්යතිරේකය host, gateway, සාකච්ඡා කළ ප්රොටෝකෝලය, අනුමත කරන්නා සහ කල් ඉකුත්වන දිනය සමඟ ලියන්න, මන්ද තාවකාලි විසඳුම පෙරනිමිය බවට පත්වීම වළක්වන්නේ එම සටහනයි.