User Tools

Site Tools


безопасное_подключение_с_чужого_компьютера

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
безопасное_подключение_с_чужого_компьютера [2023/01/30 08:15]
val
безопасное_подключение_с_чужого_компьютера [2023/01/30 09:06]
val
Line 15: Line 15:
 https://​www.freebsd.org/​ru/​where/​ https://​www.freebsd.org/​ru/​where/​
  
-Установка не сильно отличается от установки Debian/​Ubuntu,​ для большинства экранов можно оставить значение по умолчанию. Здесь же можно настроить подключение к сети (для нашей задачи,​ система должна быть расположена так, что бы быть доступна "​снаружи"​ и, в свою очередь,​ иметь доступ "​внутрь"​). Сервер SSH, с необходимыми параметрами, будет запущен по умолчанию. Нюансом может показаться отсутствие sudo, поэтому,​ в процессе инсталляции надо будет задать пароль root а так же, создать учетную запись для администрирования системы (например,​ admin) включив ее в группу wheel, для которой разрешено использовать команду su. Если что-то упустили,​ всегда можно повторить,​ подключившись к консоли как root и набрав команду bsdconfig+Установка не сильно отличается от установки Debian/​Ubuntu,​ для большинства экранов можно оставить значение по умолчанию. Здесь же можно настроить подключение к сети (для нашей задачи,​ система должна быть расположена так, что бы быть доступна "​снаружи"​ и, в свою очередь,​ иметь доступ "​внутрь"​). Сервер SSH, с необходимым ​для работы OPIE параметром ChallengeResponseAuthentication yes, будет запущен по умолчанию. Нюансом может показаться отсутствие sudo, поэтому,​ в процессе инсталляции надо будет задать пароль root а так же, создать учетную запись для администрирования системы (например,​ admin) включив ее в группу wheel, для которой разрешено использовать команду su. Если что-то упустили,​ всегда можно повторить,​ подключившись к консоли как root и набрав команду bsdconfig
  
 По окончании процесса инсталляции подключаемся учетной записью администратора и поднимаем себе привилегии ​ По окончании процесса инсталляции подключаемся учетной записью администратора и поднимаем себе привилегии ​
Line 31: Line 31:
 </​code>​ </​code>​
  
-Теперь,​ ближе к нашей задаче,​ во FreeBSD уже "из коробки"​ библиотека PAM для сервиса sshd поддерживает OPIE+Теперь,​ ближе к нашей задаче,​ во FreeBSD уже "из коробки"​ библиотека PAM (Pluggable Authentication Modules) ​для сервиса sshd поддерживает OPIE
 <​code>​ <​code>​
 root@bsdgate:​~ # cat /​etc/​pam.d/​sshd root@bsdgate:​~ # cat /​etc/​pam.d/​sshd
Line 38: Line 38:
 ... ...
 </​code>​ </​code>​
-Это позволяет,​ даже не задавая unix пароль,​ задать для пользователя user1 "​мастер"​ пароль для генерации одноразовых паролей OPIE+Это позволяет,​ даже не задавая unix пароль,​ задать для пользователя user1 "​мастер"​ пароль ​(в документации - "​защищенный пароль"​) ​для генерации одноразовых паролей OPIE
 <​code>​ <​code>​
 root@bsdgate:​~ # su - user1 root@bsdgate:​~ # su - user1
Line 65: Line 65:
  
 https://​play.google.com/​store/​apps/​details?​id=de.ub0r.android.otpdroid https://​play.google.com/​store/​apps/​details?​id=de.ub0r.android.otpdroid
- 
  
 Для удобства,​ можно нажать на Enter, что позволит вводить одноразовый пароль с отображением его на экране,​ а так же не обязательно делать это в верхнем регистре:​ Для удобства,​ можно нажать на Enter, что позволит вводить одноразовый пароль с отображением его на экране,​ а так же не обязательно делать это в верхнем регистре:​
Line 79: Line 78:
 </​code>​ </​code>​
  
-Под капотом все  +Магия в том, что "​мастер"​ пароль хранится только в голове пользователя (ну или в программе OTPdroid на его телефоне),​ его НЕТ во FreeBSD!  
- ​хорошо написано в системе документации к FreeBSD - Handbook+ 
 +В системе есть такой файл: 
 + 
 +<​code>​ 
 +root@bsdgate:​~ # cat /​etc/​opiekeys 
 +user1 0499 bs6909 ​          ​dabea335c94a38c3 ​ Jan 30,2023 10:10:36 
 +</​code>​ 
 + 
 +и на этом этапе в нем хранится хэш 499-й итерации функции MD5 над ключом и "мастер" ​паролем. От пользователя в этот ​момент потребуется 498 пароль,​ над ним произведут операцию MD5 и сравнят со значением в /​etc/​opiekeys. Если значения совпадут,​ пользователя "​пустят"​ в систему (на самом деле, успешно отработает подсистема auth библиотеки PAM :) и в /​etc/​opiekeys запишется хэш 498-го пароля:​ 
 + 
 +<​code>​ 
 +root@bsdgate:​~ # cat /​etc/​opiekeys 
 +user1 0498 bs6909 ​          ​b4b034101201c6b1 ​ Jan 30,2023 10:59:38 
 +</​code>​ 
 + 
 +а для следующего подключения потребуется уже 497-й пароль. Красиво,​ правда?​ 
 + 
 +Все это ​хорошо написано в системе документации к FreeBSD - Handbook
  
 https://​docs.freebsd.org/​doc/​8.4-RELEASE/​usr/​share/​doc/​freebsd/​ru_RU.KOI8-R/​books/​handbook/​one-time-passwords.html https://​docs.freebsd.org/​doc/​8.4-RELEASE/​usr/​share/​doc/​freebsd/​ru_RU.KOI8-R/​books/​handbook/​one-time-passwords.html
  
-В заключение могу порекомендовать поменять порт ssh сервера на какой ни будь другой и усилить в систему сервисом fail2ban.+В заключение могу ​только ​порекомендовать поменять порт ssh сервера на какой ни будь другой и усилить в систему сервисом fail2ban.
  
 Спасибо,​ что дочитали до конца, буду рад, если попробуете и поделитесь мнением в комментариях! Спасибо,​ что дочитали до конца, буду рад, если попробуете и поделитесь мнением в комментариях!
безопасное_подключение_с_чужого_компьютера.txt · Last modified: 2023/01/30 11:08 by val