Поиск по сайту:

Контрольно-пропускного пункта


Введение

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

Чтобы эффективно запускать облачное приложение, при настройке сервера следует применять рекомендуемые отраслевые методы обеспечения безопасности. Защита вашего сервера имеет решающее значение для защиты ваших пользователей и личной информации. Вы можете настроить эффективные меры безопасности как для самого облачного сервера, так и для ваших веб-приложений.

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

Ресурсы

  • Рекомендуемые меры безопасности для защиты ваших серверов
  • Как настроить брандмауэр с помощью UFW в Ubuntu 22.04
  • Как настроить WireGuard в Ubuntu 22.04
  • Как установить и настроить сервер OpenVPN в Ubuntu 22.04
  • Как обновлять серверы Ubuntu 22.04
  • Как установить Suricata в Ubuntu 20.04

Что такое безопасность?

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

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

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

Шифрование — это процесс кодирования информации посредством алгоритмического преобразования, которое затем можно использовать для безопасной передачи или хранения.

Вы можете использовать симметричное или асимметричное шифрование для достижения своих целей в зависимости от ваших потребностей.

SSH — это протокол Secure Shell, который позволяет безопасно управлять удаленными серверами с помощью криптографически защищенных соединений.

Чтобы узнать больше о том, как работает SSH, вы можете ознакомиться с разделом «Понимание процесса шифрования и подключения SSH».

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

При работе на своем сервере вы должны знать, используете ли вы его IPv6 (128-битный буквенно-цифровой) IP-адрес. Можно использовать как IPv4, так и IPv6, хотя мы рекомендуем перейти на IPv6.

После настройки ваш сервер будет участвовать в инфраструктуре открытых ключей (PKI) для управления сертификатами, идентификации и шифрования связи. Шифрование TLS/SSL часто используется для обеспечения дополнительного уровня безопасности, чаще всего путем предоставления сертификата от законного центра сертификации (ЦС) для обновления с сервера HTTP на сервер HTTPS.

Используйте функцию раскрывающегося списка, чтобы получить ответы.

TLS, что означает Безопасность транспортного уровня, представляет собой протокол шифрования веб-трафика. При рукопожатии TLS клиент и сервер обмениваются сообщениями, проверяют подлинность сообщения и определяют метод шифрования (набор шифров), который будет управлять связью для безопасной передачи информации. .

Протокол TLS использует метод шифрования с открытым и закрытым ключами, известный как асимметричное шифрование. В этом процессе есть ключевая пара.

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

Вы можете использовать Let’s Encrypt в качестве центра сертификации, чтобы получить бесплатную установку SSL-сертификата от коммерческого центра сертификации.

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

Подключение по SSH

В начальной настройке сервера.

Используйте функцию раскрывающегося списка, чтобы получить ответы.

В папке ~/.ssh/authorized_keys.

SSH обычно работает на порту 22.

HTTP/HTTPS обычно работают на портах 80 и 443 соответственно.

Чтобы обновить доступ к порту SSH, измените спецификацию Port 22 в файле sshd_config вашего сервера, указав неиспользуемый порт по вашему выбору, а затем перезапустите демон SSH.

Когда вы изменили порт SSH, вы должны указывать новый порт каждый раз, когда хотите войти на удаленный сервер.

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

Чтобы использовать SSH, вам необходимо настроить SSH-доступ с помощью брандмауэра.

Использование брандмауэров

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

Некоторые часто используемые программы брандмауэра включают Iptables Essentials: общие правила и команды брандмауэра.

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

Запуск VPN

VPN предоставляет зашифрованный туннель, через который вы можете подключиться к Интернету, что может быть полезно как для разработчиков, так и для потребителей. Для разработчиков VPN позволяют получить доступ к собственной инфраструктуре из разных мест, поэтому вам не нужно оставлять открытым важный порт. Как потребитель, VPN позволяет вам безопасно подключаться к Интернету, даже если вы подключены к ненадежной сети (например, к Wi-Fi в кафе или библиотеке).

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

VPN или виртуальная частная сеть имитирует частную сеть между удаленными компьютерами через Интернет, как если бы они находились в локальной частной сети. Виртуальные частные сети обеспечивают безопасный доступ к общей сетевой информации.

сервер OpenVPN.

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

Управление сетевой безопасностью

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

Как обновлять серверы Rocky Linux 9.

Иногда вам может потребоваться запустить обновления на уровне ядра, чтобы исправить общесистемные ошибки и уязвимости. Хотя вы можете запустить инструмент unattended-upgrades для apt, это может привести к простою вашей системы. Если вам нужно обеспечить постоянное время безотказной работы, вы можете использовать Kernelcare для работы в фоновом режиме.

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

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

Использование командной строки

Вы начали использовать статьи о контейнерах.

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

  • add-apt-repository в качестве пользователя с поддержкой sudo для добавления информации о репозитории программного обеспечения на ваш сервер.
  • cat для вывода содержимого файла на терминал.
  • chmod для изменения прав доступа к файлам.
  • cp для копирования файлов на один сервер и scp для копирования файлов между серверами.
  • cut, чтобы удалить раздел файла, используя параметр -c, чтобы вырезать указанную строку).
  • дата для вывода отметки времени, используя параметры +%s%N для вывода секунд (%s) и минут (%N).
  • grep для поиска текста и строк в указанном файле.
  • jq для чтения и фильтрации записей в соответствии с синтаксисом команды.
  • kill в качестве пользователя с поддержкой sudo, чтобы указать сигнал, по которому служба должна быть остановлена.
  • ln с параметром -s для создания символической ссылки между файлами.
  • printf для отображения заданной строки.
  • sha1sum для печати и проверки контрольной суммы.
  • ss, чтобы получить список всех используемых портов TCP/UDP, в сочетании с параметрами -plunt для получения дополнительной информации.
  • sysctl в качестве пользователя sudo для настройки параметров ядра и загрузки новых значений для сеанса терминала.
  • systemctl для управления службами, включая OpenVPN в качестве службы systemd и Suricata в качестве пакета мониторинга сети.
  • resolvectl dns для определения преобразователей DNS, используемых вашим сервером.
  • tail для вывода строк из файла, указанного с помощью параметра -f.
  • tee в качестве пользователя sudo для перенаправления вывода в новый файл.

Вы использовали команду ip и связанные с ней подкоманды для настройки сетевых интерфейсов:

  • ip-адрес для поиска сетевых интерфейсов. Затем вы использовали выходные данные с помощью команды ufw allow, чтобы разрешить входящий трафик через выбранный сетевой интерфейс.
  • показать IP-адрес, чтобы найти общедоступный IP-адрес системы.
  • ip route, чтобы найти общедоступный сетевой интерфейс.

Если вы решили запустить службу исправления в реальном времени для обновлений уровня ядра на вашем сервере Ubuntu, вы запустили подкоманды для службы canonical-livepatch от имени пользователя с поддержкой sudo:

  • canonical-livepatch включает ваш-ключ, чтобы активировать инструмент.
  • canonical-livepatch status для проверки состояния фоновой службы.

Вы также использовали оператор канала (|) для объединения нескольких команд.

Запуск UFW из командной строки

В нашем Как настроить брандмауэр с UFW в Ubuntu 22.04:

  • ufw default deny incoming, чтобы запретить все входящие соединения (это состояние по умолчанию).
  • ufw default allow outgoing, чтобы разрешить все исходящие соединения (это состояние по умолчанию).
  • ufw allow ssh, чтобы разрешить входящие соединения SSH через порт 22, например, когда вы хотите управлять удаленным сервером.
  • ufw позволяет port_number указывать порт для входящих подключений.
  • ufw enable, чтобы сделать брандмауэр активным.
  • ufw status для проверки состояния брандмауэра и ufw status verbose для просмотра всех установленных правил.
  • ufw allow http или ufw allow 80, чтобы разрешить входящие соединения с незашифрованных веб-серверов через HTTP.
  • ufw allow https или ufw allow 443, чтобы разрешить входящие соединения с незашифрованных веб-серверов по HTTP.
  • ufw разрешить номер_порта:номер_порта/tcp и разрешить ufw номер_порта:номер_порта /udp, чтобы разрешить диапазон портов с указанием протоколов TCP/UDP.
  • ufw allow from your_ip_address, чтобы разрешить подключения с определенного IP-адреса. Вы можете добавить к любому порту номер_порта, чтобы направить IP-адрес на определенный порт.
  • подсети
  • ufw deny http для запрета HTTP-подключений и ufw deny from your_ip_address для запрета всех подключений с определенного IP-адреса.
  • нумерованный статус ufw для создания пронумерованного списка правил брандмауэра.
  • ufw delete для удаления правил, используя номер списка или правило allow (например, ufw delete allow http).
  • ufw disable, чтобы деактивировать все созданные вами правила.
  • сброс ufw, чтобы отключить UFW и удалить все созданные вами правила.

Вы можете продолжить работу над настройкой UFW, ознакомившись с нашей статьей «Основы UFW: общие правила и команды брандмауэра».

Запуск VPN из командной строки

Помимо настройки брандмауэров, вы также управляли WireGuard и OpenVPN, двумя разными инструментами VPN.

При настройке WireGuard VPN вы выполнили следующие команды WireGuard как на сервере WireGuard, так и на его равноправном сервере:

  • wg для управления сервером WireGuard.
  • wg genkey и wg pubkey для создания пары закрытого и открытого ключей для сервера WireGuard.
  • wg set с параметрами allowed-ips и списком определенных IP-адресов для управления доступом к WireGuard VPN.
  • wg-quick установите VPN-подключение вручную с аргументом up, чтобы запустить туннель, и аргументом down, чтобы отключиться от VPN.

При использовании директивы tls-crypt для улучшения криптографической связи.

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

Что дальше?

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

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

  • Как настроить брандмауэр с помощью firewalld в Rocky Linux 9
  • Как настроить дроплет в качестве шлюза VPC
  • Как установить и настроить центр сертификации (ЦС)
  • Как усилить клиент OpenSSH в Ubuntu 20.04

Вы можете передавать файлы по вашей системе с помощью этих руководств:

  • Как использовать SFTP для безопасной передачи файлов на удаленный сервер
  • Как использовать Rsync для синхронизации локальных и удаленных каталогов

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

  • Рекомендуемые шаги для защиты кластера DigitalOcean Kubernetes
  • Как настроить вход Nginx в DigitalOcean Kubernetes с помощью Helm
  • Как защитить свой сайт в Kubernetes с помощью cert-manager, Traefik и Let’s Encrypt

Если вы еще этого не сделали, вы также можете установить SSL-сертификат от коммерческого центра сертификации для домена, связанного с вашим сервером.

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