Введение
Linux считается безопасной системой, однако рекомендуется выполнить определенные настройки для повышения уровня безопасности вашей системы.
Вот несколько советов по обеспечению безопасности Ubuntu.
Это руководство по улучшению безопасности сервера Ubuntu 20.04 LTS Focal Fossa.
Создайте копию ключей RSA
Ключи SSH — это реализация криптографии с открытым ключом. Они решают проблему перебора паролей, делая их непрактичными. Ключи SSH обеспечивают простой и безопасный способ доступа к вашему серверу и рекомендуются для всех пользователей.
Создайте на своем компьютере копию ключей, с которой будете подключаться к серверу по SSH.
Из терминала дайте следующую команду:
ssh-keygen
Вы должны получить выходное сообщение, подобное следующему:
Generating public/private rsa key pair.
Enter file in which to save the key (/tua_home/.ssh/id_rsa):
Нажмите Enter, чтобы сохранить пару ключей в папке .ssh/, или укажите альтернативный путь.
Если ключи уже были сгенерированы, вы должны получить выходное сообщение, подобное следующему:
/home/tua_home/.ssh/id_rsa already exists.
Overwrite (y/n)?
ВНИМАНИЕ Если вы решите перезаписать ключ на диске, вы больше не сможете аутентифицироваться с помощью старого ключа.
После этого вы должны получить выходное сообщение, подобное следующему:
Enter passphrase (empty for no passphrase):
Для дополнительной безопасности вы можете ввести безопасную парольную фразу, что настоятельно рекомендуется. Парольная фраза добавляет дополнительный уровень безопасности, чтобы предотвратить вход неавторизованных пользователей.
После этого вы должны получить выходное сообщение, подобное следующему:
Your identification has been saved in /tua_home/.ssh/id_rsa.
Your public key has been saved in /tua_home/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3g8Vbc+Bb0Tb1Txb1Fh8dRQzehOkddxBqwVOdMnYC2g user@host
The key's randomart image is:
+---[RSA 2048]----+
| o+*^^|
| Eo+X=^|
|..=+OB|
| o*=o|
| S.. oo|
|.... |
|. o |
| o |
|. |
+----[SHA256]-----+
Скопируйте открытый ключ на сервер Ubuntu
Самый быстрый способ скопировать открытый ключ на хост Ubuntu — использовать ssh-copy-id. Если у вас нет ssh-copy-id на клиентском компьютере, вы можете использовать один из двух альтернативных методов, описанных ниже.
Чтобы использовать ssh-copy-id, просто укажите удаленный хост, к которому вы хотите подключиться, и учетную запись пользователя, к которой у вас есть доступ через пароль SSH:
ssh-copy-id user@ip_del_server_ubuntu
Вы можете получить выходное сообщение, подобное следующему:
The authenticity of host 'INDIRIZZO_IP (INDIRIZZO_IP)' can't be established.
ECDSA key fingerprint is SHA256:E3NlUzqo/QZm8PF1QD9grtkPm8NIzyp0wHfMZGB/t6M.
Are you sure you want to continue connecting (yes/no)? yes
Это означает, что ваш локальный компьютер не распознает удаленный хост. Это произойдет при первом подключении к новому хосту. Введите «yes» и нажмите ENTER, чтобы продолжить.
Далее утилита просканирует вашу локальную учетную запись на предмет созданного нами ранее ключа id_rsa.pub. Когда он найдет ключ, он запросит у вас пароль учетной записи удаленного пользователя.
Вы должны получить выходное сообщение, подобное следующему:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@INDIRIZZO_IP's password:
Введите пароль и нажмите ENTER. Содержимое вашего ключа ~/.ssh/id_rsa.pub будет скопировано в файл в домашнем каталоге ~/.ssh удаленной учетной записи с именем author_keys.
Вы должны получить выходное сообщение, подобное следующему:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user@INDIRIZZO_IP'"
and check to make sure that only the key(s) you wanted were added.
Для получения дополнительной информации см. специальную статью: Как настроить ключи SSH в Ubuntu 20.04 LTS.
Установите брандмауэр UFW
UFW (простой брандмауэр) — это приложение по умолчанию в Ubuntu для настройки брандмауэра.
UFW установлен по умолчанию в Ubuntu, если по какой-то причине он был удален, вы можете переустановить его с помощью следующей команды из терминала:
sudo apt update
sudo apt install ufw
Включите порты, необходимые для использования соединения через SSH:
sudo ufw allow ssh
sudo ufw allow http
Включите брандмауэр:
sudo ufw enable
Проверьте состояние брандмауэра.
sudo ufw status verbose
Для получения дополнительной информации см. специальную статью: Как настроить брандмауэр UFW в Ubuntu 20.04 LTS.
Настроить SSH-доступ
Лучший способ защитить SSH — использовать вход на основе открытого/закрытого ключа. (см. первый шаг этой статьи)
Если вам нужно использовать аутентификацию по паролю, самый простой способ защитить SSH — отключить корневой доступ и изменить порт SSH на что-то другое, кроме стандартного порта 22.
Перед отключением входа в систему root создайте нового пользователя SSH и убедитесь, что пользователь принадлежит к группе sudo.
Создайте нового пользователя:
adduser nuovoutente
По умолчанию новый пользователь находится только в своей группе, которая создается при создании учетной записи. Чтобы добавить пользователя в новую группу, мы можем использовать команду usermod:
usermod -aG sudo nuovoutente
Параметр -aG используется для добавления пользователя в группу, объявленную перед именем пользователя, в данном случае это группа sudo.
Если вы меняете порт SSH, оставьте номер порта ниже 1024, так как это привилегированные порты, которые могут быть открыты только пользователем root или процессами, работающими от имени пользователя root.
Если вы меняете порт SSH, также откройте новый выбранный вами порт в брандмауэре и закройте порт 22.
В терминале откройте файл конфигурации SSH:
sudo vi /etc/ssh/sshd_config
Добавьте или отредактируйте следующие строки:
Port <INSERISCI LA PORTA CHE PREFERISCI>
Protocol 2
PermitRootLogin no
DebianBanner no
Сохраните и закройте файл.
Перезапустите службу SSH:
sudo service ssh restart
Установить Fail2ban
Fail2ban расширяет мониторинг журналов на другие службы, включая SSH, Apache, Courier, FTP и другие. Fail2ban сканирует лог-файлы и автоматически блокирует IP-адреса, которые выполняют неожиданные операции, такие как: слишком много ошибок в пароле.
Для получения дополнительной информации см. специальную статью: Как настроить Fail2ban в Ubuntu 20.04 LTS.
Установка Ubuntu 20.04 LTS Focal Fossa завершена.