Використання протоколів TELNET, SSH
Використання протоколів TELNET, SSH
- Протокол TELNET
- навіщо призначений TELNET
- схема роботи TELNET
- недоліки, проблеми безпеки
- огляд telnet-клієнтів та telnet-серверів
Протокол SSH
навіщо призначений SSH
схема роботи SSH
недоліки та переваги
огляд та порівняльні таблиці SSH-клієнтів
Література
- Протокол TELNET
- для чого призначений TELNETTenet - протокол лінії передачі даних Інтернет, який дає можливість комп'ютеру функціонувати як термінал, що працює під управлінням віддаленого комп'ютера. Telnet - протокол емуляції терміналу, який зазвичай використовується в мережі Інтернет і в мережах, що працюють за протоколами, заснованими на TCP/IP. Це дозволяє користувачеві терміналу або персонального комп'ютера, реєструватися у системі віддаленого комп'ютера та виконувати програми. Протокол telnet був спочатку розроблений для ARPAnet та є важливою частиною протоколу передачі даних TCP/IP.
схема роботиTELNETTelnet - клієнт-серверний протокол, заснований на TCP, і клієнти в загальному випадку з'єднується з портом 23 на віддаленому комп'ютері, що надає таку послугу (хоча, подібно до багатьох протоколів, що використовуються в мережі Інтернет, використовуваний для з'єднання порт можна змінити, тобто 23 номер порту – лише загальний випадок). Частково через конструкцію протоколу і частково через гнучкість, що зазвичай забезпечується програмами telnet, можна використовувати програму telnet, щоб встановити інтерактивне підключення TCP з деякою іншою послугою віддаленого комп'ютера. Класичним прикладом такого використання клієнтської частини протоколуможе послужити з'єднання за допомогою програми telnet з портом 25 віддаленого комп'ютера (де зазвичай знаходиться SMTP сервер), щоб налагодити сервер пошти. Протокол telnet може бути представлений у вигляді ядра та наборів доповнень. Ядро протоколу описано відповідно до IETF документів RFC 854 і RFC 855, які також зібрані разом у STD 8, який визначає лише базисні експлуатаційні показники протоколу та способи визначення та здійснення доповнень до нього. Є багато доповнень, деякі з яких були прийняті як стандарти Інтернету, деякі ні. IETF STD документи з номерами від 27 до 32 описують різні доповнення протоколу telnet (більшість є надзвичайно спільними). З додатків, що залишилися, найбільш корисні – ймовірно ті, які знаходяться на розгляді IETF як майбутні стандарти.
недоліки, проблеми безпекиЄ три головні проблеми пов'язані з використанням telnet, роблячи його поганим вибором для сучасних систем з погляду безпеки:
Використовувані за умовчанням демони telnet мають кілька вразливостей, виявлених за ці роки, і, ймовірно, ще кілька досі існують.
Telnet не шифрує жодні дані, які надсилаються через встановлений зв'язок (включаючи паролі), і таким чином стає можливим прослуховування зв'язку та використання пароля пізніше для зловмисних цілей.
Відсутність системи аутентифікації в telnet не дає жодної гарантії, що зв'язок між двома віддаленими хостами не буде перерваний у середині.
Небажаним є використання протоколу telnet у системах, для яких важлива безпека, таких як громадський Інтернет. Сеанси telnet не підтримують шифрування даних. Це означає це будь-хто, хто має доступдо будь-якого маршрутизатора, комутатора або шлюзу в мережі між двома віддаленими комп'ютерами, з'єднаними сеансом зв'язку по протоколу telnet, може перехопити пакети, що проходять, і легко отримати логін і пароль для доступу в систему (або заволодіти будь-якою іншою інформацією, якою обмінюються ці комп'ютери) за допомогою будь-якої загальнодоступної утиліти подібно tcpdump та Ethereal.
огляд 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 запускається через Internet (inetd), у деяких системах може бути запущений і вручну. Telnetd обслуговує TCP-порт 23, але може бути запущений і інший порт. Принцип роботи сервера у тому, що він " слухає " порт TCP. У разі надходження запиту на обслуговування, telnetd призначає кожному віддаленому клієнту псевдотермінал (pty) як стандартний файл введення (stdin), стандартний файл виведення (stdout) і стандартний файл помилок (stderr). При установці взаємодії з віддаленим клієнтом telnetd обмінюється командами налаштування (відлуння, обмін двійковою інформацією, тип терміналу, швидкість обміну, змінні оточення). Telnetd реалізує протокол telnet частково. При роботі з telnet ніколи не використовується сигнал Go Ahead (GA). Двійковий режим передачіданих можна реально використовувати лише однакових операційних середовищ.
Протокол SSH
для чого призначений SSHSSH - (Secure Shell) - мережевий протокол, що дозволяє виробляти віддалене керування комп'ютером та передачу файлів. Схожий за функціональністю з протоколом Telnet і rlogin, проте використовує алгоритми шифрування інформації, що передається. Недоліки telnet призвели до дуже швидкої відмови від використання цього протоколу на користь більш безпечного та функціонального протоколу SSH. SSH надає всі ті функціональні можливості, які надавалися в telnet, з додаванням ефектного кодування з метою запобігання перехопленню таких даних, як логіни та паролі. Введена в протоколі SSH система автентифікації з використанням публічного ключа гарантує, що віддалений комп'ютер дійсно є тим, за кого себе видає.
схема роботи 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 та ін.