Отключить аутентификацию по паролю
с и протокол командной строки для безопасного доступа к удаленному серверу Linux. Он обеспечивает безопасную и зашифрованную связь по сети и позволяет обмениваться данными по защищенному каналу между двумя серверами. Он широко используется системными администраторами для контролировать и управлять своими веб-серверами удаленного доступа. В этом руководстве показано, как защитить ваш SSH-сервер.Примечание : хотя данное руководство выполнено в Ubuntu, описанные действия применимы к большинству дистрибутивов Linux.
Установить и обновить SSH
Сначала обновите свою систему и установите необходимые пакеты.
Чтобы обновить систему и установить SSH-сервер на сервер и клиентские машины, выполните следующую команду:
sudo apt update && sudo apt upgrade sudo apt install ssh
Настроить SSH для входа без пароля
Существ
Contents
- 1 Установить и обновить SSH
- 2 Настроить SSH для входа без пароля
- 3 Файл конфигурации безопасного SSH
- 3.1 Изменить порт прослушивания SSH
- 3
Настроить SSH для входа без пароля
> - 3.3 Ограничить доступ пользователей
- 3.4 Отключить root-вход
- 3.5 Скрыть последний вход
- 3.6 Ограничить интерфейс для входа
- 3.7 Отключить аутентификацию по паролю
- 3.8 Отключить файлы.rhosts
- 3.9 Отключить аутентификацию на основе хоста
- 3.10 Установить время ожидания входа в систему
- 3.11 Установить максимальное количество стартовых подключений
- 3.12 Отключить переадресацию
- 3.13 Зарегистрировать дополнительную информацию
- 3.14 Отключить пустые пароли
- 3.15 Установить интервал простоя
- 3.16 Строгий режим
- 4 Безопасный SSH с помощью TCP-оболочек
- 5 Безопасный SSH с помощью iptables
- 6 Настройка SSH-подключений на локальном компьютере
- 7 Часто задаваемые вопросы
- 7.1 IP-адрес моего локального компьютера изменился. Можно ли получить доступ к моему серверу через SSH?
- 7.2 Мой сервер фильтрует файл хостов. Может быть, лучше использовать iptables для защиты моей системы?
- 7.3 Я потерял закрытый ключ от своего локального компьютера. Можно ли еще войти на мой сервер через SSH?
Установить и обновить SSH
-сервер: аутентификация по паролю и аутентификация с открытым ключом. Аутентификация по паролю — это очень простой метод, который легко использовать и взломать. Использование аутентификации по паролю очень небезопасно, особенно если используется слабый пароль. С другой стороны, ключи SSH обеспечивают простой и безопасный способ входа на удаленный сервер, и этот метод рекомендуется всем пользователям.На клиентском компьютере сгенерируйте ключи SSH с помощью следующей команды:
ssh-keygen
Нажимайте клавишу Enterпри каждом появлении запроса. В результате будут созданы два файла: «id_rsa.pub» (открытый ключ) и «id_rsa» (закрытый ключ).
На вашем сервере создайте следующую папку (если она не существует):
mkdir -p ~/.ssh/
Вернитесь на свой клиентский компьютер и скопируйте ключ SSH на свой сервер, используя следующую команду:
ssh-copy-id username@your.server.ip.address
На вашем сервере убедитесь, что папка «.ssh» имеет правильные права доступа к файлам.
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
Чтобы проверить, работает ли метод аутентификации с открытым ключом, попробуйте подключиться к вашему SSH-серверу с клиентского компьютера:
ssh username@your.server.ip.address
Если вы можете подключиться без ввода пароля, значит метод аутентификации с открытым ключом работает.
Примечание. Если вы используете Windows, используйте инструкции здесь для создания открытых/закрытых ключей SSH .
Файл конфигурации безопасного SSH
Файл «/etc/ssh/sshd_config» — это общесистемный файл конфигурации SSH, который позволяет вам устанавливать различные параметры для повышения безопасности SSH-сервера. Конфигурация по умолчанию в файле конфигурации очень небезопасна, поэтому вам необходимо сначала отредактировать ее и установить правильные параметры для повышения безопасности.
Чтобы отредактировать файл «/etc/ssh/sshd_config», запустите:
sudo nano /etc/ssh/sshd_config
Изменить порт прослушивания SSH
По умолчанию SSH прослушивает порт 22. Злоумышленники используют сканеры портов, чтобы узнать, запущена ли служба SSH или нет. Рекомендуется изменить порт по умолчанию.
Чтобы изменить порт по умолчанию на 2200, измените:
Port 22
до
Port 2200
Использовать только протокол 2
Версия 1 протокола содержит уязвимости безопасности. Протокол 2 является записью по умолчанию в Ubuntu.
Измените строку, показанную ниже:
Protocol 2
Ограничить доступ пользователей
Необходимо разрешить вход в SSH только определенным пользователям. Это может улучшить вашу безопасность. По умолчанию эта опция недоступна в файле конфигурации SSH.
Чтобы разрешить «user1» и «user2», добавьте следующую строку:
AllowUsers user1 user2
Чтобы запретить «baduser1» и «baduser2», добавьте следующую строку:
DenyUsers baduser1 baduser2
Отключить root-вход
Нет необходимости входить в систему как root через ssh по сети. Обычные пользователи также могут использовать su
или sudo
для получения доступа на корневом уровне. Большинство злоумышленников попытаются использовать для входа пользователя root. Это большой риск для безопасности, поэтому рекомендуется запре
Файл конфигурации безопасного SSH
лючить root-вход, измените строкуPermitRootLogin prohibit-password
до
PermitRootLogin no
Скрыть последний вход
Вы можете скрыть, кто вошел в систему последним, когда пользователь входит в систему.
Изменить строку
PrintLastLog yes
до
PrintLastLog no
Ограничить интерфейс для входа
По умолчанию SSH прослушивает все сетевые интерфейсы. Если вы хотите разрешить SSH-соединение с определенного IP-адреса, вы можете изменить строку:
#ListenAddress ::
до
ListenAddress 192.168.68.175
Отключить аутентификацию по паролюИспользовать только протокол 2
паролю представляет собой большой риск для безопасности, если используется слабый пароль. Использование «ssh-ключей» является хорошей практикой. «SSH-ключ» может содержать более 600 случайных символов, и его сложно взломать.
Для этого измените строку
# PasswordAuthentication yes
в
PasswordAuthentication no
Отключить файлы.rhosts
Файлы.rhosts определяют, какие пользователи могут получить доступ к r-командам (rsh, rcp, rlogin и т. д.) на локальном компьютере без пароля. По умолчанию файл.rhosts отключен; если нет, измените строки, как показано ниже.
IgnoreRhosts yes RhostsAuthentication no RSAAuthentication yes
Отключить аутентификацию на основе хоста
Аутентификация на основе хоста SSH более безопасна, чем аутентификация.rhosts. Однако не рекомендуется, чтобы хосты доверяли друг другу. По умолчанию эта опция отключена.
Если нет, измените строку, как показано ниже:
<Отключить root-вход
ation noУстановить время ожидания входа в систему
LoginGraceTime определяет, как долго после запроса на соединение сервер будет ждать перед отключением. Рекомендуется сократить это время до 60 секунд.
Для этого измените строку
LoginGraceTime 2m
до
LoginGraceTime 1m
Установить максимальное количество стартовых подключений
Настройка правильного максимального количества одновременных подключений к демону SSH может быть полезна против атаки методом перебора.
Для этого измените строку
#MaxСкрыть последний вход
>30:100
до
MaxStartups 2
Отключить переадресацию
Техника переадресации портов используется злоумышленниками для туннелирования сетевых подключений через сеанс SSH для входа в системы. По этой причине рекомендуется отключить эту опцию.
Для этого измените строку
X11Forwarding yes
до
X11Forwarding no
Зарегистрировать дополнительную информацию
По умолчанию SSH запис
Ограничить интерфейс для входа
ь дополнительную информацию, например, неудачные попытки входа в систему. измените значение этого параметра на «VERBOSE».Для этого измените строку
LogLevel INFO
до
LogLevel VERBOSE
Отключить пустые пароли
Необходимо запретить на вашем сервере пользователей с пустыми паролями. По умолчанию PermitEmptyPasswords
отключен в Ubuntu.
Если нет, измените строку, как показано ниже.
PermitEmptyPasswords no
Установить интервал простоя
По умолчанию этот параметр недоступен в файле конфигурации SSH по умолчанию, поэтому рекомендуется установить правильный тайм-аут простоя, чтобы избежать автоматического сеанса.
Для этого добавьте следующие строки:
ClientAliveInterval 300 ClientAliveCountMax 0
Строгий режим
Это предотвратит использование небезопасного домашнего каталога и прав доступа к ключевым файлам. По умолчанию эта опция включена.
Если нет, измените следующу