Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

సాధారణ పాస్‌వర్డ్‌లు సురక్షితం కావు మరియు సంక్లిష్టమైన వాటిని గుర్తుంచుకోవడం అసాధ్యం. అందుకే అవి చాలా తరచుగా కీబోర్డ్ కింద లేదా మానిటర్‌పై స్టిక్కీ నోట్‌లో ముగుస్తాయి. పాస్‌వర్డ్‌లు "మర్చిపోయిన" వినియోగదారుల మనస్సులో ఉండేలా మరియు రక్షణ యొక్క విశ్వసనీయత కోల్పోకుండా ఉండేలా, రెండు-కారకాల ప్రమాణీకరణ (2FA) ఉంది.

పరికరాన్ని స్వంతం చేసుకోవడం మరియు దాని పిన్‌ని తెలుసుకోవడం వంటి వాటి కలయిక కారణంగా, పిన్ కూడా సులభంగా మరియు గుర్తుంచుకోవడానికి సులభంగా ఉంటుంది. PIN పొడవు లేదా యాదృచ్ఛికతలో ప్రతికూలతలు భౌతిక స్వాధీనం అవసరం మరియు PIN బ్రూట్ ఫోర్స్‌పై పరిమితుల ద్వారా భర్తీ చేయబడతాయి.

అదనంగా, GOST ప్రకారం ప్రతిదీ పని చేయాలని వారు కోరుకునే ప్రభుత్వ సంస్థలలో ఇది జరుగుతుంది. Linux లోకి లాగిన్ చేయడానికి ఈ 2FA ఎంపిక చర్చించబడుతుంది. నేను దూరం నుండి ప్రారంభిస్తాను.

PAM మాడ్యూల్స్

ప్లగ్గబుల్ అథెంటికేషన్ మాడ్యూల్స్ (PAM) అనేది ప్రామాణిక APIతో కూడిన మాడ్యూల్స్ మరియు అప్లికేషన్‌లలో వివిధ ప్రామాణీకరణ విధానాల అమలు.
PAMతో పని చేయగల అన్ని యుటిలిటీలు మరియు అప్లికేషన్‌లు వాటిని ఎంచుకొని వినియోగదారు ప్రమాణీకరణ కోసం వాటిని ఉపయోగించవచ్చు.
ఆచరణలో, ఇది ఇలాగే పని చేస్తుంది: లాగిన్ కమాండ్ PAM అని పిలుస్తుంది, ఇది కాన్ఫిగరేషన్ ఫైల్‌లో పేర్కొన్న మాడ్యూళ్ళను ఉపయోగించి అవసరమైన అన్ని తనిఖీలను నిర్వహిస్తుంది మరియు ఫలితాన్ని తిరిగి లాగిన్ ఆదేశానికి అందిస్తుంది.

librtpam

Aktiv కంపెనీ అభివృద్ధి చేసిన మాడ్యూల్ దేశీయ క్రిప్టోగ్రఫీ యొక్క తాజా ప్రమాణాల ప్రకారం అసమాన కీలను ఉపయోగించి స్మార్ట్ కార్డ్‌లు లేదా USB టోకెన్‌లను ఉపయోగించే వినియోగదారుల యొక్క రెండు-కారకాల ప్రమాణీకరణను జోడిస్తుంది.

దాని ఆపరేషన్ సూత్రాన్ని చూద్దాం:

  • టోకెన్ వినియోగదారు సర్టిఫికేట్ మరియు దాని ప్రైవేట్ కీని నిల్వ చేస్తుంది;
  • సర్టిఫికేట్ వినియోగదారు హోమ్ డైరెక్టరీలో విశ్వసనీయమైనదిగా సేవ్ చేయబడింది.

ధృవీకరణ ప్రక్రియ క్రింది విధంగా జరుగుతుంది:

  1. Rutoken వినియోగదారు వ్యక్తిగత ప్రమాణపత్రం కోసం శోధిస్తుంది.
  2. టోకెన్ పిన్ అభ్యర్థించబడింది.
  3. యాదృచ్ఛిక డేటా నేరుగా రుటోకెన్ చిప్‌లోని ప్రైవేట్ కీపై సంతకం చేయబడింది.
  4. ఫలితంగా సంతకం వినియోగదారు సర్టిఫికేట్ నుండి పబ్లిక్ కీని ఉపయోగించి ధృవీకరించబడుతుంది.
  5. మాడ్యూల్ సంతకం ధృవీకరణ ఫలితాన్ని కాలింగ్ అప్లికేషన్‌కు అందిస్తుంది.

మీరు GOST R 34.10-2012 కీలు (పొడవు 256 లేదా 512 బిట్‌లు) లేదా కాలం చెల్లిన GOST R 34.10-2001ని ఉపయోగించి ప్రమాణీకరించవచ్చు.

మీరు కీల భద్రత గురించి చింతించాల్సిన అవసరం లేదు - అవి నేరుగా రుటోకెన్‌లో ఉత్పత్తి చేయబడతాయి మరియు క్రిప్టోగ్రాఫిక్ కార్యకలాపాల సమయంలో దాని మెమరీని ఎప్పటికీ వదిలివేయవు.

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

రుటోకెన్ EDS 2.0 NDV 4 ప్రకారం FSB మరియు FSTECచే ధృవీకరించబడింది, కాబట్టి ఇది రహస్య సమాచారాన్ని ప్రాసెస్ చేసే సమాచార వ్యవస్థలలో ఉపయోగించవచ్చు.

ఆచరణాత్మక ఉపయోగం

దాదాపు ఏ ఆధునిక Linux అయినా చేస్తుంది, ఉదాహరణకు మేము xUbuntu 18.10ని ఉపయోగిస్తాము.

1) అవసరమైన ప్యాకేజీలను ఇన్‌స్టాల్ చేయండి

sudo apt-get install libccid pcscd opensc
మీరు స్క్రీన్‌సేవర్‌తో డెస్క్‌టాప్ లాక్‌ని జోడించాలనుకుంటే, ప్యాకేజీని అదనంగా ఇన్‌స్టాల్ చేయండి libpam-pkcs11.

2) GOST మద్దతుతో PAM మాడ్యూల్‌ను జోడించండి

నుండి లైబ్రరీని లోడ్ చేస్తోంది https://download.rutoken.ru/Rutoken/PAM/
PAM ఫోల్డర్ librtpam.so.1.0.0 కంటెంట్‌లను సిస్టమ్ ఫోల్డర్‌కు కాపీ చేయండి
/usr/lib/ లేదా /usr/lib/x86_64-linux-gnu/లేదా /usr/lib64

3) librtpkcs11ecp.soతో ప్యాకేజీని ఇన్‌స్టాల్ చేయండి

లింక్ నుండి DEB లేదా RPM ప్యాకేజీని డౌన్‌లోడ్ చేసి, ఇన్‌స్టాల్ చేయండి: https://www.rutoken.ru/support/download/pkcs/

4) సిస్టమ్‌లో Rutoken EDS 2.0 పనిచేస్తుందో లేదో తనిఖీ చేయండి

టెర్మినల్‌లో మేము అమలు చేస్తాము
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
లైన్ చూస్తే Rutoken ECP <no label> - ప్రతిదీ సరిగ్గా ఉందని అర్థం.

5) సర్టిఫికేట్ చదవండి

పరికరానికి ప్రమాణపత్రం ఉందో లేదో తనిఖీ చేస్తోంది
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
లైన్ తర్వాత ఉంటే:
Using slot 0 with a present token (0x0)

  • సమాచారం ప్రదర్శించబడుతుంది కీలు మరియు ధృవపత్రాల గురించి, మీరు సర్టిఫికేట్‌ను చదివి డిస్క్‌లో సేవ్ చేయాలి. దీన్ని చేయడానికి, కింది ఆదేశాన్ని అమలు చేయండి, ఇక్కడ {id}కి బదులుగా మీరు మునుపటి కమాండ్ అవుట్‌పుట్‌లో చూసిన సర్టిఫికేట్ IDని భర్తీ చేయాలి:
    $ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
    cert.crt ఫైల్ సృష్టించబడి ఉంటే, 6వ దశకు వెళ్లండి).
  • అక్కడ ఏమీలేదు, అప్పుడు పరికరం ఖాళీగా ఉంది. తదుపరి దశను అనుసరించడం ద్వారా మీ నిర్వాహకుడిని సంప్రదించండి లేదా కీలు మరియు ప్రమాణపత్రాన్ని మీరే సృష్టించండి.

5.1) పరీక్ష ప్రమాణపత్రాన్ని సృష్టించండి

శ్రద్ధ! కీలు మరియు సర్టిఫికేట్‌లను రూపొందించడానికి వివరించిన పద్ధతులు పరీక్షకు అనుకూలంగా ఉంటాయి మరియు పోరాట మోడ్‌లో ఉపయోగించడానికి ఉద్దేశించబడలేదు. దీన్ని చేయడానికి, మీరు మీ సంస్థ యొక్క విశ్వసనీయ ధృవీకరణ అధికారం లేదా గుర్తింపు పొందిన ధృవీకరణ అధికారం ద్వారా జారీ చేయబడిన కీలు మరియు ప్రమాణపత్రాలను ఉపయోగించాలి.
PAM మాడ్యూల్ స్థానిక కంప్యూటర్‌లను రక్షించడానికి రూపొందించబడింది మరియు చిన్న సంస్థలలో పని చేయడానికి రూపొందించబడింది. కొంతమంది వినియోగదారులు ఉన్నందున, నిర్వాహకుడు సర్టిఫికేట్‌ల ఉపసంహరణను పర్యవేక్షించగలరు మరియు ఖాతాలను మాన్యువల్‌గా బ్లాక్ చేయగలరు, అలాగే సర్టిఫికెట్ల చెల్లుబాటు వ్యవధి. PAM మాడ్యూల్‌కి CRLలను ఉపయోగించి సర్టిఫికేట్‌లను ఎలా ధృవీకరించాలో మరియు విశ్వసనీయ గొలుసులను ఎలా నిర్మించాలో ఇంకా తెలియదు.

సులభమైన మార్గం (బ్రౌజర్ ద్వారా)

పరీక్ష ప్రమాణపత్రాన్ని పొందడానికి, ఉపయోగించండి వెబ్ సర్వీస్ "రుటోకెన్ రిజిస్ట్రేషన్ సెంటర్". ప్రక్రియ 5 నిమిషాల కంటే ఎక్కువ సమయం పట్టదు.

గీక్ యొక్క మార్గం (కన్సోల్ మరియు బహుశా కంపైలర్ ద్వారా)

OpenSC సంస్కరణను తనిఖీ చేయండి
$ opensc-tool --version
సంస్కరణ 0.20 కంటే తక్కువగా ఉంటే, అప్‌డేట్ చేయండి లేదా బిల్డ్ చేయండి GOST-11 మద్దతుతో pkcs2012-టూల్ శాఖ మా GitHub నుండి (ఈ కథనం యొక్క ప్రచురణ సమయంలో, విడుదల 0.20 ఇంకా విడుదల కాలేదు) లేదా ప్రధాన OpenSC ప్రాజెక్ట్ యొక్క మాస్టర్ బ్రాంచ్ నుండి 8cf1e6f కట్టుబడి

కింది పారామితులతో కీ జతని రూపొందించండి:
--key-type: GOSTR3410-2012-512:А (ГОСТ-2012 512 бит c парамсетом А), GOSTR3410-2012-256:A (ГОСТ-2012 256 бит с парамсетом A)

--id: ఆబ్జెక్ట్ ఐడెంటిఫైయర్ (CKA_ID) ASCII పట్టిక నుండి రెండు అంకెల హెక్స్ అక్షర సంఖ్యలుగా. ముద్రించదగిన అక్షరాల కోసం ASCII కోడ్‌లను మాత్రమే ఉపయోగించండి, ఎందుకంటే... ఐడిని స్ట్రింగ్‌గా OpenSSLకి పాస్ చేయాలి. ఉదాహరణకు, ASCII కోడ్ “3132” స్ట్రింగ్ “12”కి అనుగుణంగా ఉంటుంది. సౌలభ్యం కోసం, మీరు ఉపయోగించవచ్చు స్ట్రింగ్‌లను ASCII కోడ్‌లుగా మార్చడానికి ఆన్‌లైన్ సేవ.

$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132

తరువాత మేము ఒక సర్టిఫికేట్ను సృష్టిస్తాము. రెండు మార్గాలు క్రింద వివరించబడతాయి: మొదటిది CA ద్వారా (మేము పరీక్ష CAలను ఉపయోగిస్తాము), రెండవది స్వీయ సంతకం. దీన్ని చేయడానికి, మాన్యువల్‌ని ఉపయోగించి ప్రత్యేక rtengine మాడ్యూల్ ద్వారా Rutokenతో పని చేయడానికి మీరు ముందుగా OpenSSL వెర్షన్ 1.1 లేదా తర్వాత ఇన్‌స్టాల్ చేసి కాన్ఫిగర్ చేయాలి. OpenSSLని ఇన్‌స్టాల్ చేయడం మరియు కాన్ఫిగర్ చేయడం.
ఉదాహరణకు: '- కోసం-id 3132' OpenSSL లో మీరు పేర్కొనాలి "pkcs11:id=12".

మీరు పరీక్ష CA సేవలను ఉపయోగించవచ్చు, వీటిలో చాలా ఉన్నాయి, ఉదాహరణకు, ఇక్కడ, ఇక్కడ и ఇక్కడ, దీని కోసం మేము సర్టిఫికేట్ కోసం అభ్యర్థనను సృష్టిస్తాము

మరొక ఎంపిక ఏమిటంటే, సోమరితనానికి లొంగిపోయి స్వీయ సంతకాన్ని సృష్టించడం
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr

పరికరానికి ప్రమాణపత్రాన్ని అప్‌లోడ్ చేస్తోంది
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer

6) సిస్టమ్‌లో సర్టిఫికేట్‌ను నమోదు చేయండి

మీ సర్టిఫికేట్ బేస్64 ఫైల్ లాగా ఉందని నిర్ధారించుకోండి:

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

మీ సర్టిఫికేట్ ఇలా కనిపిస్తే:

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

అప్పుడు మీరు ధృవీకరణ పత్రాన్ని DER ఫార్మాట్ నుండి PEM ఆకృతికి మార్చాలి (base64)

$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
ఇప్పుడు ప్రతిదీ సరిగ్గా ఉందని మేము మళ్లీ తనిఖీ చేస్తాము.

విశ్వసనీయ ధృవపత్రాల జాబితాకు ప్రమాణపత్రాన్ని జోడించండి
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates

చివరి పంక్తి విశ్వసనీయ ధృవపత్రాల జాబితాను ఇతర వినియోగదారులు అనుకోకుండా లేదా ఉద్దేశపూర్వకంగా మార్చకుండా రక్షిస్తుంది. ఇది ఎవరైనా వారి సర్టిఫికేట్‌ను ఇక్కడ జోడించకుండా మరియు మీ తరపున లాగిన్ చేయడాన్ని నిరోధిస్తుంది.

7) ప్రమాణీకరణను సెటప్ చేయండి

మా PAM మాడ్యూల్‌ని సెటప్ చేయడం పూర్తిగా ప్రామాణికం మరియు ఇతర మాడ్యూల్‌లను సెటప్ చేసే విధంగానే జరుగుతుంది. ఫైల్ చేయడానికి సృష్టించండి /usr/share/pam-configs/rutoken-gost-pam మాడ్యూల్ యొక్క పూర్తి పేరు, అది డిఫాల్ట్‌గా ప్రారంభించబడిందా, మాడ్యూల్ యొక్క ప్రాధాన్యత మరియు ప్రామాణీకరణ పారామితులను కలిగి ఉంటుంది.
ప్రామాణీకరణ పారామితులు ఆపరేషన్ విజయవంతం కావడానికి అవసరాలను కలిగి ఉంటాయి:

  • అవసరం: అటువంటి మాడ్యూల్స్ తప్పనిసరిగా సానుకూల ప్రతిస్పందనను అందించాలి. మాడ్యూల్ కాల్ ఫలితం ప్రతికూల ప్రతిస్పందనను కలిగి ఉంటే, ఇది ప్రామాణీకరణ లోపానికి దారి తీస్తుంది. అభ్యర్థన తొలగించబడుతుంది, కానీ మిగిలిన మాడ్యూల్స్ కాల్ చేయబడతాయి.
  • ఆవశ్యకత: అవసరాన్ని పోలి ఉంటుంది, కానీ వెంటనే ప్రామాణీకరణ విఫలమవుతుంది మరియు ఇతర మాడ్యూళ్లను విస్మరిస్తుంది.
  • తగినంత: అటువంటి మాడ్యూల్‌కు ముందు అవసరమైన లేదా తగినంత మాడ్యూల్‌లు ఏవీ ప్రతికూల ఫలితాన్ని అందించకపోతే, మాడ్యూల్ సానుకూల ప్రతిస్పందనను అందిస్తుంది. మిగిలిన మాడ్యూల్‌లు విస్మరించబడతాయి.
  • ఐచ్ఛికం: స్టాక్‌పై అవసరమైన మాడ్యూల్‌లు ఏవీ లేకుంటే మరియు తగినంత మాడ్యూల్‌లు ఏవీ సానుకూల ఫలితాన్ని అందించకపోతే, కనీసం ఐచ్ఛిక మాడ్యూల్‌లలో ఏదైనా సానుకూల ఫలితాన్ని అందించాలి.

పూర్తి ఫైల్ విషయాలు /usr/share/pam-configs/rutoken-gost-pam:
Name: Rutoken PAM GOST
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient /usr/lib/librtpam.so.1.0.0 /usr/lib/librtpkcs11ecp.so

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

ఫైల్‌ను సేవ్ చేసి, ఆపై అమలు చేయండి
$ sudo pam-auth-update
కనిపించే విండోలో, దాని పక్కన నక్షత్రం ఉంచండి రుటోకెన్ PAM GOST క్లిక్ చేయండి OK

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

8) సెట్టింగ్‌లను తనిఖీ చేయండి

ప్రతిదీ కాన్ఫిగర్ చేయబడిందని అర్థం చేసుకోవడానికి, అదే సమయంలో సిస్టమ్‌లోకి లాగిన్ అయ్యే సామర్థ్యాన్ని కోల్పోకుండా, ఆదేశాన్ని నమోదు చేయండి
$ sudo login
మీ వినియోగదారు పేరును నమోదు చేయండి. సిస్టమ్‌కు పరికర పిన్ కోడ్ అవసరమైతే ప్రతిదీ సరిగ్గా కాన్ఫిగర్ చేయబడుతుంది.

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

9) టోకెన్‌ని సంగ్రహించినప్పుడు బ్లాక్ చేయబడే కంప్యూటర్‌ను కాన్ఫిగర్ చేయండి

ప్యాకేజీలో చేర్చబడింది libpam-pkcs11 యుటిలిటీ చేర్చబడింది pkcs11_eventmgr, ఇది PKCS#11 ఈవెంట్‌లు సంభవించినప్పుడు వివిధ చర్యలను చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
సెట్టింగుల కోసం pkcs11_eventmgr కాన్ఫిగరేషన్ ఫైల్‌గా పనిచేస్తుంది: /etc/pam_pkcs11/pkcs11_eventmgr.conf
వివిధ Linux పంపిణీల కోసం, స్మార్ట్ కార్డ్ లేదా టోకెన్ తీసివేయబడినప్పుడు ఖాతా లాక్ చేయబడే ఆదేశం భిన్నంగా ఉంటుంది. సెం.మీ. event card_remove.
ఉదాహరణ కాన్ఫిగరేషన్ ఫైల్ క్రింద చూపబడింది:

pkcs11_eventmgr
{
    # Запуск в бэкграунде
    daemon = true;
     
    # Настройка сообщений отладки
    debug = false;
 
    # Время опроса в секундах
    polling_time = 1;
 
    # Установка тайм-аута на удаление карты
    # По-умолчанию 0
    expire_time = 0;
 
    # Выбор pkcs11 библиотеки для работы с Рутокен
    pkcs11_module = usr/lib/librtpkcs11ecp.so;
 
    # Действия с картой
    # Карта вставлена:
    event card_insert {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore ;
 
        action = "/bin/false";
    }
 
    # Карта извлечена
    event card_remove {
        on_error = ignore;
         
        # Вызываем функцию блокировки экрана
        
        # Для GNOME 
        action = "dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock";
        
        # Для XFCE
        # action = "xflock4";
        
        # Для Astra Linux (FLY)
        # action = "fly-wmfunc FLYWM_LOCK";
    }
 
    # Карта долгое время извлечена
    event expire_time {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore;
 
        action = "/bin/false";
    }
}

ఆ తర్వాత అప్లికేషన్ జోడించండి pkcs11_eventmgr ప్రారంభానికి. దీన్ని చేయడానికి, .bash_profile ఫైల్‌ని సవరించండి:
$ nano /home/<имя_пользователя>/.bash_profile
ఫైల్ చివర pkcs11_eventmgr లైన్‌ని జోడించి రీబూట్ చేయండి.

ఆపరేటింగ్ సిస్టమ్‌ను సెటప్ చేయడానికి వివరించిన దశలను దేశీయ వాటితో సహా ఏదైనా ఆధునిక Linux పంపిణీలో సూచనలుగా ఉపయోగించవచ్చు.

Rutokenలో GOST-2012 కీలను ఉపయోగించి Linuxలో స్థానిక ప్రమాణీకరణ కోసం PAM మాడ్యూల్‌లను ఎలా ఉపయోగించాలి

తీర్మానం

Linux PCలు రష్యన్ ప్రభుత్వ ఏజెన్సీలలో బాగా ప్రాచుర్యం పొందుతున్నాయి మరియు ఈ OSలో విశ్వసనీయమైన రెండు-కారకాల ప్రమాణీకరణను సెటప్ చేయడం ఎల్లప్పుడూ సులభం కాదు. ఈ గైడ్‌తో “పాస్‌వర్డ్ సమస్యను” పరిష్కరించడంలో మీకు సహాయపడటానికి మేము సంతోషిస్తాము మరియు దానిపై ఎక్కువ సమయం వెచ్చించకుండా మీ PCకి ప్రాప్యతను విశ్వసనీయంగా రక్షించండి.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి