LINUX.ORG.RU

OpenSSH 8.9

 ,


0

0

В этой версии:

  • В sshd устранена уязвимость, позволяющая получить доступ без аутентификации.
  • В переносимой версии OpenSSH в sshd удалена поддержка MD5.
  • В ssh, ssh-agent, ssh-add и sshd реализована подсистема для ограничения пересылки и использования ключей, которые добавлены в ssh-agent. Подсистема позволяет задать правила, которые определяют, как и где можно использовать ключи в ssh-agent.
  • В ssh, ssh-keygen и ssh-agent улучшена обработка ключей FIDO-токенов.
  • В ssh-add и ssh-agent добавлена возможность добавления в ssh-agent FIDO-ключей, защищённых PIN-кодом.
  • В ssh-keygen разрешён выбор алгоритма хэширования (sha512 или sha256) во время формирования подписи.

В будущем программу scp планируется перевести на использование протокола SFTP вместо устаревшего SCP/RCP.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

На опеннете ещё написано про постквантовую криптографию

В ssh и sshd в список KexAlgorithms, определяющий порядок выбора методов обмена ключами, по умолчанию добавлен гибридный алгоритм «sntrup761x25519-sha512@openssh.com» (ECDH/x25519 + NTRU Prime), стойкий к подбору на квантовых компьютерах. В версии OpenSSH 8.9 данный метод согласования добавлен между методами ECDH и DH, но в следующем выпуске его планируют задействовать по умолчанию.

Вроде бы это первый из так сказать мейнстримных продуктов, где внедряется алгоритм, якобы стойкий к квантовому криптоанализу.

TheAnonymous ★★★★★
()

В sshd устранена уязвимость, позволяющая получить доступ без аутентификации.

Не «позволяющая», а «теоретически могущая бы стать уязвимостью, если бы не пачка других защитных механизмов».

 * sshd(8): fix an integer overflow in the user authentication path
   that, in conjunction with other logic errors, could have yielded
   unauthenticated access under difficult to exploit conditions.

   This situation is not exploitable because of independent checks in
   the privilege separation monitor. Privilege separation has been
   enabled by default in since openssh-3.2.2 (released in 2002) and
   has been mandatory since openssh-7.5 (released in 2017). Moreover,
   portable OpenSSH has used toolchain features available in most
   modern compilers to abort on signed integer overflow since
   openssh-6.5 (released in 2014).

   Thanks to Malcolm Stagg for finding and reporting this bug.

firkax ★★★★★
()
Ответ на: комментарий от T3M4

Если ещё есть боярка у тебя, то это хорошо. Шикуешь.

Но скоро и её не будет, хехехехе.

anonymous
()

получить доступ без аутентификации.

перевод фразы неполный. на самом деле: при очень редком стечении обстоятельств.

crypt ★★★★★
()
Ответ на: комментарий от Jax_iv

Боярышник

Маргинальщина, фу( Предпочитаю более сложные вкусы для искушенных ценителей. Эхинацея, календула, полынь вообще как абсент…

T3M4
()
Ответ на: комментарий от mumpster

The scp protocol is outdated, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead.

(c) мейнтейнеры OpenSSH

https://wiki.archlinux.org/title/SCP_and_SFTP#Secure_copy_protocol_(SCP)

https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

чо первой ссылкой сказать-то хотел?

по второй - ну понятно, что неохота исправлять, проще объявить «старьём»

mumpster ★★★★★
()
Ответ на: комментарий от mumpster

Ах да, разработчики OpenSSH дебилы, рандомный регистрант с ЛОРа определённо умнее :D

Как ты предлагаешь «исправлять» протокол с зафиксированной семантикой, гений?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от T3M4

Полынь от глистов очень хорошо помогает. Но если у тебя глисты толерантны к этанолу, то бесполезняк.

anonymous
()
Ответ на: комментарий от mumpster

Ну так помог бы лохам этим пофиксить. Тебе жалко выходные потратить показать им как надо протоколы фиксить. А то действительно удумали — старьём объявить, нет бы починить как нормальные люди, сохраняя совместимость с оборудованием, которое ещё до твоего рождения в прод поставили.

Откуда вы такие лезете, ей-богу?

anonymous
()
Ответ на: комментарий от anonymous

Но если у тебя глисты толерантны к этанолу

Скорее всего да, толерантны, возможно они и к мухоморам приспособились

T3M4
()
Ответ на: комментарий от T3M4

Боярышник

Маргинальщина, фу

Ну здрасьте. Самый что ни есть мейнстримный мейнстрим.

thesis ★★★★★
()
Ответ на: комментарий от Sylvia
class RemotePortForwarderGlobalRequestDelegate: GlobalRequestDelegate {

    var forwarder: RemotePortForwarder?

    func tcpForwardingRequest(_ request: GlobalRequest.TCPForwardingRequest, handler: NIOSSHHandler, promise: EventLoopPromise<GlobalRequest.TCPForwardingResponse>) {
        switch request {
        case .listen(host: let host, port: let port):
            guard self.forwarder == nil else {
                promise.fail(SSHServerError.alreadyListening)
                return
            }
            
            let forwarder = RemotePortForwarder(inboundSSHHandler: handler)
            forwarder.beginListening(on: host, port: port, loop: promise.futureResult.eventLoop).map {
                GlobalRequest.TCPForwardingResponse(boundPort: $0)
            }.cascade(to: promise)
        }
    }

    deinit {
        // Все за ЖМУ/СЕЯТЕЛЕМ, пусть AAPL сами дожирают мясо их птенцов, которое "считалось очень вкусным"
    }
}
anonymous
()
Ответ на: комментарий от mumpster

«the scp protocol relies on the remote shell for wildcard expansion»

anonymous
()
Ответ на: комментарий от anonymous
pub async fn request_dynamic_forward(
        &mut self,
        listen_socket: &Socket<'_>,
    ) -> Result<NonZeroU8> {

        let fwd = Fwd::Dynamic { listen_socket };

        let request_id = self.get_request_id();
        self.write(&Request::OpenFwd { request_id, &fwd }).await?;
        
        // Пора собирать свои манатки и возвращаться домой слушать РАДИО БАНЯ ПОПРОШУ ТЕБЯ
        match self.read_response().await? {
            Response::RemotePort {
                response_id,
                remote_port,
            } => {
                Self::check_response_id(request_id, response_id)?;
                NonZeroU8::new(remote_port).ok_or(Error::InvalidPort)
            }
            //ЧТОБЫ МОРЕ ПЕЛО
            Response::PermissionDenied {
                response_id,
                reason,
            } => {
                Self::check_response_id(request_id, response_id)?;
                Err(Error::PermissionDenied(reason))
            }
            //СОЛНРЦЕ ГРЕЛО
            Response::Failure {
                response_id,
                reason,
            } => {
                Self::check_response_id(request_id, response_id)?;
                Err(Error::RequestFailure(reason))
            }
        }
    }
anonymous
()
Ответ на: комментарий от mumpster

Тем что сами авторы перестали поддерживать.

WatchCat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.