OpenSSH

Скріншот програми:
OpenSSH
Дані програми:
Версія: 7.7 оновлений
Дата завантаження: 22 Jun 18
Розробник: OpenBSD Project
Ліцензія: Безкоштовно
Популярність: 21

Rating: nan/5 (Total Votes: 0)

OpenSSH - це програмне забезпечення, вільно розподілене та відкрите програмне забезпечення, бібліотека та програма командного рядка, яка працює на тлі операційної системи GNU / Linux та захищає всю вашу мережу від вторгнених та зловмисників. Це версія з відкритим вихідним кодом специфікації SSH (Secure Shell), спеціально розроблена для


Особливості з першого погляду

OpenSSH - це проект із відкритим кодом, який поширюється під вільною ліцензією. Він забезпечує надійну автентифікацію на основі відкритих ключових слів, стандартів перевірки автентичності Kerberos та одноразової пароля, надійного шифрування на основі алгоритмів AES, Blowfish, Arcfour та 3DES, підтримку пересилання X11, шифруючи весь трафік системи X Window, а також AFS і Перехід квитка "Керберос".

Крім того, підтримка перенаправлення портів на функціональні можливості програмного забезпечення, шифруючи канали для застарілих протоколів, підтримку стиснення даних, підтримку переадресації агентів за допомогою стандарту автентифікації Single Sign-On (SSO) та сервера SFTP (Secure FTP) та підтримки клієнтів в будь-якому з них. Протоколи SSH2 або SSH1.

Ще одна цікава особливість - сумісність, що означає, що проект відповідає версіям 1.3, 1.5 та 2.0 вихідного протоколу SSH (Secure Shell). Після встановлення OpenSSH автоматично замінить стандартні програми FTP, Telnet, RCP та rlogin із захищеними версіями, такими як SFTP, SCP та SSH.


Під капотом, доступність та підтримка ОС

Проект OpenSSH повністю написано на мові програмування C. Він складається з основної реалізації SSH та демона SSH, який працює у фоновому режимі. Програмне забезпечення поширюється переважно як універсальний архів джерел, який буде працювати з будь-якими операційними системами GNU / Linux на 32-бітових та 64-розрядних архітектурах.


Портативний OpenSSH

Портативна версія протоколу OpenSSH також доступна для завантаження на Softoware безкоштовно, називається Portable OpenSSH. Це вихід із протоколів SSH версії 1 і SSH для версій 2 для операційних систем Linux, BSD та Solaris.

Що нового в цьому випуску:

  • Потенційно-несумісні зміни:
  • Цей випуск містить ряд змін, які можуть вплинути на існуючі конфігурації:
  • Цей випуск видаляє підтримку сервера для протоколу SSH v.1.
  • ssh (1): видаліть 3des-cbc із пропозиції за замовчуванням клієнта. 64-бітні блочні шифри не є безпечними в 2016 році, і ми не хочемо чекати, доки атаки, подібні SWEET32, не поширюються на SSH. Оскільки 3des-cbc був єдиним обов'язковим шифром в SSH RFC, це може спричинити проблеми з підключенням до старих пристроїв за допомогою конфігурації за замовчуванням, однак цілком ймовірно, що для таких пристроїв вже потрібна явна конфігурація для алгоритмів обміну ключами та хостами хоча б у будь-якому випадку. sshd (8): видалення підтримки стиснення попередньої автентифікації. Здійснення стиснення на ранній стадії протоколу, мабуть, виявилося розумним у 1990-х роках, але сьогодні це явно погана ідея з точки зору як криптографії (порівняно з багатьма атаками оракула стиснення в TLS) та поверхні атаки. Підтримка стиснення попереднього автозапуску за замовчуванням була вимкнена протягом & gt; 10 років. Підтримка залишається у клієнта. ssh-agent за замовчуванням відмовляється завантажувати модулі PKCS # 11 поза білим списком довірених шляхів. Білий список шляхів може бути вказаний під час виконання.
  • sshd (8): Коли команда forced-command з'являється як у сертифікаті, так і за допомогою команди authorized key / principals команда = обмеження, sshd тепер відмовляється приймати сертифікат, якщо вони не ідентичні. Попередня (задокументована) поведінка примусової команди сертифіката перевизначити іншу може бути трохи заплутаною та схильною до помилок. sshd (8): видаліть директиву конфігурації UseLogin та підтримку для керування сеансами входу для входу / bin / login.
  • Зміни з OpenSSH 7.3:
  • Безпека:
  • ssh-agent (1): тепер відмовлятиметься завантажувати модулі PKCS # 11 із шляхів за межами надійного білого списку (налаштовується під час виконання). Запити на завантаження модулів можуть бути передані через переадресацію агента, і зловмисник може намагатися завантажити модуль PKCS № 11 в ворожій мережі по каналу перенаправленого агента: модулі PKCS # 11 є спільними бібліотеками, тому це призведе до виконання коду в системі, що працює на ssh -агент, якщо зловмисник керує переадресованим агентом-сокетом (на хості, що працює на сервері sshd) та можливість записувати до файловій системі хоста, що запускає ssh-agent (як правило, хост запускає ssh-клієнт). Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): при відключенні права доступу, пересилаються сокети Unix-домену будуть створені sshd (8) з правами "root" замість автентифікованого користувача. Цей реліз відхиляє переадресацію сокета домену Unix при відключенні права доступу (розділення привілеїв за замовчуванням було включено протягом 14 років). Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): уникайте теоретичного витоку матеріалу особистого ключа хоста до дитину, розділеного привілеєм, за допомогою realloc () при читанні клавіш. На практиці не було виявлено такої витоку для клавіш із звичайним розміром, а також витік дитини, який безпосередньо не обробляє ключовий матеріал користувачам, які не мають права доступу. Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): Менеджер спільної пам'яті, що використовує підтримку стиснення перед аутентифікацією, мав граничні перевірки, які могли б бути виправдані деякими оптимізованими компіляторами. Окрім того, цей менеджер пам'яті був недоступним, коли стиснення попередньої автентифікації було вимкнено. Це може потенційно дозволити атаки на процес привілейованого моніторингу з ізольованого привілеєм-поділу (компроміс останнього буде потрібно спочатку). Цей випуск видаляє підтримку стиснення попередньої автентифікації з sshd (8). За повідомленням Guido Vranken, використовуючи інструмент ідентифікації нестабільної оптимізації стека (http://css.csail.mit.edu/stack/)
  • sshd (8): Виправте стан відмови в обслуговуванні, коли зловмисник, який надсилає кілька повідомлень KEXINIT, може споживати до 128 МБ для з'єднання. Про це повідомив Ши Лей з команди Gear, Qihoo 360.
  • sshd (8): перевіряйте діапазони адрес для вказівок AllowUser та DenyUsers під час завантаження конфігурації та відмовтесь прийняти недійсні. Раніше можна було вказати недійсні діапазони адрес CIDR (наприклад, user@127.1.2.3/55), і вони завжди співпадають, що може призвести до надання доступу, де він не був призначений. За повідомленням Лоуренса Паррі.
  • Нові функції:
  • ssh (1): додайте режим проксі-мультиплексування до ssh (1), натхненний версією в PuTTY від Simon Tatham. Це дозволяє мультиплікаційному клієнту спілкуватися з основним процесом за допомогою підмножини протоколу SSH-пакетів і каналів через сокет домену Unix, основний процес якого виконує роль проксі-сервера, який переводить ідентифікатори каналів тощо. Це дозволяє виконувати режим мультиплексування для запуску системи, які не мають передачі файлів-дескрипторів (використовуються поточним мультиплексуванням коду) і потенційно, разом з пересиланням сокета домену Unix, з клієнтом і процесом мультиплексування майстра на різних машинах. Проксі-режим мультиплексування може бути викликаний за допомогою "ssh -O proxy ..."
  • sshd (8): додати параметр sshd_config DisableForwarding, який відключає пересилання X11, агента, TCP, тунеля та домену домену домену Unix, а також все інше, яке ми можемо реалізувати в майбутньому. Як і прапорець "обмежити" authorized_keys, це має бути простим та надійним способом обмеження облікового запису.
  • sshd (8), ssh (1): підтримуйте & quot; curve25519-sha256 & quot; метод обміну ключами. Це ідентично поточному підтримуваному методу, який називається & quot; curve25519-sha256@libssh.org & quot ;.
  • sshd (8): покращити обробку SIGHUP, перевіряючи, чи є sshd вже демонстраційним під час запуску та пропускати дзвінок до демону (3), якщо він є. Це гарантує, що перезапуск SIGHUP sshd (8) зберігатиме той самий ідентифікатор процесу як початкове виконання. sshd (8) також від'єднає PidFile перед тим, як перезапустити SIGHUP і знову створити його після успішного перезавантаження, а не залишати застарілий файл у випадку помилки конфігурації. bz # 2641
  • sshd (8): Дозволити директиви ClientAliveInterval та ClientAliveCountMax з'являтися в блоках відповідності sshd_config.
  • sshd (8): додавати% -изиди до AuthorizedPrincipalsCommand, щоб відповідати тим, які підтримуються AuthorizedKeysCommand (ключ, тип ключа, відбиток пальців тощо) та ще кілька, щоб забезпечити доступ до вмісту пропонованого сертифіката.
  • Додано регресійні тести для відповідності рядків, відповідності адреси та функцій sanitisation рядків.
  • Покращено оснастку "fuzzer" для обміну ключами.
  • Виправлення помилок:
  • ssh (1): Дозволити IdentityFile успішно завантажувати та використовувати сертифікати, які не мають відповідного відкритого відкритого ключа. bz # 2617 сертифікат id_rsa-cert.pub (і не id_rsa.pub).
  • ssh (1): Виправте автентифікацію відкритого ключа, коли використовується декілька автентифікацій, і publickey - це не тільки перший спосіб спроби. bz # 2642
  • регрес: дозвольте NetTTY-інтерп-тести працювати без нагляду. bz # 2639
  • ssh-agent (1), ssh (1): покращує звітність при спробі завантажити ключі з токенів PKCS # 11 з меншим кількістю непотрібних повідомлень журналу та докладніше в повідомленнях з налагодженням. bz # 2610
  • ssh (1): при знятті з'єднань ControlMaster не забруднюйте stderr, коли LogLevel = тихо.
  • sftp (1): Увімкнути → Зачекайте, поки основний ssh ​​(1) призупиниться до призупинення sftp (1), щоб переконатися, що SSH (1) правильно відновлює режим термінала, якщо призупинено під час запиту пароля.
  • ssh (1): уникнути зайнятості - зачекайте, коли ssh (1) призупинено під час запиту пароля.
  • ssh (1), sshd (8): правильно повідомляти про помилки під час надсилання додаткових повідомлень.
  • sshd (8): виправте помилку NULL-deref, якщо команда sshd (8) отримала повідомлення про NEWKEYS, не пов'язане з послідовністю.
  • sshd (8): правильний список підтримуваних алгоритмів підпису, надісланих у розширеннях server-sig-algs. bz # 2547
  • sshd (8): Виправте відправлення повідомлення ext_info, якщо privsep вимкнено.
  • sshd (8): більш суворо дотримувати очікуване замовлення викликів монітора розділення привілеїв, які використовуються для аутентифікації, і дозволяти їх лише тоді, коли в конфігурації увімкнено відповідні методи аутентифікації
  • sshd (8): виправлення неінфікованого вибору в get-callopt () call; нешкідливий для Unix / BSD, але потенційно невдаха на Cygwin.
  • Виправлення помилково-позитивних звітів, викликаних explicit_bzero (3), не було визнано як ініціалізатор пам'яті при складанні з -sanitize-пам'яттю. sshd_config (5): використовуйте 2001: db8 :: / 32, офіційну підмережу IPv6 для прикладу конфігурації.
  • Портативність:
  • У середовищах, налаштованих з турецькими локаціями, повертайтеся до мови C / POSIX, щоб уникнути помилок при аналізі конфігурації, викликаної унікальною обробкою букв "i" та "я". bz # 2643
  • sftp-сервер (8), ssh-agent (1): відхилити ptrace в ОС X за допомогою ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): розблокувати шифрування AES-CTR на старій (~ 0.9.8) OpenSSL.
  • Виправте компіляцію для libcrypto, зібраної без підтримки RIPEMD160.
  • contrib: Додайте gnome-ssh-askpass3 з підтримкою GTK + 3. bz # 2640 sshd (8): Поліпшення PRNG переміщення через розділення привілеїв та примусити libcrypt отримати високоякісне насіння до chroot або пісочниці.
  • Все: явно перевірити на розбите strnvis. NetBSD додав strnvis і, на жаль, зробив його несумісним з існуючим у OpenBSD та Linux libbsd (колишній існує більше десяти років). Спробуйте виявити цю безладу і вважати єдиним безпечним варіантом, якщо ми компілюємо хрест.

Що нового в версії:

  • Потенційно-несумісні зміни:
  • Цей випуск містить ряд змін, які можуть вплинути на існуючі конфігурації:
  • Цей випуск видаляє підтримку сервера для протоколу SSH v.1.
  • ssh (1): видаліть 3des-cbc із пропозиції за замовчуванням клієнта. 64-бітні блочні шифри не є безпечними в 2016 році, і ми не хочемо чекати, доки атаки, подібні SWEET32, не поширюються на SSH. Оскільки 3des-cbc був єдиним обов'язковим шифром в SSH RFC, це може спричинити проблеми з підключенням до старих пристроїв за допомогою конфігурації за замовчуванням, однак цілком ймовірно, що для таких пристроїв вже потрібна явна конфігурація для алгоритмів обміну ключами та хостами хоча б у будь-якому випадку. sshd (8): видалення підтримки стиснення попередньої автентифікації. Здійснення стиснення на ранній стадії протоколу, мабуть, виявилося розумним у 1990-х роках, але сьогодні це явно погана ідея з точки зору як криптографії (порівняно з багатьма атаками оракула стиснення в TLS) та поверхні атаки. Підтримка стиснення попереднього автозапуску за замовчуванням була вимкнена протягом & gt; 10 років. Підтримка залишається у клієнта. ssh-agent за замовчуванням відмовляється завантажувати модулі PKCS # 11 поза білим списком довірених шляхів. Білий список шляхів може бути вказаний під час виконання.
  • sshd (8): Коли команда forced-command з'являється як у сертифікаті, так і за допомогою команди authorized key / principals команда = обмеження, sshd тепер відмовляється приймати сертифікат, якщо вони не ідентичні. Попередня (задокументована) поведінка примусової команди сертифіката перевизначити іншу може бути трохи заплутаною та схильною до помилок. sshd (8): видаліть директиву конфігурації UseLogin та підтримку для керування сеансами входу для входу / bin / login.
  • Зміни з OpenSSH 7.3:
  • Безпека:
  • ssh-agent (1): тепер відмовлятиметься завантажувати модулі PKCS # 11 із шляхів за межами надійного білого списку (налаштовується під час виконання). Запити на завантаження модулів можуть бути передані через переадресацію агента, і зловмисник може намагатися завантажити модуль PKCS № 11 в ворожій мережі по каналу перенаправленого агента: модулі PKCS # 11 є спільними бібліотеками, тому це призведе до виконання коду в системі, що працює на ssh -агент, якщо зловмисник керує переадресованим агентом-сокетом (на хості, що працює на сервері sshd) та можливість записувати до файловій системі хоста, що запускає ssh-agent (як правило, хост запускає ssh-клієнт). Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): при відключенні права доступу, пересилаються сокети Unix-домену будуть створені sshd (8) з правами "root" замість автентифікованого користувача. Цей реліз відхиляє переадресацію сокета домену Unix при відключенні права доступу (розділення привілеїв за замовчуванням було включено протягом 14 років). Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): уникайте теоретичного витоку матеріалу особистого ключа хоста до дитину, розділеного привілеєм, за допомогою realloc () при читанні клавіш. На практиці не було виявлено такої витоку для клавіш із звичайним розміром, а також витік дитини, який безпосередньо не обробляє ключовий матеріал користувачам, які не мають права доступу. Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): Менеджер спільної пам'яті, що використовує підтримку стиснення перед аутентифікацією, мав граничні перевірки, які могли б бути виправдані деякими оптимізованими компіляторами. Окрім того, цей менеджер пам'яті був недоступним, коли стиснення попередньої автентифікації було вимкнено. Це може потенційно дозволити атаки на процес привілейованого моніторингу з ізольованого привілеєм-поділу (компроміс останнього буде потрібно спочатку). Цей випуск видаляє підтримку стиснення попередньої автентифікації з sshd (8). За повідомленням Guido Vranken, використовуючи інструмент ідентифікації нестабільної оптимізації стека (http://css.csail.mit.edu/stack/)
  • sshd (8): Виправте стан відмови в обслуговуванні, коли зловмисник, який надсилає кілька повідомлень KEXINIT, може споживати до 128 МБ для з'єднання. Про це повідомив Ши Лей з команди Gear, Qihoo 360.
  • sshd (8): перевіряйте діапазони адрес для вказівок AllowUser та DenyUsers під час завантаження конфігурації та відмовтесь прийняти недійсні. Раніше можна було вказати недійсні діапазони адрес CIDR (наприклад, user@127.1.2.3/55), і вони завжди співпадають, що може призвести до надання доступу, де він не був призначений. За повідомленням Лоуренса Паррі.
  • Нові функції:
  • ssh (1): додайте режим проксі-мультиплексування до ssh (1), натхненний версією в PuTTY від Simon Tatham. Це дозволяє мультиплікаційному клієнту спілкуватися з основним процесом за допомогою підмножини протоколу SSH-пакетів і каналів через сокет домену Unix, основний процес якого виконує роль проксі-сервера, який переводить ідентифікатори каналів тощо. Це дозволяє виконувати режим мультиплексування для запуску системи, які не мають передачі файлів-дескрипторів (використовуються поточним мультиплексуванням коду) і потенційно, разом з пересиланням сокета домену Unix, з клієнтом і процесом мультиплексування майстра на різних машинах. Проксі-режим мультиплексування може бути викликаний за допомогою "ssh -O proxy ..."
  • sshd (8): додати параметр sshd_config DisableForwarding, який відключає пересилання X11, агента, TCP, тунеля та домену домену домену Unix, а також все інше, яке ми можемо реалізувати в майбутньому. Як і прапорець "обмежити" authorized_keys, це має бути простим та надійним способом обмеження облікового запису.
  • sshd (8), ssh (1): підтримуйте & quot; curve25519-sha256 & quot; метод обміну ключами. Це ідентично поточному підтримуваному методу, який називається & quot; curve25519-sha256@libssh.org & quot ;.
  • sshd (8): покращити обробку SIGHUP, перевіряючи, чи є sshd вже демонстраційним під час запуску та пропускати дзвінок до демону (3), якщо він є. Це гарантує, що перезапуск SIGHUP sshd (8) зберігатиме той самий ідентифікатор процесу як початкове виконання. sshd (8) також від'єднає PidFile перед тим, як перезапустити SIGHUP і знову створити його після успішного перезавантаження, а не залишати застарілий файл у випадку помилки конфігурації. bz # 2641
  • sshd (8): Дозволити директиви ClientAliveInterval та ClientAliveCountMax з'являтися в блоках відповідності sshd_config.
  • sshd (8): додавати% -изиди до AuthorizedPrincipalsCommand, щоб відповідати тим, які підтримуються AuthorizedKeysCommand (ключ, тип ключа, відбиток пальців тощо) та ще кілька, щоб забезпечити доступ до вмісту пропонованого сертифіката.
  • Додано регресійні тести для відповідності рядків, відповідності адреси та функцій sanitisation рядків.
  • Покращено оснастку "fuzzer" для обміну ключами.
  • Виправлення помилок:
  • ssh (1): Дозволити IdentityFile успішно завантажувати та використовувати сертифікати, які не мають відповідного відкритого відкритого ключа. bz # 2617 сертифікат id_rsa-cert.pub (і не id_rsa.pub).
  • ssh (1): Виправте автентифікацію відкритого ключа, коли використовується декілька автентифікацій, і publickey - це не тільки перший спосіб спроби. bz # 2642
  • регрес: дозвольте NetTTY-інтерп-тести працювати без нагляду. bz # 2639
  • ssh-agent (1), ssh (1): покращує звітність при спробі завантажити ключі з токенів PKCS # 11 з меншим кількістю непотрібних повідомлень журналу та докладніше в повідомленнях з налагодженням. bz # 2610
  • ssh (1): при знятті з'єднань ControlMaster не забруднюйте stderr, коли LogLevel = тихо.
  • sftp (1): Увімкнути → Зачекайте, поки основний ssh ​​(1) призупиниться до призупинення sftp (1), щоб переконатися, що SSH (1) правильно відновлює режим термінала, якщо призупинено під час запиту пароля.
  • ssh (1): уникнути зайнятості - зачекайте, коли ssh (1) призупинено під час запиту пароля.
  • ssh (1), sshd (8): правильно повідомляти про помилки під час надсилання додаткових повідомлень.
  • sshd (8): виправте помилку NULL-deref, якщо команда sshd (8) отримала повідомлення про NEWKEYS, не пов'язане з послідовністю.
  • sshd (8): правильний список підтримуваних алгоритмів підпису, надісланих у розширеннях server-sig-algs. bz # 2547
  • sshd (8): Виправте відправлення повідомлення ext_info, якщо privsep вимкнено.
  • sshd (8): більш суворо дотримувати очікуване замовлення викликів монітора розділення привілеїв, які використовуються для аутентифікації, і дозволяти їх лише тоді, коли в конфігурації увімкнено відповідні методи аутентифікації
  • sshd (8): виправлення неінфікованого вибору в get-callopt () call; нешкідливий для Unix / BSD, але потенційно невдаха на Cygwin.
  • Виправлення помилково-позитивних звітів, викликаних explicit_bzero (3), не було визнано як ініціалізатор пам'яті при складанні з -sanitize-пам'яттю. sshd_config (5): використовуйте 2001: db8 :: / 32, офіційну підмережу IPv6 для прикладу конфігурації.
  • Портативність:
  • У середовищах, налаштованих з турецькими локаціями, повертайтеся до мови C / POSIX, щоб уникнути помилок при аналізі конфігурації, викликаної унікальною обробкою букв "i" та "я". bz # 2643
  • sftp-сервер (8), ssh-agent (1): відхилити ptrace в ОС X за допомогою ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): розблокувати шифрування AES-CTR на старій (~ 0.9.8) OpenSSL.
  • Виправте компіляцію для libcrypto, зібраної без підтримки RIPEMD160.
  • contrib: Додайте gnome-ssh-askpass3 з підтримкою GTK + 3. bz # 2640 sshd (8): Поліпшення PRNG переміщення через розділення привілеїв та примусити libcrypt отримати високоякісне насіння до chroot або пісочниці.
  • Все: явно перевірити на розбите strnvis. NetBSD додав strnvis і, на жаль, зробив його несумісним з існуючим у OpenBSD та Linux libbsd (колишній існує більше десяти років). Спробуйте виявити цю безладу і вважати єдиним безпечним варіантом, якщо ми компілюємо хрест.

Що нового у версії 7.4:

  • Потенційно-несумісні зміни:
  • Цей випуск містить ряд змін, які можуть вплинути на існуючі конфігурації:
  • Цей випуск видаляє підтримку сервера для протоколу SSH v.1.
  • ssh (1): видаліть 3des-cbc із пропозиції за замовчуванням клієнта. 64-бітні блочні шифри не є безпечними в 2016 році, і ми не хочемо чекати, доки атаки, подібні SWEET32, не поширюються на SSH. Оскільки 3des-cbc був єдиним обов'язковим шифром в SSH RFC, це може спричинити проблеми з підключенням до старих пристроїв за допомогою конфігурації за замовчуванням, однак цілком ймовірно, що для таких пристроїв вже потрібна явна конфігурація для алгоритмів обміну ключами та хостами хоча б у будь-якому випадку. sshd (8): видалення підтримки стиснення попередньої автентифікації. Здійснення стиснення на ранній стадії протоколу, мабуть, виявилося розумним у 1990-х роках, але сьогодні це явно погана ідея з точки зору як криптографії (порівняно з багатьма атаками оракула стиснення в TLS) та поверхні атаки. Підтримка стиснення попереднього автозапуску за замовчуванням була вимкнена протягом & gt; 10 років. Підтримка залишається у клієнта. ssh-agent за замовчуванням відмовляється завантажувати модулі PKCS # 11 поза білим списком довірених шляхів. Білий список шляхів може бути вказаний під час виконання.
  • sshd (8): Коли команда forced-command з'являється як у сертифікаті, так і за допомогою команди authorized key / principals команда = обмеження, sshd тепер відмовляється приймати сертифікат, якщо вони не ідентичні. Попередня (задокументована) поведінка примусової команди сертифіката перевизначити іншу може бути трохи заплутаною та схильною до помилок. sshd (8): видаліть директиву конфігурації UseLogin та підтримку для керування сеансами входу для входу / bin / login.
  • Зміни з OpenSSH 7.3:
  • Безпека:
  • ssh-agent (1): тепер відмовлятиметься завантажувати модулі PKCS # 11 із шляхів за межами надійного білого списку (налаштовується під час виконання). Запити на завантаження модулів можуть бути передані через переадресацію агента, і зловмисник може намагатися завантажити модуль PKCS № 11 в ворожій мережі по каналу перенаправленого агента: модулі PKCS # 11 є спільними бібліотеками, тому це призведе до виконання коду в системі, що працює на ssh -агент, якщо зловмисник керує переадресованим агентом-сокетом (на хості, що працює на сервері sshd) та можливість записувати до файловій системі хоста, що запускає ssh-agent (як правило, хост запускає ssh-клієнт). Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): при відключенні права доступу, пересилаються сокети Unix-домену будуть створені sshd (8) з правами "root" замість автентифікованого користувача. Цей реліз відхиляє переадресацію сокета домену Unix при відключенні права доступу (розділення привілеїв за замовчуванням було включено протягом 14 років). Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): уникайте теоретичного витоку матеріалу особистого ключа хоста до дитину, розділеного привілеєм, за допомогою realloc () при читанні клавіш. На практиці не було виявлено такої витоку для клавіш із звичайним розміром, а також витік дитини, який безпосередньо не обробляє ключовий матеріал користувачам, які не мають права доступу. Про це повідомляє Янн Хорн з проекту Zero.
  • sshd (8): Менеджер спільної пам'яті, що використовує підтримку стиснення перед аутентифікацією, мав граничні перевірки, які могли б бути виправдані деякими оптимізованими компіляторами. Окрім того, цей менеджер пам'яті був недоступним, коли стиснення попередньої автентифікації було вимкнено. Це може потенційно дозволити атаки на процес привілейованого моніторингу з ізольованого привілеєм-поділу (компроміс останнього буде потрібно спочатку). Цей випуск видаляє підтримку стиснення попередньої автентифікації з sshd (8). За повідомленням Guido Vranken, використовуючи інструмент ідентифікації нестабільної оптимізації стека (http://css.csail.mit.edu/stack/)
  • sshd (8): Виправте стан відмови в обслуговуванні, коли зловмисник, який надсилає кілька повідомлень KEXINIT, може споживати до 128 МБ для з'єднання. Про це повідомив Ши Лей з команди Gear, Qihoo 360.
  • sshd (8): перевіряйте діапазони адрес для вказівок AllowUser та DenyUsers під час завантаження конфігурації та відмовтесь прийняти недійсні. Раніше можна було вказати недійсні діапазони адрес CIDR (наприклад, user@127.1.2.3/55), і вони завжди співпадають, що може призвести до надання доступу, де він не був призначений. За повідомленням Лоуренса Паррі.
  • Нові функції:
  • ssh (1): додайте режим проксі-мультиплексування до ssh (1), натхненний версією в PuTTY від Simon Tatham. Це дозволяє мультиплікаційному клієнту спілкуватися з основним процесом за допомогою підмножини протоколу SSH-пакетів і каналів через сокет домену Unix, основний процес якого виконує роль проксі-сервера, який переводить ідентифікатори каналів тощо. Це дозволяє виконувати режим мультиплексування для запуску системи, які не мають передачі файлів-дескрипторів (використовуються поточним мультиплексуванням коду) і потенційно, разом з пересиланням сокета домену Unix, з клієнтом і процесом мультиплексування майстра на різних машинах. Модуль мультиплексування проксі може бути викликаний за допомогою "ssh -O proxy ..."
  • sshd (8): додати параметр sshd_config DisableForwarding, який відключає пересилання X11, агента, TCP, тунеля та домену домену домену Unix, а також все інше, яке ми можемо реалізувати в майбутньому. Як і прапорець "обмежити" authorized_keys, це має бути простим та надійним способом обмеження облікового запису.
  • sshd (8), ssh (1): підтримка методу обміну клавішами "curve25519-sha256". Це ідентично існуючому методу під назвою "curve25519-sha256@libssh.org".
  • sshd (8): покращити обробку SIGHUP, перевіряючи, чи є sshd вже демонстраційним під час запуску та пропускати дзвінок до демону (3), якщо він є. Це гарантує, що перезапуск SIGHUP sshd (8) зберігатиме той самий ідентифікатор процесу як початкове виконання. sshd (8) також від'єднає PidFile перед тим, як перезапустити SIGHUP і знову створити його після успішного перезавантаження, а не залишати застарілий файл у випадку помилки конфігурації. bz # 2641
  • sshd (8): Дозволити директиви ClientAliveInterval та ClientAliveCountMax з'являтися в блоках відповідності sshd_config.
  • sshd (8): додавати% -изиди до AuthorizedPrincipalsCommand, щоб відповідати тим, які підтримуються AuthorizedKeysCommand (ключ, тип ключа, відбиток пальців тощо) та ще кілька, щоб забезпечити доступ до вмісту пропонованого сертифіката.
  • Додано регресійні тести для відповідності рядків, відповідності адреси та функцій sanitisation рядків.
  • Покращено оснастку "fuzzer" для обміну ключами.
  • Виправлення помилок:
  • ssh (1): Дозволити IdentityFile успішно завантажувати та використовувати сертифікати, які не мають відповідного відкритого відкритого ключа. bz # 2617 сертифікат id_rsa-cert.pub (і не id_rsa.pub).
  • ssh (1): Виправте автентифікацію відкритого ключа, коли використовується декілька автентифікацій, і publickey - це не тільки перший спосіб спроби. bz # 2642
  • регрес: дозвольте NetTTY-інтерп-тести працювати без нагляду. bz # 2639
  • ssh-agent (1), ssh (1): покращує звітність при спробі завантажити ключі з токенів PKCS # 11 з меншим кількістю непотрібних повідомлень журналу та докладніше в повідомленнях з налагодженням. bz # 2610
  • ssh (1): при знятті з'єднань ControlMaster не забруднюйте stderr, коли LogLevel = тихо.
  • sftp (1): Увімкнути → Зачекайте, поки основний ssh ​​(1) призупиниться до призупинення sftp (1), щоб переконатися, що SSH (1) правильно відновлює режим термінала, якщо призупинено під час запиту пароля.
  • ssh (1): уникнути зайнятості - зачекайте, коли ssh (1) призупинено під час запиту пароля.
  • ssh (1), sshd (8): правильно повідомляти про помилки під час надсилання додаткових повідомлень.
  • sshd (8): виправте помилку NULL-deref, якщо команда sshd (8) отримала повідомлення про NEWKEYS, не пов'язане з послідовністю.
  • sshd (8): правильний список підтримуваних алгоритмів підпису, надісланих у розширеннях server-sig-algs. bz # 2547
  • sshd (8): Виправте відправлення повідомлення ext_info, якщо privsep вимкнено.
  • sshd (8): більш суворо дотримувати очікуване замовлення викликів монітора розділення привілеїв, які використовуються для аутентифікації, і дозволяти їх лише тоді, коли в конфігурації увімкнено відповідні методи аутентифікації
  • sshd (8): виправлення неінфікованого вибору в get-callopt () call; нешкідливий для Unix / BSD, але потенційно невдаха на Cygwin.
  • Виправлення помилково-позитивних звітів, викликаних explicit_bzero (3), не було визнано як ініціалізатор пам'яті при складанні з -sanitize-пам'яттю. sshd_config (5): використовуйте 2001: db8 :: / 32, офіційну підмережу IPv6 для прикладу конфігурації.
  • Портативність:
  • У середовищах, налаштованих з турецькими локаціями, повертайтеся до мови C / POSIX, щоб уникнути помилок при аналізі конфігурації, викликаної унікальною обробкою букв "i" та "я". bz # 2643
  • sftp-сервер (8), ssh-agent (1): відхилити ptrace в ОС X за допомогою ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): розблокувати шифрування AES-CTR на старій (~ 0.9.8) OpenSSL.
  • Виправте компіляцію для libcrypto, зібраної без підтримки RIPEMD160.
  • contrib: Додайте gnome-ssh-askpass3 з підтримкою GTK + 3. bz # 2640 sshd (8): Поліпшення PRNG переміщення через розділення привілеїв та примусити libcrypt отримати високоякісне насіння до chroot або пісочниці.
  • Усе: явно перевірити на розбите strnvis. NetBSD додав strnvis і, на жаль, зробив його несумісним з існуючим у OpenBSD та Linux libbsd (колишній існує більше десяти років). Спробуйте виявити цю безладу і вважати єдиним безпечним варіантом, якщо ми компілюємо хрест.

Що нового у версії 7.3:

  • Безпека:
  • sshd (8): пом'якшити потенційну атаку на відмову від служби за допомогою крипту системи (3) за допомогою sshd (8). Зловмисник міг надсилати дуже довгі паролі, які можуть призвести до надмірного використання процесора в крипті (3). sshd (8) тепер відмовляється приймати запити на авторизацію паролів довжиною більше 1024 символів. Незалежні повідомлення Томаша Кутана (Oracle), Андреса Рохаса та Хав'єра Нієто.
  • sshd (8): пом'якшити відмінності часу в автентифікації паролів, які можуть бути використані для розпізнавання дійсних з недійсних імен облікових записів, коли надходили довгі паролі, і на сервері використовуються спеціальні алгоритми хешування паролів. CVE-2016-6210, повідомляє EddieEzra.Harari на verint.com
  • ssh (1), sshd (8): Виправте спостережувану слабкість синхронізації в контрзаходи оракула CBC. Про це повідомили Жан Паул Дебабріель, Кенні Патерсон, Торбен Хансен та Мартін Альбрехт. Зверніть увагу, що шифри CBC відключені за замовчуванням і включені лише для застарілих сумісностей.
  • ssh (1), sshd (8): покращити операційну порядок перевірки MAC для транспортних алгоритмів MAC транспортного режиму Encrypt-then-MAC (EtM) для перевірки MAC перед розшифровкою будь-якого шифрувального тексту. Це знімає можливість відхилення від часу розбіжності фактів про звичайний текст, хоча таких витоків не спостерігається. Про це повідомили Жан Паул Дебабріель, Кенні Патерсон, Торбен Хансен та Мартін Альбрехт. sshd (8): (лише портативний) Ігнорувати змінні середовища PAM, коли UseLogin = yes. Якщо PAM налаштовано для читання користувацькими змінними середовища та UseLogin = yes у ​​sshd_config, то ворожий локальний користувач може напад / bin / login через LD_PRELOAD або аналогічні змінні середовища, встановлені через PAM. CVE-2015-8325, знайдене Шаяном Садімом.
  • Нові функції:
  • ssh (1): додайте параметр ProxyJump та відповідний прапорець -J командного рядка, щоб спростити невдачу через один або декілька бастіонів SSH або "хостів для переходу".
  • ssh (1): додайте параметр IdentityAgent, щоб дозволити вказування конкретних агрегатних розеток, а не приймати його з середовища. ssh (1): Дозволити ExitOnForwardFailure та ClearAllForwardings необов'язково перевизначити при використанні ssh -W. bz # 2577
  • ssh (1), sshd (8): реалізувати підтримку режиму термінала IUTF8 за черговим sgtatham-secsh-iutf8-00. ssh (1), sshd (8): Додайте підтримку додаткових фіксованих груп Diffie-Hellman 2K, 4K та 8K від draft-ietf-curdle-ssh-kex-sha2-03.
  • ssh-keygen (1), ssh (1), sshd (8): підтримка підпису SHA256 та SHA512 RSA в сертифікатах; ssh (1): додайте директиву включення для файлів ssh_config (5).
  • ssh (1): Дозволити символи UTF-8 в банери попередньої автентифікації, відправлені з сервера. bz # 2058
  • Виправлення помилок:
  • ssh (1), sshd (8): зменшити рівень системного журналу деяких щодо поширених подій протоколу з LOG_CRIT. bz # 2585
  • sshd (8): Відмовтеся в AuthenticationMethods = "" в конфігураціях і прийміть AuthenticationMethods = будь-який для поведінки за замовчуванням, що не вимагає багатократної автентифікації. bz # 2398
  • sshd (8): видалити застарілий та вводящий в оману "ВАЖЛИВЕ ПІДПРИЄМНИЦТВО!" повідомлення, коли прямі та зворотні DNS не збігаються. bz # 2585
  • ssh (1): закрийте ControlPersist фонового процесу stderr за винятком режиму налагодження або при вході в системний журнал. bz # 1988
  • misc: Зробити опис протоколу PROTOCOL для прямого-потокового повідомлення@openssh.com. Відкриті повідомлення збігаються з розгорнутим кодом. bz # 2529
  • ssh (1): дедуплікація записів LocalForward і RemoteForward для виправлення помилок, коли активовано як ExitOnForwardFailure, так і ініціалізацію хоста хоста. bz # 2562
  • sshd (8): видаліть резервний модуль від застарілого "primes" файлу, який був стертий у 2001 році. bz # 2559.
  • sshd_config (5): Правильне опис UseDNS: це впливає на обробку імені хоста ssh для authorized_keys, не known_hosts; bz # 2554 ssh (1): Виправте автентифікацію за допомогою одиноких ключів сертифікатів у агенті без відповідних приватних ключів на файловій системі. bz # 2550
  • sshd (8): відправляти ClientAliveInterval, коли встановлено RekeyLimit на основі часу; раніше збережені пакети не надсилалися. bz # 2252

Що нового у версії 7.2:

  • Безпека:
  • ssh (1), sshd (8): видалити незакінчений і невикористовуваний користування роумінгом (він був примусово вимкнений у OpenSSH 7.1p2).
  • ssh (1): усунути відмову від ненадійного пересилання X11 до надійного пересилання, коли X-сервер відключає розширення SECURITY.
  • ssh (1), sshd (8): збільшити мінімальний розмір модуля, який підтримується для обміну файлами diffie-hellman до 2048 біт.
  • sshd (8): pre-auth пісочниця зараз включена за замовчуванням (попередні релізи увімкнули його для нових установок за допомогою sshd_config).
  • Нові функції:
  • все: додавання підтримки підписів RSA за допомогою хеш-алгоритмів SHA-256/512 на основі draft-rsa-dsa-sha2-256-03.txt та draft-ssh-ext-info-04.txt.
  • ssh (1): додайте параметр клієнта AddKeysToAgent, який можна встановити на "так", "ні", "запитати" або "підтвердити", а за замовчуванням - "ні". Якщо включено, приватний ключ, який буде використовуватися під час автентифікації, буде додано до ssh-агента, якщо він працює (при підтвердженні ввімкнено, якщо встановлено "підтвердити").
  • sshd (8): додати нову опцію authorized_keys "обмежити", яка включає всі поточні та майбутні обмеження ключа (no - * - forwarding і т. д.). Також додайте допустимі версії існуючих обмежень, наприклад, "no-pty" - & gt; "pty" Це спрощує завдання встановлення обмежених ключів і гарантує, що вони максимально обмежені, незалежно від будь-яких дозволів, які ми можемо застосувати в майбутньому. ssh (1): додати параметр certificatefile ssh_config для явного переліку сертифікатів. bz # 2436
  • ssh-keygen (1): дозвольте ssh-keygen змінити коментар ключа для всіх підтримуваних форматів.
  • ssh-keygen (1): дозволити відбитки пальців зі стандартного вводу, наприклад "ssh-keygen -lf -"
  • ssh-keygen (1): дозволити відбитки декількох публічних ключів у файлі, наприклад "ssh-keygen -lf ~ / .ssh / authorized_keys" bz # 1319
  • sshd (8): підтримка "none" як аргумент для sshd_config переднього плану та ChrootDirectory. Корисне в межах блоків відповідності, щоб перевизначити глобальний за замовчуванням. bz # 2486
  • ssh-keygen (1): підтримка декількох сертифікатів (по одній в рядок) та читання зі стандартного вводу (за допомогою "-f -") для ssh-keys key (1): додати "ssh- keyscan -c ... ", щоб дозволити отримання сертифікатів замість простих ключів.
  • ssh (1): краще обробляйте закріплені FQDN (наприклад, 'cvs.openbsd.org.') в канонізації назви хоста - розглядайте їх як вже канонічні та видаліть кінцевий "." перед тим, як зібрати ssh_config.
  • Виправлення помилок:
  • sftp (1): існуючі каталоги призначення не повинні припиняти рекурсивні завантаження (регресія в openssh 6.8) bz # 2528
  • ssh (1), sshd (8): правильно відправте назад SSH2_MSG_UNIMPLEMENTED відповіді на несподівані повідомлення під час обміну ключами. bz # 2949
  • ssh (1): відмовляються спроби встановити ConnectionAttempts = 0, що не має сенсу і може викликати ssh для друку неінфікованої змінної стека. bz # 2500
  • ssh (1): виправлення помилок під час спроби підключення до обсягів адрес IPv6 з увімкненою можливістю сканування в імені хосту
  • sshd_config (5): наведіть ще пару параметрів, які можна використовувати в блоках відповідності. bz # 2489
  • sshd (8): виправте "PubkeyAcceptedKeyTypes + ..." всередині блоку відповідності. ssh (1): розгорніть символи tilde в іменах файлів, переданих параметрам -i перед тим, як перевірити, чи існує файл ідентифікації. Уникає плутанини у випадках, коли оболонка не розширюється (наприклад, "-i ~ / file" або "-i ~ / file"). bz # 2481
  • ssh (1): не додавати "exec" до команди оболонки, що запускається "Match exec" в конфігураційному файлі, що може спричинити невдачу деяких команд у певних середовищах. bz # 2471
  • ssh-keyscan (1): фіксує вивід для декількох хостів / addrs на одному рядку, коли використовується перемішування хоста або нестандартний порт bz # 2479
  • sshd (8): пропустіть повідомлення "Не вдалося chdir до домашнього каталогу", коли активовано ChrootDirectory. bz # 2485
  • ssh (1): включити PubkeyAcceptedKeyTypes у ssh -G config dump. sshd (8): уникайте зміни прапорів пристрою TunnelForwarding, якщо вони вже є потрібними; дає змогу використовувати мережу TUN / tap як користувача, що не використовує кореневої обліковий запис, якщо прапори дозволів та інтерфейсу пристрою встановлені заздалегідь
  • ssh (1), sshd (8): RekeyLimits може бути перевищено одним пакетом. bz # 2521
  • ssh (1): виправте помилку мастера мультиплексування, щоб помітити клієнтський вихід.
  • ssh (1), ssh-agent (1): уникнути фатального () для токселів PKCS11, які мають порожні ідентифікатори ключів. bz # 1773
  • sshd (8): уникати printf аргументу NULL. bz # 2535
  • ssh (1), sshd (8): дозволити RekeyLimits розміром більше 4 Гб. bz # 2521
  • ssh-keygen (1): sshd (8): виправлення декількох помилок у (невикористаній) підтримці підпису KRL.
  • ssh (1), sshd (8): виправляють з'єднання з однолітками, які використовують функцію гіперпосилання на протокол. bz # 2515
  • sshd (8): включити номер віддаленого порту в повідомленнях журналу. bz # 2503
  • ssh (1): не намагайтеся завантажувати приватний ключ SSHv1 під час компіляції без підтримки SSHv1. bz # 2505
  • ssh-agent (1), ssh (1): виправлення невірних повідомлень про помилки під час завантаження ключів та помилок підписування. bz # 2507
  • ssh-keygen (1): не залишайте порожні тимчасові файли при редагуванні файлів known_hosts, коли known_hosts не існує.
  • sshd (8): правильний формат пакета для відповідей tcpip для запитів, які не виділяють порт bz # 2509
  • ssh (1), sshd (8): виправити можливий виклик на закритому виході. bz # 2469 ssh (1): розширення% i в ControlPath на UID. bz # 2449
  • ssh (1), sshd (8): виправити тип повернення openssh_RSA_verify. bz # 2460
  • ssh (1), sshd (8): виправлення деяких параметрів при розбиранні витоків пам'яті. bz # 2182
  • ssh (1): додати деякий налагоджувальний вихід до розбиття DNS; це місце, де ssh могло раніше мовчки стирати у випадках без відповіді DNS-серверів. bz # 2433 ssh (1): видаліть помилковий новий рядок у візуальній клавіші для господаря. bz # 2686
  • ssh (1): виправити друк (ssh -G ...) для HostKeyAlgorithms = + ...
  • ssh (1): виправити розширення HostkeyAlgorithms = + ...
  • Документація:
  • ssh_config (5), sshd_config (5): оновіть списки алгоритмів за замовчуванням, щоб відповідати поточній дійсності. bz # 2527
  • ssh (1): згадати -Q key-plain і -Q key-cert параметри запиту. bz # 2455
  • sshd_config (8): більш чітко опишіть, що таке AuthorizedKeysFile =.
  • ssh_config (5): краще документ ExitOnForwardFailure. bz # 2444
  • sshd (5): вкажіть внутрішні групи DH-GEX в інструкції. bz # 2302
  • sshd_config (5): краще опис параметра MaxSessions. bz # 2531
  • Портативність:
  • ssh (1), sftp-сервер (8), ssh-agent (1), sshd (8): Підтримка Illumos / Solaris дрібнозернистих привілеїв. Включаючи попередню автоскладу privsep і кілька ігор (). bz # 2511
  • Відновіть redhat / openssh.spec, видаливши застарілі параметри та синтаксис.
  • налаштувати: дозволити --without-ssl-движок за допомогою --without-openssl
  • sshd (8): виправлення декількох автентифікацій за допомогою S / Key. bz # 2502
  • sshd (8): прочитайте назад з libcrypto RAND_, перш ніж скидати привілеї. Уникає ізоляції з BoringSSL.
  • Виправте зіставку імен за допомогою системних функцій glob (3). bz # 2463
  • Пристосувати Makefile для використання ssh-keygen -A під час створення ключів хоста. bz # 2459
  • налаштувати: правильне значення за замовчуванням для --with-ssh1 bz # 2457
  • налаштувати: краще визначити символ _res символу bz # 2259
  • підтримка getrandom () syscall на Linux

Що нового у версії 7.1:

  • Безпека:
  • sshd (8): OpenSSH 7.0 містила логічну помилку в PermitRootLogin = prohibit-password / without-password, яка, залежно від конфігурації часу компіляції, може дозволити паролю автентифікацію до кореневої системи, у той час як запобігання іншим формам автентифікації. Про це повідомив Мантас Мікуланес.
  • Виправлення помилок:
  • ssh (1), sshd (8): додавання шляхів сумісності для FuTTY
  • ssh (1), sshd (8): уточнити шляхи сумісності для WinSCP
  • Виправте ряд несправностей пам'яті (без подвійного, вільного від неініціалізованої пам'яті тощо) у ssh (1) та ssh-keygen (1). Про це повідомляє Матеуш Коцюльскі.

Інші програми розробника OpenBSD Project

Portable OpenSSH
Portable OpenSSH

22 Jun 18

OpenSMTPD
OpenSMTPD

28 Sep 15

OpenSSH

Коментар не знайдено
додати коментар
Включіть картинки!