.png)
Итак, этот компьютер доступен через порт 22 (отовсюду).
Поскольку сообщения, указывающие на неудачные попытки входа (имена пользователей типа root, cgi, bash, production...), заполонили /var/log/auth.log, я отключил аутентификацию по паролю с внешних IP-адресов (используя только аутентификацию с открытым ключом).
И это работает, при попытке подключиться к этой машине по ssh с внешнего IP-адреса (без ключа) я даже не получаю приглашения на ввод имени пользователя:
В доступе отказано (открытый ключ).
Так как же все эти поддельные имена пользователей попадают в auth.log?
1 Aug 4 17:02:48 host sshd[17190]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=217.116.204.99 user=root 2 Aug 4 17:02:48 host sshd[17190]: pam_winbind(sshd:auth): getting password (0x00000388) 3 Aug 4 17:02:48 host sshd[17190]: pam_winbind(sshd:auth): pam_get_item returned a password 4 Aug 4 17:02:48 host sshd[17190]: pam_winbind(sshd:auth): request wbcLogonUser failed: WBC_ERR_AUTH_ERROR, PAM error:
PAM_USER_UNKNOWN (10), NTSTATUS: NT_STATUS_NO_SUCH_USER, Ошибка 4 возраст: Такого пользователя нет
5 авг. 4 17:02:50 хост sshd[17190]: Неверный пароль для root с 217.116.204.99 порт 40054 ssh2
6 авг. 4 17:02:50 хост sshd[17190]: Получено отключение от 217.116.204.99: 11: Пока Пока [preauth]
...
513322 7 апр. 19:45:40 хост sshd[15986]: input_userauth_request: недопустимый пользовательский cgi [preauth]
...
решение1
Хотя вы не вводите имя пользователя, если вы подключаетесь с рабочей станции Linux/OSX/BSD, имя пользователя подразумевается (по умолчанию это имя пользователя, под которым вы вошли в систему). Если у вас Windows и вы используете Putty, попробуйте подключиться без установки имени пользователя для автоматического входа и введите ключ, система попросит ввести имя пользователя, чтобы попытаться сопоставить пару.
Ключи заменяют только пароли, каждый из них связан с пользователем (и, соответственно, именем пользователя), поэтому вы найдете файл authorized_keys
в формате ~/.ssh/
.
Вероятно, вы видите, что злоумышленники делают что-то похожее на ssh bash@<your.server.ip>
. Сервер видит имя пользователя, но поскольку они не представляют ключ, им отказывают в доступе.