- O tinysshd é um servidor SSH minimalista que implementa apenas parte dos recursos do SSHv2
- Suporta no mínimo 128 bits de segurança e apenas criptografia segura contra ataques de cache timing
- Não implementa criptografias antigas como RSA, DSA, HMAC-MD5, HMAC-SHA1, 3DES e RC4
- Não implementa recursos inseguros como autenticação por senha ou baseada em host
- Também não oferece recursos como protocolo SSH1, compressão, encaminhamento de porta, encaminhamento de agente e encaminhamento X11
- Não usa alocação dinâmica de memória, evitando problemas como falhas de alocação
Primitivos criptográficos
- Criptografia moderna: ssh-ed25519, curve25519-sha256, chacha20-poly1305@openssh.com
- Padrões anteriores (removidos na versão 20190101): ecdsa-sha2-nistp256, ecdh-sha2-nistp256, aes256-ctr, hmac-sha2-256
- Criptografia preparada para computadores quânticos: sntrup761x25519-sha512@openssh.com, chacha20-poly1305@openssh.com
Linha do tempo do projeto
- Fase experimental (2014): voltada a experimentação
- Fase alfa (2015-2017): não adequada para produção, mas pronta para testes
- Fase beta (de 2018 até o presente): adequada para produção
- Fase de estabilização: espera-se que seja adequada para produção, incluindo criptografia preparada para computadores quânticos
Release atual (20240101)
- O código é composto por 63899 palavras.
- Está em status de release beta.
Como executar
- TCPSERVER:
tcpserver -HRDl0 0.0.0.0 22 /usr/sbin/tinysshd -v /etc/tinyssh/sshkeydir &
- BUSYBOX:
busybox tcpsvd 0 22 tinysshd -v /etc/tinyssh/sshkeydir &
- INETD: adicionar
ssh stream tcp nowait root /usr/sbin/tinysshd tinysshd -l -v /etc/tinyssh/sshkeydir ao arquivo /etc/inetd.conf
- SYSTEMD: configurar e executar o serviço por meio dos arquivos
tinysshd.socket e tinysshd@.service
Opinião do GN⁺
- O tinysshd é um servidor SSH com recursos mínimos, com um design claramente focado em segurança. Isso traz a vantagem de ser leve por não ter recursos excessivos e de possivelmente ter menos vulnerabilidades de segurança.
- Como o servidor SSH é um elemento central da segurança de rede, uma abordagem minimalista como a do tinysshd pode ser especialmente útil em ambientes onde a segurança é crítica.
- Por outro lado, para alguns usuários, a ausência de recursos avançados como encaminhamento de porta ou encaminhamento X11 pode ser uma desvantagem.
- O suporte a criptografia preparada para computadores quânticos é uma abordagem voltada para o futuro, refletindo atenção contínua à segurança e atualizações constantes.
- Um projeto open source semelhante é o OpenSSH, que oferece mais recursos, mas também é mais complexo e traz mais aspectos de segurança para administrar.
- Ao adotar o tinysshd, é preciso considerar se suas limitações de recursos atendem aos requisitos do projeto; os ganhos são simplicidade e segurança reforçada, enquanto a perda está na ausência de alguns recursos avançados.
1 comentários
Comentários do Hacker News
Casos de uso do TinySSH:
Links relacionados ao TinySSH:
Opinião sobre a quantidade de código do TinySSH:
Escopo de suporte do TinySSH:
Auditabilidade do TinySSH:
Pergunta sobre a diferença entre TinySSH e Dropbear SSH.
Opinião sobre substituir o OpenSSH:
Elogios ao trabalho do desenvolvedor do TinySSH:
Recursos de segurança do TinySSH: