


Bagaimana untuk mengesahkan konfigurasi dan dasar perkhidmatan SSH dari jauh melalui ssh_scan
导读 | ssh_scan是一个面向 Linux 和 UNIX 服务器的易用的 SSH 服务参数配置和策略的扫描器程序,其思路来自Mozilla OpenSSH安全指南,这个指南为 SSH 服务参数配置提供了一个可靠的安全策略基线的建议,如加密算法(Ciphers),报文认证信息码算法(MAC),密钥交换算法(KexAlgos)和其它。 |
ssh_scan有如下好处:
- 它的依赖是最小化的,ssh_scan只引入了本地 Ruby 和 BinData 来进行它的工作,没有太多的依赖。
- 它是可移植的,你可以在其它的项目中使用ssh_scan或者将它用在自动化任务上。
- 它是易于使用的,只需要简单的将它指向一个 SSH 服务就可以获得一个该服务所支持的选项和策略状态的 JSON 格式报告。
- 它同时也是易于配置的,你可以创建适合你策略需求的策略。
建议阅读:如何在 Linux 上安装配置 OpenSSH 服务
如何在 Linux 上安装 ssh_scan有如下三种安装ssh_scan 的方式:
使用 Ruby gem 来安装运行,如下:
----------- 在 Debian/Ubuntu ----------- $ sudo apt-get install ruby gem $ sudo gem install ssh_scan ----------- 在 CentOS/RHEL ----------- # yum install ruby rubygem # gem install ssh_scan
使用docker 容器来运行,如下:
# docker pull mozilla/ssh_scan # docker run -it mozilla/ssh_scan /app/bin/ssh_scan -t github.com
使用源码安装运行,如下:
# 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 上使用 ssh_scan
使用ssh_scan的语法如下:
$ ssh_scan -t ip地址 $ ssh_scan -t 主机名
举个例子来扫描 192.168.43.198 这台服务器的 SSH 配置和策略,键入:
$ ssh_scan -t 192.168.43.198
注意你同时也可以像下方展示的给-t选项传入一个[IP地址/地址段/主机名]:
$ ssh_scan -t 192.168.43.198,200,205 $ ssh_scan -t test.tecmint.lan
输出示例:
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 protected]", "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 protected]", "aes128-ctr", "aes192-ctr", "aes256-ctr", "[email protected]", "[email protected]" ], "encryption_algorithms_server_to_client": [ "[email protected]", "aes128-ctr", "aes192-ctr", "aes256-ctr", "[email protected]", "[email protected]" ], "mac_algorithms_client_to_server": [ "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "hmac-sha2-256", "hmac-sha2-512", "hmac-sha1" ], "mac_algorithms_server_to_client": [ "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "hmac-sha2-256", "hmac-sha2-512", "hmac-sha1" ], "compression_algorithms_client_to_server": [ "none", "[email protected]" ], "compression_algorithms_server_to_client": [ "none", "[email protected]" ], "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 protected], [email protected], [email protected], hmac-sha1", "Remove these Authentication Methods: password" ], "references": [ "https://wiki.mozilla.org/Security/Guidelines/OpenSSH" ] } } ]
你可以使用-p选项来指定不同的端口,-L选项来开启日志记录配合-V选项来指定日志级别:
$ ssh_scan -t 192.168.43.198 -p 22222 -L ssh-scan.log -V INFO
另外,可以使用-P或--policy选项来指定一个策略文件(默认是 Mozilla Modern):
$ ssh_scan -t 192.168.43.198 -L ssh-scan.log -V INFO -P /path/to/custom/policy/file
ssh_scan 使用帮助与其它示例:
$ ssh_scan -h
输出示例:
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 服务器相关参考阅读:
- 使用 SSH Keygen(ssh-keygen)五步实现 SSH 免密登录
- 安全 SSH 服务器的 5 个最佳实践
- 使用 Chroot 来限制 SSH 用户进入某些目录
- 如何配置 SSH 连接来简化远程登录
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan konfigurasi dan dasar perkhidmatan SSH dari jauh melalui ssh_scan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!


Selama bertahun -tahun, pengedaran perisian Linux bergantung pada format asli seperti DEB dan RPM, yang mendalam dalam setiap ekosistem pengedaran. Walau bagaimanapun, Flatpak dan Snap telah muncul, menjanjikan pendekatan sejagat untuk pembungkusan aplikasi. Artikel ini Examin

Perbezaan antara Linux dan Windows dalam pengendalian pemacu peranti terutamanya ditunjukkan dalam fleksibiliti pengurusan pemandu dan persekitaran pembangunan. 1. Linux mengamalkan reka bentuk modular, dan pemandu boleh dimuatkan dan dipasang secara dinamik. Pemaju perlu mempunyai pemahaman yang mendalam tentang mekanisme kernel. 2. Windows bergantung pada ekosistem Microsoft, dan pemandu perlu dibangunkan melalui WDK dan ditandatangani dan disahkan. Perkembangan ini agak rumit tetapi memastikan kestabilan dan keselamatan sistem.

Model keselamatan Linux dan Windows masing -masing mempunyai kelebihan mereka sendiri. Linux menyediakan fleksibiliti dan kebolehpercayaan, membolehkan keselamatan melalui kebenaran pengguna, keizinan sistem fail, dan selinux/apparmor. Windows memberi tumpuan kepada keramahan pengguna dan bergantung kepada WindowsDefender, UAC, Firewall dan Bitlocker untuk memastikan keselamatan.

Linux dan Windows berbeza dalam keserasian perkakasan: Windows mempunyai sokongan pemacu yang luas, dan Linux bergantung kepada komuniti dan vendor. Untuk menyelesaikan masalah keserasian Linux, anda boleh menyusun pemandu secara manual, seperti pengklonan RTL8188EU Repositori pemandu, menyusun dan memasang; Pengguna Windows perlu menguruskan pemandu untuk mengoptimumkan prestasi.

Perbezaan utama antara Linux dan Windows dalam sokongan virtualisasi adalah: 1) Linux menyediakan KVM dan XEN, dengan prestasi dan fleksibiliti yang luar biasa, sesuai untuk persekitaran penyesuaian yang tinggi; 2) Windows menyokong virtualisasi melalui Hyper-V, dengan antara muka yang mesra, dan disepadukan dengan ekosistem Microsoft, sesuai untuk perusahaan yang bergantung pada perisian Microsoft.

Tugas utama pentadbir sistem Linux termasuk pemantauan sistem dan penalaan prestasi, pengurusan pengguna, pengurusan pakej perisian, pengurusan keselamatan dan sandaran, penyelesaian masalah dan resolusi, pengoptimuman prestasi dan amalan terbaik. 1. Gunakan alat atas, HTOP dan lain -lain untuk memantau prestasi sistem dan menyesuaikannya. 2. Menguruskan akaun pengguna dan keizinan melalui arahan USERADD dan arahan lain. 3. Gunakan APT dan YUM untuk menguruskan pakej perisian untuk memastikan kemas kini sistem dan keselamatan. 4. Konfigurasi firewall, memantau log, dan lakukan sandaran data untuk memastikan keselamatan sistem. 5. menyelesaikan masalah dan menyelesaikan melalui analisis log dan penggunaan alat. 6. Mengoptimumkan parameter kernel dan konfigurasi aplikasi, dan ikuti amalan terbaik untuk meningkatkan prestasi sistem dan kestabilan.

Pembelajaran Linux tidak sukar. 1.Linux adalah sistem operasi sumber terbuka berdasarkan UNIX dan digunakan secara meluas dalam pelayan, sistem tertanam dan komputer peribadi. 2. Memahami sistem fail dan pengurusan kebenaran adalah kunci. Sistem fail adalah hierarki, dan keizinan termasuk membaca, menulis dan melaksanakan. 3. Sistem pengurusan pakej seperti APT dan DNF menjadikan pengurusan perisian mudah. 4. Pengurusan proses dilaksanakan melalui PS dan arahan teratas. 5. Mula belajar dari arahan asas seperti MKDIR, CD, Touch dan Nano, dan kemudian cuba penggunaan lanjutan seperti skrip shell dan pemprosesan teks. 6. Kesilapan umum seperti masalah kebenaran dapat diselesaikan melalui sudo dan chmod. 7. Cadangan Pengoptimuman Prestasi termasuk menggunakan HTOP untuk memantau sumber, membersihkan fail yang tidak perlu, dan menggunakan SY


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
