ssh_scan - Linux'ta SSH Sunucu Yapılandırmanızı ve Politikanızı Doğrular
ssh_scan, Linux ve UNIX sunucularına yönelik, Şifreler, MAC'ler gibi SSH yapılandırma parametreleri için makul bir temel politika önerisi sağlayan Mozilla OpenSSH Güvenlik Kılavuzu'ndan ilham alan, kullanımı kolay bir prototip SSH yapılandırması ve politika tarayıcısıdır. , KexAlgos ve çok daha fazlası.
Aşağıdaki avantajlardan bazılarına sahiptir:
- Minimum düzeyde bağımlılıkları vardır, ssh_scan işini yapmak için yalnızca yerel Ruby ve BinData'yı kullanır, ağır bağımlılıklar yoktur.
- Taşınabilirdir, ssh_scan'i başka bir projede veya görevlerin otomasyonu için kullanabilirsiniz.
- Kullanımı kolaydır, sadece onu bir SSH hizmetine yönlendirin ve neleri desteklediğine ve politika durumuna ilişkin bir JSON raporu alın.
- Ayrıca yapılandırılabilir; özel politika gereksinimlerinize uyan kendi özel politikalarınızı oluşturabilirsiniz.
Önerilen Okuma: Linux'ta OpenSSH Sunucusu Nasıl Kurulur ve Yapılandırılır
Linux'ta ssh_scan Nasıl Kurulur
ssh_scan'i kurmanın üç yolu vardır ve bunlar şunlardır:
Gem olarak yüklemek ve çalıştırmak için şunu yazın:
----------- 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
Docker kapsayıcısından çalıştırmak için şunu yazın:
docker pull mozilla/ssh_scan
docker run -it mozilla/ssh_scan /app/bin/ssh_scan -t github.com
Kaynaktan yüklemek ve çalıştırmak için şunu yazın:
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
Linux'ta ssh_scan Nasıl Kullanılır
Ssh_scan'i kullanmanın sözdizimi aşağıdaki gibidir:
ssh_scan -t ip-address
ssh_scan -t server-hostname
Örneğin, 92.168.43.198 sunucusunun SSH yapılandırmalarını ve politikasını taramak için şunu girin:
ssh_scan -t 192.168.43.198
Aşağıdaki seçeneklerde gösterildiği gibi -t
seçeneğine de bir [IP/Aralık/Ana Bilgisayar Adı] iletebileceğinizi unutmayın:
ssh_scan -t 192.168.43.198,200,205
ssh_scan -t test.tecmint.lan
Örnek Çıktı
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"
]
}
}
]
Farklı bir bağlantı noktası belirtmek için -p
komutunu, günlükçüyü etkinleştirmek için -L
ve ayrıntı düzeyini tanımlamak için -V
komutunu aşağıda gösterildiği gibi kullanabilirsiniz:
ssh_scan -t 192.168.43.198 -p 22222 -L ssh-scan.log -V INFO
Ek olarak, aşağıdaki gibi -P
veya --policy [FILE]
ile özel bir politika dosyası (varsayılan Mozilla Modern'dir) kullanın:
ssh_scan -t 192.168.43.198 -L ssh-scan.log -V INFO -P /path/to/custom/policy/file
Tüm ssh_scan kullanım seçeneklerini ve daha fazla örneği görüntülemek için bunu yazın:
ssh_scan -h
Örnek Çıktı
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
SSH Sunucusunda bazı yararlı makalelere göz atın:
- 5 Kolay Adımda SSH Keygen Kullanarak SSH Şifresiz Giriş
- SSH Sunucusunu Güvenli Hale Getirmek İçin En İyi 5 Uygulama
- Chrooted Jail Kullanarak SSH Kullanıcısının Belirli Dizine Erişimini Kısıtlama
- Uzaktan Erişimi Basitleştirmek için Özel SSH Bağlantıları Nasıl Yapılandırılır
Daha fazla ayrıntı için ssh_scan Github deposunu ziyaret edin: https://github.com/mozilla/ssh_scan
Bu yazımızda sizlere Linux'ta ssh_scan kurulumu ve kullanımını gösterdik. Piyasada buna benzer araçlar biliyor musunuz? Bu kılavuzla ilgili diğer düşüncelerinizi de içeren aşağıdaki geri bildirim formunu kullanarak bize bildirin.