Linux-ൽ AnyConnect-ന്റെ അസാധുവായ TLS പതിപ്പ്: ആദ്യം പരിഹാരത്തിന്റെ പരിധി നിർണ്ണയിക്കുക
ഹോസ്റ്റ് മുഴുവൻ ബാധിക്കുന്ന LEGACY നയം, ഓരോ പ്രോസസ്സിനുമുള്ള OpenSSL ക്രമീകരണം, ഒറ്റത്തവണ ഉപയോഗിക്കുന്ന VM എന്നിവ താരതമ്യം ചെയ്ത്, പിശക് ശാശ്വതമായി നീക്കുന്ന ഗേറ്റ്വേ മാറ്റവും വിശദീകരിക്കുന്നു.
ഈ പിശക് പാസ്വേഡ് ചോദിക്കുന്നതിന് മുമ്പാണ് വരുന്നത്, അതാണ് ഉപയോഗപ്രദമായ ഭാഗം: ഇതുവരെ ഒന്നും പ്രാമാണീകരിച്ചിട്ടില്ല, അതിനാൽ വിവരങ്ങളല്ല പ്രശ്നം. Linux-ൽ അതേ AnyConnect സംഭാഷണം പഴയ പ്രോട്ടോക്കോൾ പതിപ്പിൽ നിന്നോ, 1024-ബിറ്റ് കീ കൈമാറ്റ ഗ്രൂപ്പിൽ നിന്നോ, സിസ്റ്റത്തിന്റെ ക്രിപ്റ്റോ നയം നിരസിക്കുന്ന സൈഫർ സ്യൂട്ടിൽ നിന്നോ വരാം. മൂന്ന് യന്ത്രങ്ങളിൽ മൂന്ന് വ്യത്യസ്ത വഴികളിൽ ഞാൻ ഇത് നീക്കി, ആ പരിഹാരങ്ങളെ വേർതിരിക്കുന്നത് സാമർഥ്യമല്ല, സ്വാധീനത്തിന്റെ പരിധിയാണ്. ഓരോന്നും ശരിയായ സ്ഥലത്ത് ന്യായീകരിക്കാവുന്നതും മറ്റെല്ലായിടത്തും മോശം സ്ഥിരസ്ഥിതിയുമാണ്.
നയം തൊടുന്നതിന് മുമ്പ് സന്ദേശം വായിക്കുക
സംഭാഷണത്തിൽ നിന്നുള്ള കൃത്യമായ സ്ട്രിംഗ് സൂക്ഷിക്കുക. പതിപ്പിനെക്കുറിച്ചുള്ള പരാതി പ്രോട്ടോക്കോൾ പാളിയെ സൂചിപ്പിക്കുന്നു, സർട്ടിഫിക്കറ്റിനെക്കുറിച്ചുള്ള പരാതി വിശ്വാസത്തെയോ നാമകരണത്തെയോ, ലോഗിൻ പരാജയം വിവരങ്ങളെയോ സൂചിപ്പിക്കുന്നു. TLS 1.0, 1024-ബിറ്റ് DHE ഗ്രൂപ്പ്, AES-256-CBC, SHA-1 ഒപ്പ് എന്നിവ വാഗ്ദാനം ചെയ്യുന്ന ഗേറ്റ്വേയ്ക്ക് പൂർണ്ണമായും സാധുവായ സർട്ടിഫിക്കറ്റ് ഉണ്ടായിരിക്കാം, എന്നിട്ടും നിങ്ങളുടെ വിവരങ്ങൾ അയയ്ക്കുന്നതിന് മുമ്പ് ആധുനിക നയം അതിനെ നിരസിക്കാം.
സിസ്റ്റത്തിന്റെ OpenSSL ഉപയോഗിച്ച് എൻഡ്പോയിന്റ് പരിശോധിക്കുക, യഥാർത്ഥ ഹോസ്റ്റ്നാമും ക്ലയന്റ് ഉപയോഗിക്കുന്ന പോർട്ടും ഉപയോഗിച്ച്.
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com പരാജയപ്പെടുകയും -tls1 -cipher DEFAULT@SECLEVEL=0 വിജയിക്കുകയും ചെയ്യുമ്പോൾ, പരിധി പതിപ്പും കീ വലുപ്പവും ഒരുമിച്ചാണെന്ന് അർത്ഥം. ആദ്യ കമാൻഡ് പ്രോട്ടോക്കോൾ മുന്നറിയിപ്പിന് പകരം ചെറിയ DH കീ റിപ്പോർട്ട് ചെയ്താൽ, പതിപ്പ് കുഴപ്പമില്ല, ഗ്രൂപ്പിന് മാത്രം ശ്രദ്ധ വേണം. പരിശോധനയിൽ ഒരിക്കലും സ്വകാര്യ കീയോ പാസ്വേഡോ ഇടരുത്.
ഓപ്ഷൻ 1: ക്രിപ്റ്റോ നയം ഉപയോഗിച്ച് മുഴുവൻ ഹോസ്റ്റും അയച്ചുവിടുക
Fedora, RHEL 8, 9 എന്നിവയിൽ, update-crypto-policies --set LEGACY OpenSSL-ന്റെ സിസ്റ്റം നയം താഴ്ത്തുന്നു, update-crypto-policies --show എന്താണ് സജീവമെന്ന് ഉറപ്പാക്കുന്നു. ഇത് സാധാരണയായി ടണൽ പുനഃസ്ഥാപിക്കുന്നു, പക്ഷേ പ്രോസസ്സ് ആരംഭിക്കുമ്പോഴാണ് നയം വായിക്കുന്നത്, അതിനാൽ വീണ്ടും പരിശോധിക്കുന്നതിന് മുമ്പ് ക്ലയന്റും അത് സൃഷ്ടിച്ച സഹായ പ്രോസസ്സുകളും പുനരാരംഭിക്കുക. യന്ത്രത്തിലെ എല്ലാ TLS ക്ലയന്റിനും പഴയ പ്രോട്ടോക്കോളുകളും ദുർബല ഗ്രൂപ്പുകളും ഇത് അനുവദിക്കുന്നു, അടുത്ത ജാലകത്തിലെ ബ്രൗസർ മുതൽ കെർണൽ അപ്ഡേറ്റ് ചെയ്യുന്ന പാക്കേജ് മാനേജർ വരെ.
ആ വിശാലതയാണ് ഉദ്ദേശ്യവും പ്രശ്നവും മുഴുവൻ. LEGACY മുഴുവൻ ഹോസ്റ്റിനും ബാധകമാണ്, സ്ഥിരമാണ്, മറക്കാൻ എളുപ്പമാണ്, അതിനാൽ അത് ഒരു ഡയഗ്നോസ്റ്റിക് ഘട്ടമോ മാനേജ് ചെയ്യുന്ന ബിൽഡിൽ രേഖപ്പെടുത്തിയ ഒരു അപവാദമോ ആയിരിക്കണം, ഒരിക്കലും ഒരു വർക്ക്സ്റ്റേഷന്റെ വിശ്രമാവസ്ഥയല്ല. ഒരു ആന്തരിക പോർട്ടലിന് അത് ആവശ്യമായിരുന്നതിനാൽ രണ്ട് വർഷം 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 ക്ലയന്റ് ആരംഭിക്കുക. ഹോസ്റ്റിലെ മറ്റെല്ലാം സ്ഥിരസ്ഥിതി നയം നിലനിർത്തുന്നു, അനുസരണ ചോദ്യം വരുമ്പോൾ പ്രധാനമായത് ആ സവിശേഷതയാണ്. ഗേറ്റ്വേയെ കുറ്റപ്പെടുത്തുന്നതിന് മുമ്പ് ഫയൽ യഥാർത്ഥത്തിൽ പ്രാബല്യത്തിലുണ്ടെന്ന് ഉറപ്പാക്കുക: 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 അല്ലെങ്കിൽ കണ്ടെയ്നർ
രണ്ട് ആഴ്ചയായി ഒരു പഴയ ഗേറ്റ്വേയെ ആക്രമിക്കുന്ന കരാർ ജീവനക്കാരന്, അയച്ചുവിട്ട നയമുള്ള സമർപ്പിത VM വർക്ക്സ്റ്റേഷനെക്കാൾ വൃത്തിയുള്ള അതിർത്തിയാണ്. പഴയ ഉപരിതലവും ദൈനംദിന ബ്രൗസർ പ്രൊഫൈലും ഇനി കെർണൽ നയം പങ്കിടുന്നില്ല, നീക്കം ചെയ്യൽ ഓഡിറ്റ് കണ്ടെത്തലല്ല, ഒരു മായ്ക്കലാണ്.
ഇത് ഇപ്പോഴും നെറ്റ്വർക്കിലുള്ള യന്ത്രമാണ്, അതിനാൽ അതിന്റെ പ്രവേശനം പരിമിതപ്പെടുത്തി പൊതു ബ്രൗസിംഗിൽ നിന്ന് അകറ്റി നിർത്തുക. പരിപാലന ചെലവ് പാച്ച് ചെയ്യേണ്ട മറ്റൊരു ഇമേജാണ്, അത് യാഥാർത്ഥ്യമാണെങ്കിലും പരിമിതവും ദൃശ്യവുമാണ്, ലാപ്ടോപ്പിൽ മറന്ന LEGACY കൊടി പോലെയല്ല.
താരതമ്യം നിങ്ങൾക്ക് അവശേഷിപ്പിക്കുന്നത്
മൂന്ന് ചോദ്യങ്ങളിൽ തിരഞ്ഞെടുക്കുക: പഴയ പ്രോട്ടോക്കോൾ ആർക്ക് വേണം, എത്ര കാലത്തേക്ക്, അപവാദം അതിന്റെ കാരണത്തെ അതിജീവിച്ചാൽ ആര് ശ്രദ്ധിക്കും. ഒരു ആപ്പ്, ഒരു വ്യക്തി, കുറച്ച് ദിവസം എന്നിവ പ്രോസസ്സിനുള്ള ക്രമീകരണത്തിലേക്ക് വിരൽ ചൂണ്ടുന്നു. ഒരു ഉപകരണത്തിന് പിന്നിലെ മുഴുവൻ കൂട്ടവും ഗേറ്റ്വേയിലേക്ക് തന്നെ ചൂണ്ടുന്നു. ഹോസ്റ്റിൽ സ്ഥിരമായ LEGACY നയം ആവശ്യമുള്ള എന്തും സാങ്കേതിക വേഷം ധരിച്ച ഒരു സംഭരണ തീരുമാനമാണ്.
നിലനിൽക്കുന്ന പരിഹാരം ഉപകരണത്തിനാണ്: TLS 1.2 അല്ലെങ്കിൽ അതിനുശേഷമുള്ളത്, കുറഞ്ഞത് 2048 ബിറ്റ് ഗ്രൂപ്പ്, AEAD സൈഫർ, ആധുനിക ഒപ്പുള്ള സർട്ടിഫിക്കറ്റ്. ആ മാറ്റം ഉപകരണ ഉടമയോട് ആവശ്യപ്പെടുക, തുടർന്ന് ചർച്ച ചെയ്ത പതിപ്പും സൈഫറും ക്ലയന്റ് ലോഗിൽ ഉറപ്പാക്കുക. ഹോസ്റ്റ്, ഗേറ്റ്വേ, ചർച്ച ചെയ്ത പ്രോട്ടോക്കോൾ, അംഗീകാരം നൽകുന്നയാൾ, കാലഹരണ തീയതി എന്നിവയോടെ അപവാദം രേഖപ്പെടുത്തുക, കാരണം താൽക്കാലിക പരിഹാരം സ്ഥിരസ്ഥിതിയാകുന്നത് തടയുന്നത് ആ കുറിപ്പാണ്.