Làm cách nào tôi có thể liệt kê MAC, Mật mã và KexAlogrithms được hỗ trợ bởi máy chủ ssh của tôi?


18

Làm cách nào tôi có thể xác định MAC, Mật mã, Độ dài khóa và KexAlogrithms được hỗ trợ bởi các máy chủ ssh của tôi?

Tôi cần tạo một danh sách cho kiểm toán bảo mật bên ngoài. Tôi đang tìm kiếm một cái gì đó tương tự openssl s_client -connect example.com:443 -showcerts. Từ nghiên cứu của tôi, việc sshsử dụng các mật mã mặc định như được liệt kê trong man sshd_config. Tuy nhiên tôi cần một giải pháp tôi có thể sử dụng trong tập lệnh man sshd_configkhông liệt kê thông tin về độ dài khóa . Tôi cần phải tự sửa ở đây: Bạn có thể chỉ định ServerKeyBitstrong sshd_config.

Tôi đoán rằng ssh -vv localhost &> ssh_connection_specs.outsẽ trả về thông tin tôi cần nhưng tôi không chắc liệu mật mã được liệt kê là mật mã được hỗ trợ bởi máy khách hay bởi máy chủ. Ngoài ra, tôi không chắc chắn làm thế nào để chạy không tương tác này trong một tập lệnh.

Có một cách thuận tiện để có được SSHthông tin kết nối?


2
hóa ra là sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"như được đề xuất bởi @Jakuje chỉ hoạt động trên các máy chủ RHEL7, nhưng không hoạt động trên RHEL6. Tôi đã kết thúc bằng cách sử dụng nmap --script SSH2-hostkey localhostnmap --script ssh-hostkey localhost
Henrik Pingel

ssh -vvxuất các chức năng được hỗ trợ như máy khách đến máy chủ (ctos) và máy chủ cho máy khách (stoc). Tuy nhiên, dường như những đầu ra đó bị giới hạn ở những gì cả hai bên hỗ trợ, khiến chúng ít hữu ích hơn cho kiểm toán bảo mật.
Moshe

Câu trả lời:


17

Bạn bỏ lỡ một vài điểm trong câu hỏi của bạn:

  • Phiên bản openssh của bạn là gì? Nó có thể khác nhau một chút so với các phiên bản.
  • ServerKeyBits là tùy chọn cho giao thức phiên bản 1, mà bạn hy vọng đã bị vô hiệu hóa!

Các thuật toán mã hóa, MAC và thuật toán được hỗ trợ luôn có sẵn trong hướng dẫn sử dụng và điều này không có gì chung với độ dài khóa.

Kích hoạt Chiphers, MAC và KexAlacticms là những thứ được cung cấp bằng cách sử dụng kết nối như bạn chỉ ra. Nhưng họ cũng có thể đạt được bằng những cách khác, ví dụ như sử dụngsshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"

Để có được độ dài khóa của (các) khóa máy chủ của bạn, bạn có thể sử dụng ssh-keygen: ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

nhưng có lẽ bạn cũng muốn các kích thước mô đun được cung cấp và sử dụng trong quá trình trao đổi khóa, nhưng nó thực sự phụ thuộc vào phương thức trao đổi khóa, nhưng cũng có thể đọc được từ đầu ra gỡ lỗi ssh -vvv host.


1
cảm ơn. Hóa ra sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"chỉ có các máy chủ RHEL7 của tôi hoạt động, nhưng không hoạt động với RHEL6. Tôi đã kết thúc bằng cách sử dụng nmap --script SSH2-hostkey localhostnmap --script ssh-hostkey localhost
Henrik Pingel

1
Máy chủ RHEL6 với bản cập nhật openssh mới nhất cũng nên sửa nó.
Jakuje

chết tiệt, bạn đúng về điều đó Tôi chỉ kiểm tra một máy ảo lỗi thời ... cảm ơn
Henrik Pingel

sshd -T sẽ chỉ cung cấp thông tin về các mật mã được cấu hình trong tệp sshd_config, chứ không phải những gì thực sự có thể được thêm vào nó như được hỗ trợ bởi nhị phân
Daniel J.

10

Làm cách nào tôi có thể xác định MAC, Mật mã, Độ dài khóa và KexAlogrithms được hỗ trợ bởi các máy chủ ssh của tôi?

Có vẻ như câu trả lời trên /superuser//a/1219759/173408 cũng là một câu trả lời cho câu hỏi của bạn. Nó phù hợp trong một dòng:

nmap --script ssh2-enum-algos -sV -p 22 1.2.3.4

Đây là đầu ra trên máy Debian 9.4 đơn giản với phiên bản SSH hiện tại:

Bắt đầu Nmap 7.01 (https://nmap.org) vào 2018-05-22 13:40 CEST
Báo cáo quét Nmap cho 1.2.3.4
Máy chủ đã hết (độ trễ 0,00024s).
PHIÊN BẢN DỊCH VỤ NHÀ NƯỚC
22 / tcp mở ssh OpenSSH 7.4p1 Debian 10 + deb9u3 (giao thức 2.0)
| ssh2-enum-algos:
| kex_alacticms: (10)
| đường cong25519-sha256
| đường cong25519-sha256@libssh.org
| ecdh-sha2-nistp256
| ecdh-sha2-nistp384
| ecdh-sha2-nistp521
| diffie-hellman-nhóm-trao đổi-sha256
| diffie-hellman-nhóm16-sha512
| diffie-hellman-nhóm18-sha512
| diffie-hellman-nhóm14-sha256
| diffie-hellman-nhóm14-sha1
| server_host_key_alacticms: (5)
| ssh-rsa
| rsa-sha2-512
| rsa-sha2-256
| ecdsa-sha2-nistp256
| ssh-ed25519
| mã hóa thuật toán: (6)
| chacha20-poly1305@openssh.com
| aes128-ctr
| aes192-ctr
| aes256-ctr
| aes128-gcm@openssh.com
| aes256-gcm@openssh.com
| mac_alacticms: (10)
| umac-64-etm@openssh.com
| umac-128-etm@openssh.com
| hmac-sha2-256-etm@openssh.com
| hmac-sa2-512-etm@openssh.com
| hmac-sha1-etm@openssh.com
| umac-64@openssh.com
| umac-128@openssh.com
| hmac-sha2-256
| hmac-sha2-512
| hmac-sha1
| nén_al Thuật toán: (2)
| không ai
| _ zlib@openssh.com
Thông tin dịch vụ: HĐH: Linux; CPE: cpe: / o: linux: linux_kernel

Phát hiện dịch vụ được thực hiện. Vui lòng báo cáo bất kỳ kết quả không chính xác tại https://nmap.org/submit/.
Đã thực hiện Nmap: 1 địa chỉ IP (1 máy chủ lưu trữ) được quét trong 0,52 giây

1
Tôi nhận được một PORT STATE SERVICE VERSION 22/tcp filtered sshlệnh này - mặc dù tôi có thể đăng nhập vào cùng một máy chủ thông qua ssh.
hey

Bạn đã thực sự sử dụng lệnh, hoặc bạn đã thay thế 1.2.3.4bằng IP của máy chủ của bạn?
Stéphane Gourichon

Tôi đã sử dụng IP của máy chủ của tôi.
hey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.