SFTP మరియు FTPS ప్రోటోకాల్‌లు

ముందుమాట

కేవలం ఒక వారం క్రితం నేను టైటిల్‌లో సూచించిన అంశంపై ఒక వ్యాసం వ్రాస్తున్నాను మరియు ఇంటర్నెట్‌లో అంత విద్యా సమాచారం లేదని చెప్పండి. ఎక్కువగా పొడి వాస్తవాలు మరియు సెటప్ సూచనలు. అందువల్ల, నేను వచనాన్ని కొద్దిగా సరిచేసి వ్యాసంగా పోస్ట్ చేయాలని నిర్ణయించుకున్నాను.

FTP అంటే ఏమిటి

FTP (ఫైల్ ట్రాన్స్‌ఫర్ ప్రోటోకాల్) అనేది నెట్‌వర్క్ ద్వారా ఫైల్‌లను బదిలీ చేయడానికి ఒక ప్రోటోకాల్. ఇది ప్రాథమిక ఈథర్నెట్ ప్రోటోకాల్‌లలో ఒకటి. 1971లో కనిపించారు మరియు మొదట్లో DARPA నెట్‌వర్క్‌లలో పనిచేశారు. ప్రస్తుతం, HTTP వలె, ఫైల్ బదిలీ TCP/IP (ట్రాన్స్‌మిషన్ కంట్రోల్ ప్రోటోకాల్/ఇంటర్నెట్ ప్రోటోకాల్) ప్రోటోకాల్‌ల సెట్‌తో కూడిన మోడల్‌పై ఆధారపడి ఉంటుంది. RFC 959లో నిర్వచించబడింది.

ప్రోటోకాల్ క్రింది వాటిని నిర్వచిస్తుంది:

  • లోపం తనిఖీ ఎలా నిర్వహించబడుతుంది?
  • డేటా ప్యాకేజింగ్ పద్ధతి (ప్యాకేజింగ్ ఉపయోగించినట్లయితే)
  • పంపే పరికరం సందేశాన్ని పూర్తి చేసిందని ఎలా సూచిస్తుంది?
  • స్వీకరించే పరికరం సందేశాన్ని స్వీకరించినట్లు ఎలా సూచిస్తుంది?

క్లయింట్ మరియు సర్వర్ మధ్య కమ్యూనికేషన్

FTP ఆపరేషన్ సమయంలో సంభవించే ప్రక్రియలను నిశితంగా పరిశీలిద్దాం. వినియోగదారు ప్రోటోకాల్ ఇంటర్‌ప్రెటర్ ద్వారా కనెక్షన్ ప్రారంభించబడింది. మార్పిడి TELNET ప్రమాణంలో నియంత్రణ ఛానెల్ ద్వారా నియంత్రించబడుతుంది. FTP ఆదేశాలు వినియోగదారు ప్రోటోకాల్ ఇంటర్‌ప్రెటర్ ద్వారా రూపొందించబడతాయి మరియు సర్వర్‌కు పంపబడతాయి. సర్వర్ ప్రతిస్పందనలు కూడా నియంత్రణ ఛానెల్ ద్వారా వినియోగదారుకు పంపబడతాయి. సాధారణంగా, వినియోగదారు సర్వర్ యొక్క ప్రోటోకాల్ ఇంటర్‌ప్రెటర్‌తో మరియు వినియోగదారు యొక్క వ్యాఖ్యాత కాకుండా ఇతర మార్గాల ద్వారా పరిచయాన్ని ఏర్పరచుకునే సామర్థ్యాన్ని కలిగి ఉంటారు.

FTP యొక్క ప్రధాన లక్షణం ఇది ద్వంద్వ కనెక్షన్లను ఉపయోగిస్తుంది. వాటిలో ఒకటి సర్వర్‌కు ఆదేశాలను పంపడానికి ఉపయోగించబడుతుంది మరియు TCP పోర్ట్ 21 ద్వారా డిఫాల్ట్‌గా జరుగుతుంది, దీనిని మార్చవచ్చు. క్లయింట్ సర్వర్‌తో కమ్యూనికేట్ చేస్తున్నంత వరకు నియంత్రణ కనెక్షన్ ఉంటుంది. మెషీన్‌ల మధ్య డేటాను బదిలీ చేసేటప్పుడు కంట్రోల్ ఛానెల్ తప్పక తెరిచి ఉండాలి. ఇది మూసివేయబడితే, డేటా ప్రసారం ఆగిపోతుంది. రెండవ ద్వారా, ప్రత్యక్ష డేటా బదిలీ జరుగుతుంది. క్లయింట్ మరియు సర్వర్ మధ్య ఫైల్ బదిలీ జరిగిన ప్రతిసారీ ఇది తెరవబడుతుంది. అనేక ఫైల్‌లు ఏకకాలంలో బదిలీ చేయబడితే, వాటిలో ప్రతి ఒక్కటి దాని స్వంత ప్రసార ఛానెల్‌ని తెరుస్తుంది.

FTP యాక్టివ్ లేదా పాసివ్ మోడ్‌లో పనిచేయగలదు, దీని ఎంపిక కనెక్షన్ ఎలా ఏర్పాటు చేయబడిందో నిర్ణయిస్తుంది. సక్రియ మోడ్‌లో, క్లయింట్ సర్వర్‌తో TCP నియంత్రణ కనెక్షన్‌ను సృష్టిస్తుంది మరియు దాని IP చిరునామా మరియు ఏకపక్ష క్లయింట్ పోర్ట్ నంబర్‌ను సర్వర్‌కు పంపుతుంది, ఆపై ఈ చిరునామా మరియు పోర్ట్ నంబర్‌తో సర్వర్ TCP కనెక్షన్‌ను ప్రారంభించే వరకు వేచి ఉంటుంది. క్లయింట్ ఫైర్‌వాల్ వెనుక ఉండి, ఇన్‌కమింగ్ TCP కనెక్షన్‌ని ఆమోదించలేకపోతే, నిష్క్రియ మోడ్‌ని ఉపయోగించవచ్చు. ఈ మోడ్‌లో, క్లయింట్ సర్వర్‌కు PASV కమాండ్‌ను పంపడానికి నియంత్రణ ప్రవాహాన్ని ఉపయోగిస్తుంది, ఆపై సర్వర్ నుండి దాని IP చిరునామా మరియు పోర్ట్ నంబర్‌ను పొందుతుంది, క్లయింట్ తన ఏకపక్ష పోర్ట్ నుండి డేటా ప్రవాహాన్ని తెరవడానికి ఉపయోగిస్తుంది.

డేటా మూడవ మెషీన్‌కు బదిలీ చేయబడే అవకాశం ఉంది. ఈ సందర్భంలో, వినియోగదారు రెండు సర్వర్‌లతో నియంత్రణ ఛానెల్‌ని నిర్వహిస్తారు మరియు వాటి మధ్య ప్రత్యక్ష డేటా ఛానెల్‌ని నిర్వహిస్తారు. నియంత్రణ ఆదేశాలు వినియోగదారు ద్వారా వెళ్తాయి మరియు డేటా నేరుగా సర్వర్‌ల మధ్య వెళుతుంది.

నెట్‌వర్క్ ద్వారా డేటాను ప్రసారం చేస్తున్నప్పుడు, నాలుగు డేటా ప్రాతినిధ్యాలను ఉపయోగించవచ్చు:

  • ASCII - టెక్స్ట్ కోసం ఉపయోగించబడుతుంది. డేటా, అవసరమైతే, పంపే హోస్ట్‌లోని అక్షర ప్రాతినిధ్యం నుండి ప్రసారానికి ముందు "ఎనిమిది-బిట్ ASCII"కి మరియు (మళ్ళీ, అవసరమైతే) స్వీకరించే హోస్ట్‌లోని అక్షర ప్రాతినిధ్యంగా మార్చబడుతుంది. ముఖ్యంగా, కొత్త లైన్ అక్షరాలు మార్చబడ్డాయి. ఫలితంగా, ఈ మోడ్ కేవలం సాదా వచనం కంటే ఎక్కువ ఉన్న ఫైల్‌లకు తగినది కాదు.
  • బైనరీ మోడ్ - పంపే పరికరం ప్రతి ఫైల్ బైట్‌ను బైట్ ద్వారా పంపుతుంది మరియు గ్రహీత రసీదుపై బైట్‌ల స్ట్రీమ్‌ను నిల్వ చేస్తుంది. అన్ని FTP అమలులకు ఈ మోడ్‌కు మద్దతు సిఫార్సు చేయబడింది.
  • EBCDIC – EBCDIC ఎన్‌కోడింగ్‌లో హోస్ట్‌ల మధ్య సాదా వచనాన్ని బదిలీ చేయడానికి ఉపయోగించబడుతుంది. లేకపోతే, ఈ మోడ్ ASCII మోడ్‌ను పోలి ఉంటుంది.
  • స్థానిక మోడ్ - ASCIIకి మార్చకుండా తమ స్వంత ఫార్మాట్‌లో డేటాను పంపడానికి ఒకే విధమైన సెట్టింగ్‌లతో ఉన్న రెండు కంప్యూటర్‌లను అనుమతిస్తుంది.

డేటా బదిలీని మూడు మోడ్‌లలో దేనిలోనైనా నిర్వహించవచ్చు:

  • స్ట్రీమ్ మోడ్ - డేటా నిరంతర స్ట్రీమ్‌గా పంపబడుతుంది, ఏదైనా ప్రాసెసింగ్ చేయకుండా FTPని విముక్తి చేస్తుంది. బదులుగా, అన్ని ప్రాసెసింగ్ TCP ద్వారా చేయబడుతుంది. డేటాను రికార్డ్‌లుగా విభజించడానికి తప్ప ఫైల్ ముగింపు సూచిక అవసరం లేదు.
  • బ్లాక్ మోడ్ - FTP డేటాను అనేక బ్లాక్‌లుగా విభజిస్తుంది (హెడర్ బ్లాక్, బైట్‌ల సంఖ్య, డేటా ఫీల్డ్) ఆపై వాటిని TCPకి ప్రసారం చేస్తుంది.
  • కంప్రెషన్ మోడ్ - డేటా ఒకే అల్గోరిథం (సాధారణంగా రన్ లెంగ్త్‌లను ఎన్‌కోడింగ్ చేయడం ద్వారా) ఉపయోగించి కుదించబడుతుంది.

FTP సర్వర్ అనేది ఫైల్ బదిలీ ప్రోటోకాల్‌ను ఉపయోగించగల సామర్థ్యాన్ని అందించే సర్వర్. ఇది సాంప్రదాయ వెబ్ సర్వర్‌ల నుండి వేరు చేసే కొన్ని లక్షణాలను కలిగి ఉంది:

  • వినియోగదారు ప్రమాణీకరణ అవసరం
  • అన్ని కార్యకలాపాలు ప్రస్తుత సెషన్‌లోనే నిర్వహించబడతాయి
  • ఫైల్ సిస్టమ్‌తో వివిధ చర్యలను చేయగల సామర్థ్యం
  • ప్రతి కనెక్షన్ కోసం ప్రత్యేక ఛానెల్ ఉపయోగించబడుతుంది

FTP క్లయింట్ అనేది FTP ద్వారా రిమోట్ సర్వర్‌కు కనెక్ట్ చేయడానికి మరియు ఫైల్ సిస్టమ్ యొక్క అంశాలతో దానిపై అవసరమైన చర్యలను నిర్వహించడానికి మిమ్మల్ని అనుమతించే ప్రోగ్రామ్. క్లయింట్ బ్రౌజర్ కావచ్చు, దాని చిరునామా బార్‌లో మీరు చిరునామాను నమోదు చేయాలి, ఇది సాధారణ URL బ్లాక్ రేఖాచిత్రానికి అనుగుణంగా రిమోట్ సర్వర్‌లోని నిర్దిష్ట డైరెక్టరీ లేదా ఫైల్‌కు మార్గం:

ftp://user:pass@address:port/directory/file

అయితే, ఈ సందర్భంలో వెబ్ బ్రౌజర్‌ని ఉపయోగించడం వలన మీరు ఆసక్తి ఉన్న ఫైల్‌లను వీక్షించడానికి లేదా డౌన్‌లోడ్ చేసుకోవడానికి మాత్రమే అనుమతిస్తుంది. FTP యొక్క అన్ని ప్రయోజనాలను పూర్తిగా ఉపయోగించుకోవడానికి, మీరు క్లయింట్‌గా ప్రత్యేక సాఫ్ట్‌వేర్‌ను ఉపయోగించాలి.

FTP ప్రమాణీకరణ యాక్సెస్‌ని మంజూరు చేయడానికి వినియోగదారు పేరు/పాస్‌వర్డ్ స్కీమ్‌ను ఉపయోగిస్తుంది. వినియోగదారు పేరు USER కమాండ్‌తో సర్వర్‌కు పంపబడుతుంది మరియు పాస్‌వర్డ్ PASS కమాండ్‌తో పంపబడుతుంది. క్లయింట్ అందించిన సమాచారాన్ని సర్వర్ అంగీకరించినట్లయితే, సర్వర్ క్లయింట్‌కు ఆహ్వానాన్ని పంపుతుంది మరియు సెషన్ ప్రారంభమవుతుంది. వినియోగదారులు, సర్వర్ ఈ లక్షణానికి మద్దతు ఇస్తే, ఆధారాలను అందించకుండా లాగిన్ చేయవచ్చు, కానీ సర్వర్ అటువంటి సెషన్‌లకు పరిమిత ప్రాప్యతను మాత్రమే మంజూరు చేయగలదు.

FTP సేవను అందించే హోస్ట్ అనామక FTP యాక్సెస్‌ను అందించగలదు. వినియోగదారులు సాధారణంగా "అనామక" (కొన్ని FTP సర్వర్‌లలో కేస్ సెన్సిటివ్ కావచ్చు)తో వారి వినియోగదారు పేరుగా లాగిన్ చేస్తారు. పాస్‌వర్డ్‌కు బదులుగా వారి ఇమెయిల్ చిరునామాను అందించమని వినియోగదారులు సాధారణంగా కోరినప్పటికీ, వాస్తవానికి ధృవీకరణ జరగదు. సాఫ్ట్‌వేర్ నవీకరణలను అందించే అనేక FTP హోస్ట్‌లు అనామక యాక్సెస్‌కు మద్దతు ఇస్తాయి.

ప్రోటోకాల్ రేఖాచిత్రం

FTP కనెక్షన్ సమయంలో క్లయింట్-సర్వర్ పరస్పర చర్య క్రింది విధంగా దృశ్యమానం చేయబడుతుంది:

SFTP మరియు FTPS ప్రోటోకాల్‌లు

సురక్షిత FTP

FTP నిజానికి సురక్షితమైనదిగా ఉద్దేశించబడలేదు, ఎందుకంటే ఇది బహుళ సైనిక స్థాపనలు మరియు ఏజెన్సీల మధ్య కమ్యూనికేషన్ల కోసం ఉద్దేశించబడింది. కానీ ఇంటర్నెట్ అభివృద్ధి మరియు వ్యాప్తితో, అనధికార యాక్సెస్ ప్రమాదం చాలా రెట్లు పెరిగింది. వివిధ రకాల దాడుల నుండి సర్వర్‌లను రక్షించాల్సిన అవసరం ఉంది. మే 1999లో, RFC 2577 రచయితలు బలహీనతలను క్రింది సమస్యల జాబితాలోకి సంగ్రహించారు:

  • దాచిన దాడులు (బౌన్స్ దాడులు)
  • స్పూఫ్ దాడులు
  • బ్రూట్ ఫోర్స్ దాడులు
  • ప్యాకెట్ క్యాప్చర్, స్నిఫింగ్
  • పోర్ట్ దొంగతనం

సాధారణ FTPకి గుప్తీకరించిన రూపంలో డేటాను బదిలీ చేసే సామర్థ్యం లేదు, దీని ఫలితంగా వినియోగదారు పేర్లు, పాస్‌వర్డ్‌లు, ఆదేశాలు మరియు ఇతర సమాచారాన్ని దాడి చేసేవారు సులభంగా మరియు సులభంగా అడ్డగించవచ్చు. ఈ సమస్యకు సాధారణ పరిష్కారం "సురక్షితమైన", హాని కలిగించే ప్రోటోకాల్ (FTPS) యొక్క TLS-రక్షిత సంస్కరణలు లేదా చాలా సురక్షిత షెల్ ప్రోటోకాల్ అమలులతో అందించబడిన SFTP/SCP వంటి మరింత సురక్షితమైన ప్రోటోకాల్‌ను ఉపయోగించడం.

FTPS

FTPS (FTP + SSL) అనేది ప్రామాణిక ఫైల్ బదిలీ ప్రోటోకాల్ యొక్క పొడిగింపు, ఇది SSL (సెక్యూర్ సాకెట్స్ లేయర్) ప్రోటోకాల్‌ను ఉపయోగించి ఎన్‌క్రిప్టెడ్ సెషన్‌ల సృష్టిని దాని ప్రాథమిక కార్యాచరణకు జోడిస్తుంది. నేడు, దాని మరింత అధునాతన అనలాగ్ TLS (రవాణా లేయర్ సెక్యూరిటీ) ద్వారా రక్షణ అందించబడుతుంది.

SSL

ఇంటర్నెట్ కనెక్షన్‌ల భద్రత మరియు గోప్యతను నిర్ధారించడానికి SSL ప్రోటోకాల్‌ను నెట్‌స్కేప్ కమ్యూనికేషన్స్ 1996లో ప్రతిపాదించింది. ప్రోటోకాల్ క్లయింట్ మరియు సర్వర్ ప్రమాణీకరణకు మద్దతు ఇస్తుంది, అప్లికేషన్ స్వతంత్రంగా ఉంటుంది మరియు HTTP, FTP మరియు టెల్నెట్ ప్రోటోకాల్‌లకు పారదర్శకంగా ఉంటుంది.

SSL హ్యాండ్‌షేక్ ప్రోటోకాల్ రెండు దశలను కలిగి ఉంటుంది: సర్వర్ ప్రమాణీకరణ మరియు ఐచ్ఛిక క్లయింట్ ప్రమాణీకరణ. మొదటి దశలో, సర్వర్ తన సర్టిఫికేట్ మరియు ఎన్క్రిప్షన్ పారామితులను పంపడం ద్వారా క్లయింట్ అభ్యర్థనకు ప్రతిస్పందిస్తుంది. క్లయింట్ అప్పుడు ఒక మాస్టర్ కీని ఉత్పత్తి చేస్తుంది, సర్వర్ యొక్క పబ్లిక్ కీతో దానిని గుప్తీకరిస్తుంది మరియు దానిని సర్వర్‌కు పంపుతుంది. సర్వర్ దాని ప్రైవేట్ కీతో మాస్టర్ కీని డీక్రిప్ట్ చేస్తుంది మరియు క్లయింట్ యొక్క మాస్టర్ కీ ద్వారా ప్రామాణీకరించబడిన సందేశాన్ని తిరిగి అందించడం ద్వారా క్లయింట్‌కు ప్రమాణీకరించబడుతుంది.

ఈ మాస్టర్ కీ నుండి తీసుకోబడిన కీలతో తదుపరి డేటా గుప్తీకరించబడింది మరియు ప్రమాణీకరించబడుతుంది. రెండవ దశలో, ఇది ఐచ్ఛికం, సర్వర్ క్లయింట్‌కు అభ్యర్థనను పంపుతుంది మరియు క్లయింట్ దాని స్వంత డిజిటల్ సంతకం మరియు పబ్లిక్ కీ సర్టిఫికేట్‌తో అభ్యర్థనను తిరిగి ఇవ్వడం ద్వారా సర్వర్‌కు ప్రమాణీకరిస్తుంది.

SSL వివిధ రకాల క్రిప్టోగ్రాఫిక్ అల్గారిథమ్‌లకు మద్దతు ఇస్తుంది. కమ్యూనికేషన్ ఏర్పాటు సమయంలో, RSA పబ్లిక్ కీ క్రిప్టోసిస్టమ్ ఉపయోగించబడుతుంది. కీ మార్పిడి తర్వాత, అనేక విభిన్న సాంకేతికలిపులు ఉపయోగించబడతాయి: RC2, RC4, IDEA, DES మరియు TripleDES. MD5 కూడా ఉపయోగించబడుతుంది - మెసేజ్ డైజెస్ట్‌ను రూపొందించడానికి ఒక అల్గోరిథం. పబ్లిక్ కీ సర్టిఫికెట్ల సింటాక్స్ X.509లో వివరించబడింది.

SSL యొక్క ముఖ్యమైన ప్రయోజనాల్లో ఒకటి దాని పూర్తి సాఫ్ట్‌వేర్-ప్లాట్‌ఫారమ్ స్వతంత్రత. ప్రోటోకాల్ పోర్టబిలిటీ సూత్రాలపై అభివృద్ధి చేయబడింది మరియు దాని నిర్మాణం యొక్క భావజాలం అది ఉపయోగించే అనువర్తనాలపై ఆధారపడి ఉండదు. అదనంగా, ఇతర ప్రోటోకాల్‌లను SSL ప్రోటోకాల్ పైన పారదర్శకంగా అతివ్యాప్తి చేయడం కూడా ముఖ్యం; లక్ష్య సమాచార ప్రవాహాల రక్షణ స్థాయిని మరింత పెంచడానికి లేదా SSL యొక్క క్రిప్టోగ్రాఫిక్ సామర్థ్యాలను కొన్ని ఇతర, బాగా నిర్వచించబడిన పని కోసం స్వీకరించడానికి.

SSL కనెక్షన్

SFTP మరియు FTPS ప్రోటోకాల్‌లు

SSL అందించిన సురక్షిత ఛానెల్ మూడు ప్రధాన లక్షణాలను కలిగి ఉంది:

  • ఛానెల్ ప్రైవేట్. రహస్య కీని గుర్తించడానికి ఉపయోగపడే సాధారణ డైలాగ్ తర్వాత అన్ని సందేశాలకు ఎన్‌క్రిప్షన్ ఉపయోగించబడుతుంది.
  • ఛానెల్ ప్రామాణీకరించబడింది. సంభాషణ యొక్క సర్వర్ వైపు ఎల్లప్పుడూ ప్రమాణీకరించబడుతుంది, అయితే క్లయింట్ వైపు ఐచ్ఛికంగా ప్రమాణీకరించబడుతుంది.
  • ఛానెల్ నమ్మదగినది. సందేశ రవాణాలో సమగ్రత తనిఖీ (MAC ఉపయోగించి) ఉంటుంది.

FTPS యొక్క లక్షణాలు

భద్రతను అందించే వివిధ పద్ధతులను ఉపయోగించి FTPS యొక్క రెండు అమలులు ఉన్నాయి:

  • అవ్యక్త పద్ధతిలో డేటాను పంపే ముందు సెషన్‌ను ఏర్పాటు చేయడానికి ప్రామాణిక SSL ప్రోటోకాల్‌ను ఉపయోగించడం ఉంటుంది, ఇది సాధారణ FTP క్లయింట్‌లు మరియు సర్వర్‌లతో అనుకూలతను విచ్ఛిన్నం చేస్తుంది. FTPSకి మద్దతు ఇవ్వని క్లయింట్‌లతో వెనుకబడిన అనుకూలత కోసం, TCP పోర్ట్ 990 నియంత్రణ కనెక్షన్ కోసం ఉపయోగించబడుతుంది మరియు 989 డేటా బదిలీ కోసం ఉపయోగించబడుతుంది. ఇది FTP ప్రోటోకాల్ కోసం ప్రామాణిక పోర్ట్ 21ని కలిగి ఉంటుంది. ఈ పద్ధతి వాడుకలో లేనిదిగా పరిగణించబడుతుంది.
  • స్పష్టమైనది మరింత సౌకర్యవంతంగా ఉంటుంది, ఎందుకంటే ఇది ప్రామాణిక FTP ఆదేశాలను ఉపయోగిస్తుంది, కానీ ప్రతిస్పందించేటప్పుడు డేటాను గుప్తీకరిస్తుంది, ఇది FTP మరియు FTPS రెండింటికీ ఒకే నియంత్రణ కనెక్షన్‌ని ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. క్లయింట్ తప్పనిసరిగా సర్వర్ నుండి సురక్షిత డేటా బదిలీని అభ్యర్థించాలి, ఆపై ఎన్‌క్రిప్షన్ పద్ధతిని ఆమోదించాలి. క్లయింట్ సురక్షిత బదిలీని అభ్యర్థించకపోతే, అసురక్షిత కనెక్షన్‌ని నిర్వహించడానికి లేదా మూసివేయడానికి FTPS సర్వర్‌కు హక్కు ఉంటుంది. కొత్త FTP AUTH కమాండ్‌ని కలిగి ఉన్న RFC 2228 క్రింద ప్రామాణీకరణ మరియు డేటా భద్రతా చర్చల విధానం జోడించబడింది. ఈ ప్రమాణం భద్రతా మెకానిజమ్‌లను స్పష్టంగా నిర్వచించనప్పటికీ, పైన వివరించిన అల్గారిథమ్‌ని ఉపయోగించి క్లయింట్ ద్వారా సురక్షిత కనెక్షన్ ప్రారంభించబడాలని ఇది నిర్దేశిస్తుంది. సురక్షిత కనెక్షన్‌లకు సర్వర్ మద్దతు ఇవ్వకపోతే, 504 ఎర్రర్ కోడ్‌ని అందించాలి. FTPS క్లయింట్‌లు FEAT ఆదేశాన్ని ఉపయోగించి సర్వర్‌చే మద్దతు ఇచ్చే భద్రతా ప్రోటోకాల్‌ల గురించి సమాచారాన్ని పొందవచ్చు, అయినప్పటికీ, సర్వర్ దాని భద్రత స్థాయిని బహిర్గతం చేయవలసిన అవసరం లేదు. మద్దతు ఇస్తుంది. అత్యంత సాధారణ FTPS ఆదేశాలు AUTH TLS మరియు AUTH SSL, ఇవి వరుసగా TLS మరియు SSL భద్రతను అందిస్తాయి.

SFTP

SFTP (సెక్యూర్ ఫైల్ ట్రాన్స్‌ఫర్ ప్రోటోకాల్) అనేది సురక్షిత ఛానెల్ పైన అమలవుతున్న అప్లికేషన్ లేయర్ ఫైల్ ట్రాన్స్‌ఫర్ ప్రోటోకాల్. అదే సంక్షిప్తీకరణను కలిగి ఉన్న (సింపుల్ ఫైల్ ట్రాన్స్‌ఫర్ ప్రోటోకాల్)తో గందరగోళం చెందకూడదు. FTPS కేవలం FTP యొక్క పొడిగింపు అయితే, SFTP అనేది SSH (సెక్యూర్ షెల్)ని దాని ఆధారంగా ఉపయోగించే ఒక ప్రత్యేక మరియు సంబంధం లేని ప్రోటోకాల్.

సెక్యూర్ షెల్

ప్రోటోకాల్‌ను IETF గ్రూప్‌లలో ఒకటైన సెక్ష్ అభివృద్ధి చేసింది. కొత్త SFTP ప్రోటోకాల్ కోసం పని డాక్యుమెంటేషన్ అధికారిక ప్రమాణంగా మారలేదు, కానీ అప్లికేషన్ అభివృద్ధి కోసం చురుకుగా ఉపయోగించడం ప్రారంభించింది. తదనంతరం, ప్రోటోకాల్ యొక్క ఆరు వెర్షన్లు విడుదల చేయబడ్డాయి. ఏది ఏమైనప్పటికీ, దానిలోని కార్యాచరణలో క్రమంగా పెరుగుదల ఆగష్టు 14, 2006 న, ప్రాజెక్ట్ యొక్క ప్రధాన విధి (SSH అభివృద్ధి) పూర్తి చేయడం మరియు లేకపోవడం వల్ల ప్రోటోకాల్ అభివృద్ధిపై పనిచేయడం నిలిపివేయాలని నిర్ణయించబడింది. పూర్తి స్థాయి రిమోట్ ఫైల్ సిస్టమ్ ప్రోటోకాల్ అభివృద్ధికి వెళ్లడానికి తగిన నిపుణుల స్థాయి.

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

అసురక్షిత వాతావరణంలో ఏదైనా ఇతర నెట్‌వర్క్ ప్రోటోకాల్‌ను సురక్షితంగా బదిలీ చేయడానికి SSH మిమ్మల్ని అనుమతిస్తుంది. అందువలన, మీరు కమాండ్ షెల్ ద్వారా మీ కంప్యూటర్‌లో రిమోట్‌గా పని చేయడమే కాకుండా, గుప్తీకరించిన ఛానెల్ ద్వారా ఆడియో స్ట్రీమ్ లేదా వీడియో (ఉదాహరణకు, వెబ్‌క్యామ్ నుండి) ప్రసారం చేయవచ్చు. SSH తదుపరి ఎన్క్రిప్షన్ కోసం ప్రసారం చేయబడిన డేటా యొక్క కుదింపును కూడా ఉపయోగించవచ్చు, ఇది సౌకర్యవంతంగా ఉంటుంది, ఉదాహరణకు, X WindowSystem క్లయింట్‌లను రిమోట్‌గా ప్రారంభించడం కోసం.

ప్రోటోకాల్ యొక్క మొదటి వెర్షన్, SSH-1, 1995లో హెల్సింకి యూనివర్శిటీ ఆఫ్ టెక్నాలజీ (ఫిన్లాండ్) నుండి పరిశోధకుడు టాటు ఉలోనెన్చే అభివృద్ధి చేయబడింది. SSH-1 rlogin, telnet మరియు rsh ప్రోటోకాల్‌ల కంటే ఎక్కువ గోప్యతను అందించడానికి వ్రాయబడింది. 1996లో, ప్రోటోకాల్ యొక్క మరింత సురక్షితమైన సంస్కరణ, SSH-2, అభివృద్ధి చేయబడింది, ఇది SSH-1కి అనుకూలంగా లేదు. ప్రోటోకాల్ మరింత ప్రజాదరణ పొందింది మరియు 2000 నాటికి ఇది సుమారు రెండు మిలియన్ల మంది వినియోగదారులను కలిగి ఉంది. ప్రస్తుతం, "SSH" అనే పదానికి సాధారణంగా SSH-2 అని అర్థం, ఎందుకంటే ముఖ్యమైన లోపాల కారణంగా ప్రోటోకాల్ యొక్క మొదటి సంస్కరణ ఇప్పుడు ఆచరణాత్మకంగా ఉపయోగించబడదు. 2006లో, ప్రోటోకాల్‌ను IETF వర్కింగ్ గ్రూప్ ఇంటర్నెట్ ప్రమాణంగా ఆమోదించింది.

SSH యొక్క రెండు సాధారణ అమలులు ఉన్నాయి: ప్రైవేట్ వాణిజ్య మరియు ఉచిత ఓపెన్ సోర్స్. ఉచిత అమలును OpenSSH అంటారు. 2006 నాటికి, ఇంటర్నెట్‌లోని 80% కంప్యూటర్లు OpenSSHని ఉపయోగించాయి. యాజమాన్య అమలును టెక్టియా కార్పొరేషన్ యొక్క పూర్తి యాజమాన్యంలోని అనుబంధ సంస్థ అయిన SSH కమ్యూనికేషన్స్ సెక్యూరిటీ అభివృద్ధి చేసింది మరియు ఇది వాణిజ్యేతర ఉపయోగం కోసం ఉచితం. ఈ అమలులు దాదాపు ఒకే విధమైన ఆదేశాలను కలిగి ఉంటాయి.

SSH-2 ప్రోటోకాల్, టెల్నెట్ ప్రోటోకాల్ వలె కాకుండా, ట్రాఫిక్ ఈవ్‌డ్రాపింగ్ దాడులకు ("స్నిఫింగ్") నిరోధకతను కలిగి ఉంటుంది, కానీ మనిషి-ఇన్-ది-మిడిల్ దాడులకు నిరోధకతను కలిగి ఉండదు. SSH-2 ప్రోటోకాల్ సెషన్ హైజాకింగ్ దాడులకు కూడా నిరోధకతను కలిగి ఉంది, ఎందుకంటే ఇప్పటికే ఏర్పాటు చేసిన సెషన్‌లో చేరడం లేదా హైజాక్ చేయడం అసాధ్యం.

క్లయింట్‌కి ఇంకా కీ తెలియని హోస్ట్‌కి కనెక్ట్ చేస్తున్నప్పుడు మనిషి-మధ్య దాడులను నిరోధించడానికి, క్లయింట్ సాఫ్ట్‌వేర్ వినియోగదారుకు “కీ వేలిముద్ర” చూపుతుంది. క్లయింట్ సాఫ్ట్‌వేర్ చూపిన “కీ స్నాప్‌షాట్” సర్వర్ కీ స్నాప్‌షాట్‌తో జాగ్రత్తగా తనిఖీ చేయాలని సిఫార్సు చేయబడింది, విశ్వసనీయ కమ్యూనికేషన్ ఛానెల్‌ల ద్వారా లేదా వ్యక్తిగతంగా పొందడం మంచిది.

SSH మద్దతు అన్ని UNIX-వంటి సిస్టమ్‌లలో అందుబాటులో ఉంది మరియు చాలా వరకు ssh క్లయింట్ మరియు సర్వర్‌ని ప్రామాణిక వినియోగాలుగా కలిగి ఉంటాయి. UNIX యేతర OSల కోసం అనేక SSH క్లయింట్‌ల అమలులు ఉన్నాయి. ముఖ్యమైన నోడ్‌లను నిర్వహించడానికి అసురక్షిత టెల్నెట్ ప్రోటోకాల్‌కు ప్రత్యామ్నాయ పరిష్కారంగా, ట్రాఫిక్ ఎనలైజర్‌లు మరియు స్థానిక నెట్‌వర్క్‌ల ఆపరేషన్‌కు అంతరాయం కలిగించే పద్ధతులను విస్తృతంగా అభివృద్ధి చేసిన తర్వాత ప్రోటోకాల్ గొప్ప ప్రజాదరణ పొందింది.

SSH ఉపయోగించి కమ్యూనికేషన్

SSH ద్వారా పని చేయడానికి, మీకు SSH సర్వర్ మరియు SSH క్లయింట్ అవసరం. సర్వర్ క్లయింట్ మెషీన్‌ల నుండి కనెక్షన్‌ల కోసం వింటుంది మరియు కనెక్షన్ స్థాపించబడినప్పుడు, ప్రామాణీకరణను నిర్వహిస్తుంది, ఆ తర్వాత అది క్లయింట్‌కు సేవ చేయడం ప్రారంభిస్తుంది. క్లయింట్ రిమోట్ మెషీన్‌లోకి లాగిన్ అవ్వడానికి మరియు ఆదేశాలను అమలు చేయడానికి ఉపయోగించబడుతుంది.

SFTP మరియు FTPS ప్రోటోకాల్‌లు

FTPSతో పోలిక

SFTPని ప్రామాణిక FTP మరియు FTPS నుండి వేరుచేసే ప్రధాన విషయం ఏమిటంటే, SFTP ఖచ్చితంగా అన్ని ఆదేశాలు, వినియోగదారు పేర్లు, పాస్‌వర్డ్‌లు మరియు ఇతర రహస్య సమాచారాన్ని గుప్తీకరిస్తుంది.

FTPS మరియు SFTP ప్రోటోకాల్‌లు రెండూ అసమాన అల్గారిథమ్‌లు (RSA, DSA), సిమెట్రిక్ అల్గారిథమ్‌లు (DES/3DES, AES, Twhofish, మొదలైనవి), అలాగే కీ మార్పిడి అల్గారిథమ్‌ల కలయికను ఉపయోగిస్తాయి. ప్రామాణీకరణ కోసం, FTPS (లేదా మరింత ఖచ్చితంగా చెప్పాలంటే, FTP ద్వారా SSL/TLS) X.509 ప్రమాణపత్రాలను ఉపయోగిస్తుంది, అయితే SFTP (SSH ప్రోటోకాల్) SSH కీలను ఉపయోగిస్తుంది.

X.509 ప్రమాణపత్రాలలో పబ్లిక్ కీ మరియు యజమాని సర్టిఫికేట్ గురించి కొంత సమాచారం ఉంటుంది. మరోవైపు, ఈ సమాచారం సర్టిఫికేట్ యొక్క సమగ్రతను, ప్రమాణపత్రం యొక్క ప్రామాణికతను మరియు యజమానిని ధృవీకరించడానికి అనుమతిస్తుంది. X.509 ప్రమాణపత్రాలు సంబంధిత ప్రైవేట్ కీని కలిగి ఉంటాయి, ఇది సాధారణంగా భద్రతా కారణాల దృష్ట్యా ప్రమాణపత్రం నుండి విడిగా నిల్వ చేయబడుతుంది.

SSH కీ పబ్లిక్ కీని మాత్రమే కలిగి ఉంటుంది (సంబంధిత ప్రైవేట్ కీ విడిగా నిల్వ చేయబడుతుంది). ఇది కీ యజమాని గురించి ఎటువంటి సమాచారాన్ని కలిగి ఉండదు. కొన్ని SSH అమలులు ప్రామాణీకరణ కోసం X.509 సర్టిఫికేట్‌లను ఉపయోగిస్తాయి, కానీ అవి వాస్తవానికి మొత్తం సర్టిఫికేట్ చైన్‌ను ధృవీకరించవు- పబ్లిక్ కీ మాత్రమే ఉపయోగించబడుతుంది (అటువంటి ప్రామాణీకరణ అసంపూర్తిగా చేస్తుంది).

తీర్మానం

FTP ప్రోటోకాల్ నిస్సందేహంగా ఇప్పటికీ దాని గౌరవనీయమైన వయస్సు ఉన్నప్పటికీ నెట్‌వర్క్‌లో సమాచారాన్ని నిల్వ చేయడం మరియు పంపిణీ చేయడంలో ముఖ్యమైన పాత్ర పోషిస్తుంది. ఇది అనుకూలమైన, మల్టీఫంక్షనల్ మరియు ప్రామాణికమైన ప్రోటోకాల్. అనేక ఫైల్ ఆర్కైవ్లు దాని ఆధారంగా నిర్మించబడ్డాయి, ఇది లేకుండా సాంకేతిక పని అంత ప్రభావవంతంగా ఉండదు. అదనంగా, సెటప్ చేయడం సులభం మరియు సర్వర్ మరియు క్లయింట్ ప్రోగ్రామ్‌లు దాదాపు అన్ని ప్రస్తుత మరియు ప్రస్తుత ప్లాట్‌ఫారమ్‌ల కోసం ఉన్నాయి.

ప్రతిగా, దాని రక్షిత సంస్కరణలు ఆధునిక ప్రపంచంలో నిల్వ చేయబడిన మరియు ప్రసారం చేయబడిన డేటా యొక్క గోప్యత సమస్యను పరిష్కరిస్తాయి. రెండు కొత్త ప్రోటోకాల్‌లు వాటి లాభాలు మరియు నష్టాలను కలిగి ఉంటాయి మరియు కొద్దిగా భిన్నమైన పాత్రలను అందిస్తాయి. ఫైల్ ఆర్కైవ్ అవసరమయ్యే ప్రాంతాల్లో, FTPSని ఉపయోగించడం ఉత్తమం, ప్రత్యేకించి క్లాసిక్ FTP ఇప్పటికే అక్కడ ఉపయోగించబడి ఉంటే. పాత ప్రోటోకాల్‌తో అననుకూలత కారణంగా SFTP తక్కువ సాధారణం, కానీ ఇది రిమోట్ మేనేజ్‌మెంట్ సిస్టమ్‌లో భాగం కాబట్టి ఇది మరింత సురక్షితమైనది మరియు మరింత కార్యాచరణను కలిగి ఉంటుంది.

మూలాల జాబితా

మూలం: www.habr.com

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