В данном руководстве мы предполагаем, что у вас уже установлена актуальная версия Ubuntu Server. Рекомендуем использовать LTS-версии, такие как Ubuntu 18.04 LTS или 16.04 LTS. После установки Ubuntu Server 18.04 или 16.04, перейдите к настройке вашего сервера. Это руководство содержит шаги, полезные для конфигурации сервера и повышения его безопасности.
Первым шагом после установки сервера является обновление системы. Для этого выполните команду:
sudo apt update && sudo apt upgrade
Это гарантирует, что все установленные пакеты обновлены до последних версий.
Следующий шаг — установка необходимых утилит. Рекомендуется установить curl, git и ufw:
sudo apt install curl git ufw
Теперь мы можем настроить брандмауэр с помощью ufw. По умолчанию он отключен. Для его активации и настройки откройте доступ к SSH и активируйте брандмауэр:
sudo ufw allow OpenSSH
sudo ufw enable
Проверьте статус брандмауэра:
sudo ufw status
Далее стоит рассмотреть создание нового пользователя для повышения безопасности. Используйте следующую команду для добавления нового пользователя:
sudo adduser имя_пользователя
После этого добавьте пользователя в группу sudо, чтобы он мог выполнять административные команды:
sudo usermod -aG sudo имя_пользователя
Рекомендуется также отключить вход под root. Для этого откройте файл /etc/ssh/sshd_config и измените строку:
PermitRootLogin no
Не забудьте перезапустить SSH-сервер для применения изменений:
sudo systemctl restart ssh
На этом этапе ваш сервер будет более защищенным и готовым к дальнейшей настройке и установке необходимых приложений.
Содержание статьи
Обновите систему
Сначала войдите на ваш сервер Ubuntu с правами root и выполните следующую команду для обновления всех пакетов.
sudo apt-get update && sudo apt-get upgrade
Команда apt-get update обновляет список доступных пакетов и их версий, но не устанавливает и не обновляет сами пакеты. После выполнения этой команды рекомендуется использовать apt-get upgrade, чтобы обновить установленные пакеты до последних доступных версий.
Если вы хотите обновить систему, включая удаление устаревших пакетов и установку новых зависимостей, используйте команду:
sudo apt-get dist-upgrade
Эта команда более гибкая, так как может устанавливать новые пакеты и удалять старые, если это необходимо для выполнения обновления.
Рекомендуется периодически проверять и очищать кэш установленных пакетов с помощью команды:
sudo apt-get autoremove
и
sudo apt-get clean
Это поможет освободить место на диске, удаляя ненужные пакеты и временные файлы.
Создание учетной записи администратора
Создайте пользователя для администрирования системы и настройте его с правами sudo. В дальнейшем используйте эту учетную запись для входа на сервер и выполнения операций. Рекомендуется не использовать пользователя root для регулярных входов.
sudo adduser sysadmin
Теперь добавьте созданного пользователя в группу sudo, чтобы предоставить ему все права sudo.
sudo usermod -aG sudo sysadmin
После этого вы можете настроить пароль для нового пользователя, чтобы обеспечить доступ к учетной записи:
sudo passwd sysadmin
Рекомендуется использовать сложный пароль для повышения безопасности. Также полезно создать SSH-ключи для безопасного доступа к серверу, вместо использования пароля. Это можно сделать с помощью команды:
ssh-keygen
Сгенерированные ключи следует разместить на сервере в файле ~/.ssh/authorized_keys для пользователя sysadmin. Это повысит уровень безопасности и упростит процесс входа. Не забудьте также ограничить доступ к SSH для пользователя root, изменив настройки в файле /etc/ssh/sshd_config, установив параметр PermitRootLogin no.
Дополнительно, вы можете настроить брандмауэр, чтобы разрешить доступ только с определённых IP-адресов. Это значительно повысит уровень безопасности вашего сервера. Для настройки UFW (Uncomplicated Firewall) используйте следующие команды:
sudo ufw allow OpenSSH
sudo ufw enable
Также полезно вести журналы действий, чтобы отслеживать возможные подозрительные попытки доступа. Для этого можно установить и настроить такие инструменты, как Fail2ban, которые будут блокировать IP-адреса, с которых происходит слишком много неудачных попыток входа.
Не забывайте регулярно обновлять систему, используя команду:
sudo apt update && sudo apt upgrade
Это поможет защитить сервер от известных уязвимостей и повысит его стабильность.
Настройка защищенного SSH-сервера
Теперь отредактируйте конфигурационный файл OpenSSH /etc/ssh/sshd_config и внесите следующие изменения.
- Измените стандартный порт – Рекомендуется изменить стандартный порт SSH, так как привычные порты всегда привлекают внимание злоумышленников.
- Запретите вход под пользователем root – Это повысит уровень безопасности, так как злоумышленникам будет сложнее получить доступ к административным привилегиям.
- Используйте аутентификацию по ключу – Это более безопасный метод по сравнению с паролями, который затрудняет доступ для злоумышленников.
- Ограничьте доступ к серверу только определенным пользователям – Это добавляет еще один уровень защиты.
- Включите брандмауэр для ограничения доступа к порту SSH – Это поможет защитить сервер от несанкционированного доступа.
Port 2222
PermitRootLogin no
PubkeyAuthentication yes
AllowUsers your_username
ufw allow 2222/tcp
Настройка SSH с использованием ключей
Рекомендуется настроить сервер на вход только с использованием ключей и отключить авторизацию по паролю. Сгенерируйте пару ключей на вашей клиентской системе.
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sysadmin/.ssh/id_rsa): /home/sysadmin/.ssh/id_rsa_10
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/sysadmin/.ssh/id_rsa_10.
Your public key has been saved in /home/sysadmin/.ssh/id_rsa_10.pub.
The key fingerprint is: b8:78:02:69:a7:4a:92:e8:97:35:02:7e:ce:02:28:fc sysadmin@media60
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| |
|.. |
|+ S|
| |+ =. |
| |== * +. |
| |*.* * + |
| |+o E o |
| |.o |
+-----------------+
Теперь скопируйте содержимое сгенерированного открытого ключа из файла ~/.ssh/id_rsa.pub на сервер в директорию ~/.ssh/authorized_keys. Вы можете сделать это, используя команду:
ssh-copy-id -i ~/.ssh/id_rsa_10.pub user@server_ip
После выполнения этой команды, содержимое вашего открытого ключа будет автоматически добавлено в файл authorized_keys на сервере.
Теперь вы сможете войти на сервер с помощью SSH без запроса пароля. Чтобы повысить безопасность, рекомендуется установить следующие параметры в файле конфигурации SSH /etc/ssh/sshd_config:
PasswordAuthentication no— отключает вход по паролю;PermitRootLogin no— запрещает вход под пользователем root;AllowUsers yourusername— разрешает доступ только определенным пользователям.
После внесения изменений перезапустите службу SSH для применения настроек:
sudo systemctl restart sshd
Теперь ваш сервер будет более защищен и доступен только по ключам SSH.
Настройка брандмауэра CSF (по желанию)
Если желаете, вы можете использовать CSF для управления вашим файрволом. Следуйте шагам ниже для его установки.
Скачайте последнюю версию исходного кода CSF с помощью следующих команд на вашей системе.
sudo cd /opt sudo wget https://download.configserver.com/csf.tgz sudo tar xzf csf.tgz
Установите брандмауэр CSF, используя предоставленный скрипт install.sh в загруженном архиве. Он автоматически выполнит все необходимые действия.
sudo cd /opt/csf sudo sh install.sh
Включите CSF для работы в производственной среде. По умолчанию он находится в тестовом режиме.
sudo vim /etc/csf/csf.conf TESTING=0
Наконец, перезапустите службу CSF с помощью следующей команды.
sudo cd /etc/csf sudo csf -r
После перезапуска CSF рекомендуется проверить статус службы, чтобы убедиться, что она работает корректно.
sudo csf -s
Также, для обеспечения безопасности, настройте правила для IP-адресов, которые хотите заблокировать или разрешить, редактируя файл конфигурации:
sudo vim /etc/csf/csf.allow
sudo vim /etc/csf/csf.deny
Для более детального управления вы можете использовать интерфейс командной строки CSF для добавления или удаления IP-адресов из черных и белых списков.
Не забудьте регулярно проверять логи CSF для выявления подозрительной активности:
sudo less /var/log/csf/csf.log
Если у вас возникнут вопросы или проблемы, обратитесь к документации CSF или на форумы поддержки, где вы можете найти полезные советы от других пользователей.
Дополнительно, вы можете настроить уведомления по электронной почте для получения оповещений о важных событиях. Для этого отредактируйте файл конфигурации:
sudo vim /etc/csf/csf.conf
И задайте ваш адрес электронной почты в строке EMAIL="ваш_адрес@example.com". Это позволит вам получать уведомления о блокировках IP и других критически важных событиях.
Также рассмотрите возможность настройки дополнительных функций, таких как защита от брутфорс-атак, для чего можно использовать встроенные модули, такие как LFD (Login Failure Daemon). Убедитесь, что LFD включен в конфигурации CSF:
sudo vim /etc/csf/csf.conf LF_ENABLE="1"
И проверьте его настройки для минимизации ложных срабатываний.
Регулярно обновляйте CSF до последней версии, чтобы использовать все последние исправления и улучшения безопасности. Для этого выполните:
sudo csf -u
Следуя этим рекомендациям, вы значительно повысите уровень безопасности вашего сервера.

