ssh_scan - Memverifikasi Konfigurasi dan Kebijakan Server SSH Anda di Linux
ssh_scan adalah prototipe konfigurasi SSH dan pemindai kebijakan yang mudah digunakan untuk server Linux dan UNIX, terinspirasi oleh Panduan Keamanan Mozilla OpenSSH, yang memberikan rekomendasi kebijakan dasar yang masuk akal untuk parameter konfigurasi SSH seperti Cipher, MAC , dan KexAlgos dan banyak lagi.
Ini memiliki beberapa manfaat berikut:
- Ia memiliki ketergantungan minimal, ssh_scan hanya menggunakan Ruby dan BinData asli untuk melakukan tugasnya, tidak ada ketergantungan yang berat.
- Ini portabel, Anda dapat menggunakan ssh_scan di proyek lain atau untuk otomatisasi tugas.
- Mudah digunakan, cukup arahkan ke layanan SSH dan dapatkan laporan JSON tentang apa yang didukungnya dan status kebijakannya.
- Kebijakan ini juga dapat dikonfigurasi, Anda dapat membuat kebijakan khusus sendiri yang sesuai dengan kebutuhan kebijakan spesifik Anda.
Disarankan Baca: Cara Memasang dan Mengonfigurasi Server OpenSSH di Linux
Cara Install ssh_scan di Linux
Ada tiga cara untuk menginstal ssh_scan dan cara tersebut adalah:
Untuk menginstal dan menjalankan sebagai permata, ketik:
----------- On Debian/Ubuntu -----------
sudo apt-get install ruby gem
sudo gem install ssh_scan
----------- On CentOS/RHEL -----------
yum install ruby rubygem
gem install ssh_scan
Untuk menjalankan dari container buruh pelabuhan, ketik:
docker pull mozilla/ssh_scan
docker run -it mozilla/ssh_scan /app/bin/ssh_scan -t github.com
Untuk menginstal dan menjalankan dari sumber, ketik:
git clone https://github.com/mozilla/ssh_scan.git
cd ssh_scan
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
rvm install 2.3.1
rvm use 2.3.1
gem install bundler
bundle install
./bin/ssh_scan
Cara Menggunakan ssh_scan di Linux
Sintaks penggunaan ssh_scan adalah sebagai berikut:
ssh_scan -t ip-address
ssh_scan -t server-hostname
Misalnya untuk memindai konfigurasi SSH dan kebijakan server 92.168.43.198, masukkan:
ssh_scan -t 192.168.43.198
Perhatikan bahwa Anda juga dapat meneruskan [IP/Range/Hostname] ke opsi -t
seperti yang ditunjukkan pada opsi di bawah ini:
ssh_scan -t 192.168.43.198,200,205
ssh_scan -t test.tecmint.lan
Contoh Keluaran
I, [2017-05-09T10:36:17.913644 #7145] INFO -- : You're using the latest version of ssh_scan 0.0.19
[
{
"ssh_scan_version": "0.0.19",
"ip": "192.168.43.198",
"port": 22,
"server_banner": "SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1",
"ssh_version": 2.0,
"os": "ubuntu",
"os_cpe": "o:canonical:ubuntu:16.04",
"ssh_lib": "openssh",
"ssh_lib_cpe": "a:openssh:openssh:7.2p2",
"cookie": "68b17bcca652eeaf153ed18877770a38",
"key_algorithms": [
"[email ",
"ecdh-sha2-nistp256",
"ecdh-sha2-nistp384",
"ecdh-sha2-nistp521",
"diffie-hellman-group-exchange-sha256",
"diffie-hellman-group14-sha1"
],
"server_host_key_algorithms": [
"ssh-rsa",
"rsa-sha2-512",
"rsa-sha2-256",
"ecdsa-sha2-nistp256",
"ssh-ed25519"
],
"encryption_algorithms_client_to_server": [
"[email ",
"aes128-ctr",
"aes192-ctr",
"aes256-ctr",
"[email ",
"[email "
],
"encryption_algorithms_server_to_client": [
"[email ",
"aes128-ctr",
"aes192-ctr",
"aes256-ctr",
"[email ",
"[email "
],
"mac_algorithms_client_to_server": [
"[email ",
"[email ",
"[email ",
"[email ",
"[email ",
"[email ",
"[email ",
"hmac-sha2-256",
"hmac-sha2-512",
"hmac-sha1"
],
"mac_algorithms_server_to_client": [
"[email ",
"[email ",
"[email ",
"[email ",
"[email ",
"[email ",
"[email ",
"hmac-sha2-256",
"hmac-sha2-512",
"hmac-sha1"
],
"compression_algorithms_client_to_server": [
"none",
"[email "
],
"compression_algorithms_server_to_client": [
"none",
"[email "
],
"languages_client_to_server": [
],
"languages_server_to_client": [
],
"hostname": "tecmint",
"auth_methods": [
"publickey",
"password"
],
"fingerprints": {
"rsa": {
"known_bad": "false",
"md5": "0e:d0:d7:11:f0:9b:f8:33:9c:ab:26:77:e5:66:9e:f4",
"sha1": "fc:8d:d5:a1:bf:52:48:a6:7e:f9:a6:2f:af:ca:e2:f0:3a:9a:b7:fa",
"sha256": "ff:00:b4:a4:40:05:19:27:7c:33:aa:db:a6:96:32:88:8e:bf:05:a1:81:c0:a4:a8:16:01:01:0b:20:37:81:11"
}
},
"start_time": "2017-05-09 10:36:17 +0300",
"end_time": "2017-05-09 10:36:18 +0300",
"scan_duration_seconds": 0.221573169,
"duplicate_host_key_ips": [
],
"compliance": {
"policy": "Mozilla Modern",
"compliant": false,
"recommendations": [
"Remove these Key Exchange Algos: diffie-hellman-group14-sha1",
"Remove these MAC Algos: [email , [email , [email , hmac-sha1",
"Remove these Authentication Methods: password"
],
"references": [
"https://wiki.mozilla.org/Security/Guidelines/OpenSSH"
]
}
}
]
Anda dapat menggunakan -p
untuk menentukan port yang berbeda, -L
untuk mengaktifkan logger dan -V
untuk menentukan tingkat verbositas seperti yang ditunjukkan di bawah ini:
ssh_scan -t 192.168.43.198 -p 22222 -L ssh-scan.log -V INFO
Selain itu, gunakan file kebijakan khusus (defaultnya adalah Mozilla Modern) dengan -P
atau --policy [FILE]
seperti:
ssh_scan -t 192.168.43.198 -L ssh-scan.log -V INFO -P /path/to/custom/policy/file
Ketik ini untuk melihat semua opsi penggunaan ssh_scan dan contoh lainnya:
ssh_scan -h
Contoh Keluaran
ssh_scan v0.0.17 (https://github.com/mozilla/ssh_scan)
Usage: ssh_scan [options]
-t, --target [IP/Range/Hostname] IP/Ranges/Hostname to scan
-f, --file [FilePath] File Path of the file containing IP/Range/Hostnames to scan
-T, --timeout [seconds] Timeout per connect after which ssh_scan gives up on the host
-L, --logger [Log File Path] Enable logger
-O, --from_json [FilePath] File to read JSON output from
-o, --output [FilePath] File to write JSON output to
-p, --port [PORT] Port (Default: 22)
-P, --policy [FILE] Custom policy file (Default: Mozilla Modern)
--threads [NUMBER] Number of worker threads (Default: 5)
--fingerprint-db [FILE] File location of fingerprint database (Default: ./fingerprints.db)
--suppress-update-status Do not check for updates
-u, --unit-test [FILE] Throw appropriate exit codes based on compliance status
-V [STD_LOGGING_LEVEL],
--verbosity
-v, --version Display just version info
-h, --help Show this message
Examples:
ssh_scan -t 192.168.1.1
ssh_scan -t server.example.com
ssh_scan -t ::1
ssh_scan -t ::1 -T 5
ssh_scan -f hosts.txt
ssh_scan -o output.json
ssh_scan -O output.json -o rescan_output.json
ssh_scan -t 192.168.1.1 -p 22222
ssh_scan -t 192.168.1.1 -p 22222 -L output.log -V INFO
ssh_scan -t 192.168.1.1 -P custom_policy.yml
ssh_scan -t 192.168.1.1 --unit-test -P custom_policy.yml
Lihat beberapa artikel berguna di Server SSH:
- Login SSH Tanpa Kata Sandi Menggunakan SSH Keygen dalam 5 Langkah Mudah
- 5 Praktik Terbaik untuk Mengamankan Server SSH
- Batasi Akses Pengguna SSH ke Direktori Tertentu Menggunakan Chrooted Jail
- Cara Mengonfigurasi Koneksi SSH Khusus untuk Menyederhanakan Akses Jarak Jauh
Untuk lebih jelasnya kunjungi ssh_scan repositori Github: https://github.com/mozilla/ssh_scan
Pada artikel ini, kami menunjukkan cara mengatur dan menggunakan ssh_scan di Linux. Apakah Anda mengetahui alat serupa di luar sana? Beri tahu kami melalui formulir umpan balik di bawah, termasuk pemikiran lain mengenai panduan ini.