Начальная настройка сервера с Ubuntu 20.04 LTS (Focal Fossa)

В данном руководстве предполагается, что у вас уже установлена актуальная версия сервера Ubuntu 20.04 LTS (Focal Fossa). Мы советуем использовать LTS-версию Ubuntu для серверных решений, например, Ubuntu 20.04 LTS (Focal Fossa). После установки сервера Ubuntu 20.04 переходите к шагам, которые нужно выполнить после установки. Это руководство включает важные шаги для настройки сервера и обеспечения базовой безопасности.

Следуйте шагам, описанным ниже.

Обновление системы: Сразу после установки рекомендуется обновить пакеты. Выполните команды:

sudo apt update
sudo apt upgrade -y

Создание нового пользователя: Создайте нового пользователя для работы с сервером и добавьте его в группу sudo для получения административных прав:

sudo adduser имя_пользователя
sudo usermod -aG sudo имя_пользователя

Настройка SSH: Убедитесь, что SSH-сервер установлен и работает. Установите его при необходимости:

sudo apt install openssh-server

Настройка брандмауэра: Используйте UFW (Uncomplicated Firewall) для настройки правил брандмауэра:

sudo ufw allow OpenSSH
sudo ufw enable

Отключение root-доступа через SSH: Для повышения безопасности редактируйте файл конфигурации SSH:

sudo nano /etc/ssh/sshd_config

Измените строку PermitRootLogin yes на PermitRootLogin no, затем перезапустите SSH:

sudo systemctl restart sshd

Установка необходимых пакетов: В зависимости от ваших нужд, установите дополнительные пакеты, такие как веб-сервер (например, Nginx или Apache), базы данных (MySQL, PostgreSQL) и т.д.

Регулярные обновления: Настройте автоматическое обновление системы, чтобы не пропустить важные патчи безопасности.

Настройка временной зоны: Убедитесь, что временная зона настроена правильно. Для изменения временной зоны выполните команду:

sudo timedatectl set-timezone Europe/Moscow

Установка Fail2Ban: Для защиты от атак типа «brute force» рекомендуется установить Fail2Ban. Это приложение следит за логами и блокирует IP-адреса, с которых было зафиксировано слишком много неудачных попыток входа:

sudo apt install fail2ban

Мониторинг системы: Установите инструменты мониторинга, такие как htop или netdata, для отслеживания загрузки системы и сети в реальном времени:

sudo apt install htop
# Для netdata
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

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

  • Обновите систему
  • Для начала войдите в систему Ubuntu 20.04 через терминал. Затем выполните следующие команды для обновления кэша apt и обновления всех установленных пакетов.

    sudo apt update && sudo apt upgrade

    После выполнения этих команд, вы можете использовать sudo apt dist-upgrade для выполнения более комплексного обновления, которое может установить или удалить пакеты для решения зависимостей. Не забудьте также периодически очищать ненужные пакеты с помощью команды sudo apt autoremove.

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

    Читайте также:  Инструкция по установке Google Chrome на Ubuntu 22.04/20.04 с использованием терминала

  • Создание учетной записи пользователя
  • Не рекомендуется использовать учетную запись root для работы в Ubuntu 20.0Давайте создадим учетную запись для администрирования и предоставим ей доступ к sudo.

    sudo adduser sysadmin

    После этого добавьте нового пользователя в группу sudo, чтобы он получил все необходимые права.

    sudo usermod -aG sudo sysadmin

    Для повышения безопасности рекомендуется задать надежный пароль для нового пользователя и дополнительно настроить двухфакторную аутентификацию. Вы можете установить необходимые пакеты с помощью команды:

    sudo apt install libpam-google-authenticator

    После установки выполните настройку двухфакторной аутентификации, запустив команду:

    google-authenticator

    Следуйте инструкциям на экране, чтобы завершить настройку. Также полезно периодически обновлять систему и устанавливать обновления безопасности с помощью команды:

    sudo apt update && sudo apt upgrade

    Создание учетной записи с правами sudo позволит вам выполнять административные задачи без необходимости входа в учетную запись root, что снижает риск случайных изменений в системе.

  • Обеспечение безопасности SSH-сервера
  • Рекомендуется изменить стандартный порт для SSH, что поможет защитить вашу систему от попыток несанкционированного доступа. Чтобы изменить порт, отредактируйте файл конфигурации OpenSSH /etc/ssh/sshd_config и внесите следующие изменения.

    • Измените стандартный порт – это поможет отвлечь злоумышленников от стандартных портов.

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

    • Добавьте следующую строку в файл конфигурации для отключения аутентификации по паролю:


    PasswordAuthentication no

    Также рекомендуется ограничить доступ к вашему серверу по IP-адресу, если это возможно. Это можно сделать с помощью параметра AllowUsers или настроив файрволл.

    • Включите следующее для разрешения доступа только определённым пользователям:


    AllowUsers username

    Дополнительно, следите за журналами доступа, чтобы оперативно реагировать на подозрительную активность. Вы можете использовать инструмент fail2ban для автоматического блокирования IP-адресов, с которых происходят попытки несанкционированного доступа.

    • Установите fail2ban и настройте его для защиты SSH:


    sudo apt-get install fail2ban
    sudo systemctl start fail2ban

    Помните, что безопасность – это непрерывный процесс, и регулярные обновления системы также играют важную роль в защите вашего SSH-сервера.

    Кроме того, рассмотрите возможность использования двухфакторной аутентификации (2FA). Это добавит дополнительный уровень безопасности и значительно усложнит задачу злоумышленникам.

    • Чтобы настроить 2FA, вы можете установить пакет libpam-google-authenticator:


    sudo apt-get install libpam-google-authenticator

    После установки следуйте инструкциям для настройки 2FA для SSH. Также рекомендуется отключить возможность входа через root и использовать обычные учётные записи с правами суперпользователя через sudo.

    • Добавьте следующую строку в файл конфигурации:
    Читайте также:  Ред ОС Муром - пароль root по умолчанию и советы


    PermitRootLogin no

    Эти меры помогут значительно повысить безопасность вашего SSH-сервера и защитят его от многих распространённых угроз.

  • Настройка SSH с использованием ключей
  • Рекомендуется использовать вход по SSH с помощью ключей, а не паролей. Для этого создайте пару SSH-ключей на вашей локальной машине.

    Пользователи Linux могут воспользоваться следующей командой, а пользователи Windows — использовать puttygen.exe для генерации пары ключей.

    ssh-keygen

    Пожалуйста, введите текст, который нужно перевести.

    Generating public/private rsa key pair. Enter file in which to save the key (/home/sysadmin/.ssh/id_rsa): Created directory '/home/sysadmin/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/sysadmin/.ssh/id_rsa Your public key has been saved in /home/sysadmin/.ssh/id_rsa.pub The key fingerprint is: SHA256:Wewuzm5MjMkiTQA4zFKPpGWpOcEE7TGRlFSgYGpsWHE sysadmin@tecadmin The key's randomart image is: +---[RSA 3072]----+ |@O%OE | |@@O+. | |*X.+. o | |*. + | |. o. +S. | |. o + o. | |. o. | | oo. | | o+ | +----[SHA256]-----+

    Теперь скопируйте содержимое только что созданного файла публичного ключа .ssh/id_rsa.pub на сервер в файл .ssh/authorized_keys. Вы можете либо напрямую скопировать ключ, либо использовать следующую команду.

    ssh-copy-id user@remote_host

    Теперь вы сможете войти на сервер через SSH без запроса пароля.

    Обратите внимание, что для повышения безопасности рекомендуется установить права доступа для директории .ssh и файла authorized_keys. Для этого выполните следующие команды:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

    Также полезно настроить SSH-сервер так, чтобы он не принимал пароли, отключив аутентификацию по паролю в файле /etc/ssh/sshd_config, установив параметр PasswordAuthentication no. Не забудьте перезапустить SSH-сервер после внесения изменений:

    sudo systemctl restart sshd

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

  • Настройка брандмауэра с помощью FirewallD
  • По умолчанию в серверной версии Ubuntu 20.04 отсутствует firewalld. Вы можете установить необходимые пакеты, выполнив следующую команду.

    sudo apt install firewalld

    После установки запустите брандмауэр и активируйте его автозапуск при загрузке системы.

    systemctl start firewalld systemctl enable firewalld

    Брандмауэр по умолчанию разрешает доступ SSH для удаленных пользователей. Вам также может потребоваться разрешить доступ к другим службам через брандмауэр.

    Читайте также:  Как установить Jenkins на Ubuntu 22.04 и 20.04

    Вы можете указать имя службы, например "http" или "https", для её разрешения. Firewalld использует файл /etc/services для определения соответствующего порта службы.

    firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https

    Если какое-либо из указанных имен сервисов отсутствует в файле /etc/services, вы можете применить правило брандмауэра, указав номер порта напрямую. Например, чтобы разрешить TCP-порт 8080 или 10000 (порт по умолчанию для Webmin) в вашем брандмауэре.

    firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --permanent --add-port=10000/tcp

    После того как вы внесли изменения в брандмауэр, обязательно загрузите их, используя следующую команду.

    firewall-cmd --reload

    Чтобы увидеть все разрешенные порты и службы, выполните следующую команду.

    firewall-cmd --permanent --list-all
    public target: default icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client http https ssh ports: 8080/tcp 10000/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

    Не забудьте, что брандмауэр может блокировать не только входящие, но и исходящие соединения. Чтобы разрешить исходящий трафик для определённых служб, используйте команду:

    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" service name="http" accept'

    Также важно следить за логами брандмауэра, чтобы видеть, какие соединения блокируются. Вы можете включить логирование, добавив следующие правила:

    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" log prefix="firewalld: " level="info"'

    После внесения всех изменений, снова выполните команду перезагрузки для применения правил.

    firewall-cmd --reload

    Ваша система Ubuntu 20.04 LTS (Focal Fossa) готова к эксплуатации. Пожалуйста, не забудьте поделиться своими идеями по первоначальной настройке сервера, это будет полезно другим.

    Основные настройки безопасности сервера

    Обновление системы - Регулярное обновление программного обеспечения и системы является важным шагом. Это позволяет закрыть уязвимости, которые могут быть использованы злоумышленниками. Используйте команду sudo apt update && sudo apt upgrade для загрузки последних обновлений.

    Настройка брандмауэра - Необходимость настройки брандмауэра для контроля входящего и исходящего трафика не вызывает сомнений. С помощью ufw (Uncomplicated Firewall) можно легко управлять правилами доступа. Для его активации используйте команду sudo ufw enable.

    Использование SSH - Доступ к системе через SSH должен быть защищён. Рекомендуется изменить стандартный порт, отключить вход с помощью паролей и использовать ключи SSH. Эти меры значительно усложнят задачу злоумышленникам.

    Ограничение прав пользователей - Необходимо предоставлять минимально необходимые права каждому пользователю. Это значит, что обычные пользователи не должны иметь административные полномочия, что значительно снизит риски.

    Регулярные резервные копии - Создание резервных копий данных позволяет быстро восстановить информацию в случае инцидента. Убедитесь, что резервные копии хранятся в безопасном месте и проверяйте их целостность.

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

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

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