Начальная настройка сервера для новичков (Ubuntu 18.04 и 16.04 LTS)

В данном руководстве мы предполагаем, что у вас уже установлена актуальная версия 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, чтобы обновить установленные пакеты до последних доступных версий.

    Если вы хотите обновить систему, включая удаление устаревших пакетов и установку новых зависимостей, используйте команду:

    Читайте также:  Как настроить автоматическое монтирование дисков в Linux

    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, так как привычные порты всегда привлекают внимание злоумышленников.
    • Port 2222

    • Запретите вход под пользователем root – Это повысит уровень безопасности, так как злоумышленникам будет сложнее получить доступ к административным привилегиям.
    • PermitRootLogin no

    • Используйте аутентификацию по ключу – Это более безопасный метод по сравнению с паролями, который затрудняет доступ для злоумышленников.
    • PubkeyAuthentication yes

    • Ограничьте доступ к серверу только определенным пользователям – Это добавляет еще один уровень защиты.
    • AllowUsers your_username

    • Включите брандмауэр для ограничения доступа к порту SSH – Это поможет защитить сервер от несанкционированного доступа.
    • 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

    Следуя этим рекомендациям, вы значительно повысите уровень безопасности вашего сервера.

    Читайте также:  Как установить Sublime в Fedora с помощью DNF

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *