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 సైఫర్, మరియు ఆధునిక సంతకంతో సర్టిఫికెట్. ఆ మార్పును పరికర యజమానిని అడగండి, తర్వాత క్లయింట్ లాగ్లో సమావేశమైన వెర్షన్ మరియు సైఫర్ను నిర్ధారించండి. మినహాయింపును హోస్ట్, గేట్వే, సమావేశమైన ప్రోటోకాల్, ఆమోదించిన వ్యక్తి మరియు ముగింపు తేదీతో రాయండి, ఎందుకంటే తాత్కాలిక పరిష్కారం డిఫాల్ట్ కాకుండా నిరోధించేది ఆ నోట్.