- tinysshd là một máy chủ SSH tối giản chỉ triển khai một phần các tính năng của SSHv2
- Chỉ hỗ trợ các cơ chế mật mã an toàn, cung cấp tối thiểu 128 bit bảo mật và có biện pháp chống lại các cuộc tấn công timing trên cache
- Không triển khai các cơ chế mật mã cũ như RSA, DSA, HMAC-MD5, HMAC-SHA1, 3DES, RC4
- Không triển khai các tính năng không an toàn như xác thực bằng mật khẩu hoặc xác thực dựa trên host
- Cũng không cung cấp các tính năng như giao thức SSH1, nén, port forwarding, agent forwarding, X11 forwarding
- Không sử dụng cấp phát bộ nhớ động nên không gặp các vấn đề như lỗi cấp phát
Các primitive mật mã
- Công nghệ mật mã hiện đại: ssh-ed25519, curve25519-sha256, chacha20-poly1305@openssh.com
- Các tiêu chuẩn trước đây (đã bị loại bỏ trong phiên bản 20190101): ecdsa-sha2-nistp256, ecdh-sha2-nistp256, aes256-ctr, hmac-sha2-256
- Mật mã sẵn sàng cho máy tính lượng tử: sntrup761x25519-sha512@openssh.com, chacha20-poly1305@openssh.com
Dòng thời gian dự án
- Giai đoạn thử nghiệm (2014): phục vụ mục đích thử nghiệm
- Giai đoạn alpha (2015-2017): chưa phù hợp cho môi trường production nhưng đã sẵn sàng để kiểm thử
- Giai đoạn beta (từ 2018 đến nay): phù hợp cho production
- Giai đoạn ổn định: dự kiến sẽ phù hợp cho môi trường production, bao gồm cả mật mã sẵn sàng cho máy tính lượng tử
Bản phát hành hiện tại (20240101)
- Mã nguồn gồm 63899 từ.
- Đang ở trạng thái phát hành beta.
Cách chạy
- 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: thêm
ssh stream tcp nowait root /usr/sbin/tinysshd tinysshd -l -v /etc/tinyssh/sshkeydir vào tệp /etc/inetd.conf
- SYSTEMD: cấu hình và chạy dịch vụ thông qua các tệp
tinysshd.socket và tinysshd@.service
Ý kiến của GN⁺
- tinysshd là một máy chủ SSH với bộ tính năng tối thiểu, nổi bật ở thiết kế tập trung vào bảo mật. Ưu điểm là nhẹ do không có tính năng dư thừa, và có khả năng ít tồn tại lỗ hổng bảo mật hơn.
- Máy chủ SSH là thành phần cốt lõi của an ninh mạng, vì vậy cách tiếp cận tối giản như tinysshd có thể đặc biệt hữu ích trong những môi trường coi trọng bảo mật.
- Tuy vậy, với một số người dùng, việc thiếu các tính năng nâng cao như port forwarding hoặc X11 forwarding có thể là một nhược điểm.
- Việc hỗ trợ mật mã sẵn sàng cho máy tính lượng tử cho thấy một hướng tiếp cận mang tính tương lai, phản ánh sự quan tâm và cập nhật liên tục về bảo mật.
- Một dự án mã nguồn mở khác cung cấp chức năng tương tự là OpenSSH; dự án này có nhiều tính năng hơn, nhưng cũng phức tạp hơn và có nhiều khía cạnh bảo mật cần quản lý hơn.
- Khi áp dụng tinysshd, cần cân nhắc xem các giới hạn về tính năng có phù hợp với yêu cầu của dự án hay không; lợi ích nhận được là sự đơn giản và bảo mật được tăng cường, còn phần đánh đổi là thiếu một số tính năng nâng cao.
1 bình luận
Ý kiến trên Hacker News
Các trường hợp sử dụng TinySSH:
dm-crypt/LUKSvà ZFS trên máy chủ NAS không có màn hình.Các liên kết liên quan đến TinySSH:
Ý kiến về lượng mã của TinySSH:
Phạm vi hỗ trợ của TinySSH:
ed25519-sk.Khả năng kiểm toán của TinySSH:
Câu hỏi về sự khác biệt giữa TinySSH và Dropbear SSH.
Ý kiến về việc thay thế OpenSSH:
Lời khen cho công việc của nhà phát triển TinySSH:
Các tính năng an toàn của TinySSH: