Използване на протоколите TELNET, SSH


Използване на протоколите TELNET, SSH

  1. Протокол TELNET
    1. за какво е TELNET
    2. Схема TELNET
    3. недостатъци, опасения за сигурността
    4. преглед на telnet клиенти и telnet сървъри

  2. SSH протокол
    1. за какво е SSH
    2. как работи SSH
    3. недостатъци и предимства
    4. Таблици за преглед и сравнение на клиенти на SSH
  3. Литература
  1. Протокол TELNET
    1. за какво е TELNET
      Tenet е интернет протокол за данни, който позволява на компютъра да функционира като терминал, управляван от отдалечен компютър.
      Telnet е терминален емулационен протокол, често използван в Интернет и базирани на TCP/IP мрежи. Това позволява на потребителя на терминала или персоналния компютър да влезе в отдалечената компютърна система и да изпълнява програми. Протоколът telnet първоначално е разработен за ARPAnet и е важна част от протокола за комуникация TCP/IP.

      работна схема TELNET
      Telnet е протокол клиент-сървър, базиран на TCP, и клиентите обикновено се свързват към порт 23 на отдалечения компютър, предоставящ тази услуга (въпреки че, както много протоколи, използвани в Интернет, портът, използван за връзката, може да бъде променен, с други думи 23 е числовият порт е само общ случай). Поради отчасти дизайна на протокола и отчасти поради гъвкавостта, която обикновено се осигурява от програми telnet, можете да използвате програмата telnet за установяване на интерактивна TCP връзка с друга отдалечена компютърна услуга. Класически пример за такова използване на клиентската страна на протокола е telnet връзка към порт 25 на отдалечен компютър (където обикновено се намира SMTP сървърът) за отстраняване на грешки в пощенския сървър.
      Протоколът telnet може да бъде предоставен като набори от ядро ​​и добавки. Сърцевината на протокола е описана в съответствие с документите на IETF RFC 854 и RFC 855, които също са събрани заедно в STD 8, който определя само базовите характеристики на протокола и как да се дефинират и внедрят допълнения към него. Има много допълнения, някои от които са приети като интернет стандарти, други не. Документите на IETF STD, номерирани от 27 до 32, описват различни разширения на протокола telnet (повечето от които са изключително общи). От останалите допълнения вероятно най-полезни са тези, които се разглеждат от IETF за бъдещи стандарти.

    2. недостатъци, опасения за сигурността
      Има три основни проблема с telnet, което го прави лош избор за съвременните системи от гледна точка на сигурността:
      • Демонът на telnet по подразбиране има няколко уязвимости, открити през годините и вероятно още няколко все още съществуват.
      • Telnet не криптира никакви данни, които се изпращат по установената връзка (включително пароли), и по този начин става възможно да се подслушва връзката и да се използва паролата по-късно за злонамерени цели.
      • Липсата на система за удостоверяване в telnet не дава никаква гаранция, че връзката, установена между два отдалечени хоста, няма да бъде прекъсната в средата.
      Използването на протокола telnet е нежелателно в системи, за които сигурността е важна, като например публичния Интернет. Сесиите на Telnet не поддържат криптиране на данни. Това означава, че всеки, който има достъп до който и да е рутер, комутатор или шлюз в мрежата между два отдалечени компютъра, свързани чрез telnet сесия, може да прихване преминаващите пакети и лесно да получи потребителско име и парола за достъп до системата (или да се сдобие с друга информация, които тези компютри обменят) с помощта на всяка обществена програма като tcpdump и Ethereal.

    3. преглед на telnet клиенти и telnet сървъри
      Сред клиентите на telnet има:
      • z/Scope Express VT е наистина добър telnet/SSH клиент за Windows.
      • AbsoluteTelnet - клиент за всички версии на Windows, включително telnet, SSH1 и SSH2.
      • tn3270 е безплатен telnet клиент за Macintosh, предназначен да работи със системи на IBM, използващи протокола TN3270.
      • PuTTY е безплатен клиент за SSH, Telnet, rlogin и чист TCP.

      Сред telnet сървърите може да се разграничи telnetd. Telnetd е сървър, който обслужва протокола telnet. Обикновено telnetd се стартира чрез интернет услугата (inetd), на някои системи може да се стартира и ръчно. Telnetd обслужва TCP порт 23, но може да се изпълнява на различен порт.
      Принципът на сървъра е, че той "слуша" TCP порта. Когато се получи заявка за услуга, telnetd присвоява псевдо терминал (pty) на всеки отдалечен клиент като стандартен входен файл (stdin), стандартен изходен файл (stdout) и стандартен файл за грешка (stderr). При установяване на взаимодействие с отдалечен клиент telnetd обменя команди за конфигуриране (ехо, обмен на двоична информация, тип терминал, скорост на предаване, променливи на средата). Telnetd реализира протокола telnet отчасти. Go Ahead (GA) никога не се използва в telnet. Режимът на двоична комуникация наистина може да се използва само за една и съща операционна среда.

      SSH протокол

        за какво е SSH
        SSH - (Secure Shell) е мрежов протокол, който позволява дистанционно управление на компютър и трансфер на файлове. Той е подобен по функционалност на протоколите Telnet и rlogin, но използва алгоритми за криптиране за предавана информация.
        Недостатъците на telnet доведоха до много бързо постепенно премахване на протокола в полза на по-сигурния и функционален SSH протокол. SSH предоставя цялата функционалност, която telnet излага, с добавяне на ефектно кодиране, за да се предотврати подслушване на данни като потребителски имена и пароли. Системата за удостоверяване на публичния ключ на SSH гарантира, че отдалеченият компютър наистина е този, за когото се представя.

    4. как работи SSH
      Описание на технологията SSH-1 протокол:
      Първо клиентът изпраща заявка до сървъра за установяване на SSH връзка и създаване на нова сесия. Връзката ще бъде приета от сървъра, ако приема съобщения от този вид и е готова да отвори нова сесия за комуникация. След това клиентът и сървърът обменят информация за това кои версии на протокола поддържат. Връзката ще продължи, ако се намери съвпадение между протоколите и се получи потвърждение, че и двете страни са готови да продължат връзката, използвайки този протокол. Веднага след това сървърът изпраща на клиента постоянните публични и временни ключове на сървъра. Клиентът използва тези ключове, за да шифрова ключа на сесията. Въпреки че временният ключ се изпраща в ясен текст, ключът на сесията все още е защитен. След това ключът на сесията се кодира с временния ключ и публичния ключ на сървъра и по този начин само сървърът може да го дешифрира. На този етап и клиентът, и сървърът имат ключа на сесията и следователно са готови за защитена сесия на криптиран пакет за предаване.
      Удостоверяването на сървъра се основава на способността му да дешифрира сесионния ключ, който е криптиран с публичния ключ на сървъра. Удостоверяването на клиента може да се извърши по различни начини, включително DSA, RSA, OpenPGP или парола.
      Сесията продължава, докато клиентът и сървърът са в състояние да се удостоверяват взаимно. Установената връзка чрез протокола SSH-1 ви позволява да защитите предадените данни със силен алгоритъм за криптиране, проверка на целостта на данните и компресия.
      Описание на технологията SSH-2 протокол:
      И двата протокола по същество изпълняват едни и същи функции, но SSH-2 го прави по-елегантно, по-сигурно и по-гъвкаво. Основната разлика между протоколите е, че протоколът SSH-2 разделя всички функции на протокола SSH между три протокола, докато протоколът SSH-1 е един единствен и неделим протокол. Чрез модулиране на функциите на протокола SSH в три протокола - протокол на транспортния слой, протокол за удостоверяване и протокол за връзка, протоколът SSH-2 прави най-гъвкавия и мощен механизъм за създаване на защитени тунели. По-долу е дадено кратко описание и предназначение на всеки от трите протокола, съставляващи протокола SSH-2:
      • Протокол на транспортния слой - предоставя възможност за криптиране и компресиране на предадените данни, а също така прилага система за контрол на целостта на данните.
      • Протокол за свързване - позволява на клиентите да установят многонишкова връзка през оригиналния SSH тунел, като по този начин намаляват натоварването, което създават клиентските процеси.
      • Протокол за удостоверяване - Протоколът за удостоверяване е отделен от транспортния протокол, тъй като не винаги е необходимо да се използва система за удостоверяване. В случай че е необходимо удостоверяване, процесът е защитен от оригиналния защитен канал, установен чрез протокола на транспортния слой.
      Сам по себе си протоколът на транспортния слой е достатъчен за установяване на сигурна връзка, той е в основата на протокола SSH-2 и протоколите за свързване и удостоверяване се основават на него. Протоколът за удостоверяване е отделен от транспортния протокол, тъй като понякога възниква ситуация, когато използването на удостоверяване е не само по избор, но дори и нежелателно. Например, организация предоставя анонимен достъп до корекции за сигурност на своя FTP сървър за всяко лице (или система), което иска да ги изтегли. В този случай удостоверяването няма да е необходимо, докато криптирането, компресията и контролът на целостта на данните ще бъдат осигурени от протокола на транспортния слой. Освен това, като се има предвид канал с висока честотна лента, клиентите ще могат да установят многонишкова връзка чрез оригиналната SSH връзка, използвайки протокола за свързване.

      Таблици за преглед и сравнение на клиенти на SSH
      SSH клиентът е програма, която използва SSH протокола за установяване на връзка с отдалечен компютър. Клиентите на SSH са: OpenSSH, PuTTY, SecureCRT, SFTPPlus, TeraTerm и др.