ฉันจะแสดงรายการ MAC, Ciphers และ KexAlogrithms ที่รองรับโดยเซิร์ฟเวอร์ ssh ของฉันได้อย่างไร


19

ฉันจะกำหนด MAC, Ciphers, Key length และ KexAlogrithms ที่รองรับโดยเซิร์ฟเวอร์ ssh ของฉันได้อย่างไร

ฉันต้องการสร้างรายการสำหรับการตรวจสอบความปลอดภัยภายนอก openssl s_client -connect example.com:443 -showcertsฉันกำลังมองหาสิ่งที่คล้ายกับ จากการวิจัยของฉันใช้ยันต์เริ่มต้นที่ระบุไว้ในssh man sshd_configแต่ฉันต้องแก้ปัญหาที่ฉันสามารถใช้ในสคริปต์และman sshd_configไม่ได้รายการข้อมูลเกี่ยวกับความยาวที่สำคัญ ฉันต้องการที่จะแก้ไขตัวเองที่นี่: คุณสามารถระบุในServerKeyBitssshd_config

ฉันเดาว่าssh -vv localhost &> ssh_connection_specs.outจะส่งคืนข้อมูลที่ฉันต้องการ แต่ฉันไม่แน่ใจว่า ciphers ที่แสดงรายการเป็น ciphers ที่รองรับไคลเอนต์หรือเซิร์ฟเวอร์ นอกจากนี้ฉันไม่แน่ใจว่าจะเรียกใช้งานที่ไม่โต้ตอบในสคริปต์ได้อย่างไร

มีวิธีที่สะดวกในการรับSSHข้อมูลการเชื่อมต่อหรือไม่


3
เปิดใช้งานsshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"ตามที่แนะนำโดย @Jakuje ทำงานกับโฮสต์ RHEL7 เท่านั้น แต่ไม่ใช่ RHEL6 ฉันใช้nmap --script SSH2-hostkey localhostและnmap --script ssh-hostkey localhost
Henrik Pingel

ssh -vvส่งออกฟังก์ชันการทำงานที่ได้รับการสนับสนุนในฐานะไคลเอนต์ไปยังเซิร์ฟเวอร์ (ctos) และเซิร์ฟเวอร์ไปยังไคลเอนต์ (stoc) อย่างไรก็ตามดูเหมือนว่าผลลัพธ์เหล่านั้นจะถูก จำกัด ด้วยสิ่งที่ทั้งสองฝ่ายสนับสนุนทำให้มีประโยชน์น้อยกว่าสำหรับการตรวจสอบความปลอดภัย
Moshe

คำตอบ:


18

คุณพลาดคำถามสองสามข้อ:

  • รุ่น openssh ของคุณคืออะไร? มันสามารถแตกต่างกันเล็กน้อยกว่ารุ่น
  • ServerKeyBits เป็นตัวเลือกสำหรับโพรโทคอลรุ่น 1 ซึ่งคุณได้ปิดการใช้งานหวังว่า!

สนับสนุนยันต์แม็คและ KexAlgorithms มักจะใช้ได้ในคู่มือนี้และไม่ได้มีอะไรที่เหมือนกันกับความยาวที่สำคัญ

Chiphers ที่เปิดใช้งาน , MAC และ KexAlgorithms เป็นสิ่งที่เสนอให้โดยใช้การเชื่อมต่อตามที่คุณชี้ให้เห็น แต่พวกเขาสามารถได้รับในรูปแบบอื่นเช่นการใช้sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"

ในการรับความยาวคีย์ของคีย์เซิร์ฟเวอร์ของคุณคุณสามารถใช้ ssh-keygen: ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

แต่คุณอาจจะต้องการที่ยังมีขนาดโมดูลที่มีการเสนอและใช้ในระหว่างการแลกเปลี่ยนคีย์ แต่จริงๆมันขึ้นอยู่กับวิธีการแลกเปลี่ยนคีย์ ssh -vvv hostแต่มันควรจะเป็นยังสามารถอ่านได้จากการส่งออกการแก้ปัญหา


1
ขอบคุณ ปรากฎว่าsshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"ทำงานได้กับโฮสต์ RHEL7 ของฉันเท่านั้น แต่ไม่ใช่ RHEL6 ฉันใช้nmap --script SSH2-hostkey localhostและnmap --script ssh-hostkey localhost
Henrik Pingel

1
โฮสต์ RHEL6 ที่มีการอัพเดต openssh ล่าสุดควรแก้ไขเช่นกัน
Jakuje

หืมคุณพูดถูก ฉันตรวจสอบ VM ที่ล้าสมัยแล้วเท่านั้น ... ขอบคุณ
Henrik Pingel

sshd -T จะเสนอเฉพาะข้อมูลเกี่ยวกับ ciphers ที่กำหนดค่าในไฟล์ sshd_config ไม่ใช่สิ่งที่สามารถเพิ่มลงไปได้อย่างแน่นอนเพราะมันถูกสนับสนุนโดยไบนารี
Daniel J.

11

ฉันจะกำหนด MAC, Ciphers, Key length และ KexAlogrithms ที่รองรับโดยเซิร์ฟเวอร์ ssh ของฉันได้อย่างไร

ดูเหมือนว่าคำตอบใน/superuser//a/1219759/173408ก็เป็นคำตอบสำหรับคำถามของคุณ มันเหมาะกับหนึ่งบรรทัด:

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

นี่คือผลลัพธ์บนเครื่อง Debian 9.4 ธรรมดาที่มีเวอร์ชั่น SSH ปัจจุบัน:

เริ่มต้น Nmap 7.01 (https://nmap.org) ที่ 2018-05-22 13:40 CEST
รายงานการสแกน Nmap สำหรับ 1.2.3.4
โฮสต์ขึ้น (เวลาแฝง 0.00024 วินาที)
PORT STATE SERVICE VERSION
22 / tcp open ssh OpenSSH 7.4p1 Debian 10 + deb9u3 (โปรโตคอล 2.0)
| SSH2-enum-Algos:
| kex_algorithms: (10)
| curve25519-SHA256
| curve25519-sha256@libssh.org
| ecdh-sha2-nistp256
| ecdh-sha2-nistp384
| ecdh-sha2-nistp521
| Diffie-Hellman กลุ่มแลกเปลี่ยน-SHA256
| Diffie-Hellman-group16-SHA512
| Diffie-Hellman-group18-SHA512
| Diffie-Hellman-group14-SHA256
| Diffie-Hellman-group14-sha1
| server_host_key_algorithms: (5)
| SSH-RSA
| RSA-sha2-512
| RSA-sha2-256
| ECDSA-sha2-nistp256
| SSH-ed25519
| encryption_algorithms: (6)
| chacha20-poly1305@openssh.com
| AES128-CTR
| aes192-CTR
| AES256-CTR
| aes128-gcm@openssh.com
| aes256-gcm@openssh.com
| mac_algorithms: (10)
| umac-64-etm@openssh.com
| umac-128-etm@openssh.com
| hmac-sha2-256-etm@openssh.com
| hmac-sha2-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
| compression_algorithms: (2)
| ไม่มี
| _ zlib@openssh.com
ข้อมูลบริการ: ระบบปฏิบัติการ: Linux; CPE: cpe: / o: linux: linux_kernel

ดำเนินการตรวจสอบบริการ โปรดรายงานผลลัพธ์ที่ไม่ถูกต้องที่ https://nmap.org/submit/
Nmap เรียบร้อยแล้ว: สแกน 1 IP address (1 host up) ใน 0.52 วินาที

1
ฉันได้PORT STATE SERVICE VERSION 22/tcp filtered sshรับคำสั่งด้วย - แม้ว่าฉันจะสามารถเข้าสู่เซิร์ฟเวอร์เดียวกันผ่าน ssh
เฮ้

คุณใช้คำสั่งอย่างแท้จริงหรือแทนที่1.2.3.4ด้วย IP ของเซิร์ฟเวอร์ของคุณหรือไม่
Stéphane Gourichon

ฉันใช้ IP ของเซิร์ฟเวอร์ของฉัน
เฮ้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.