Raspberry Pi

Защита Raspberry Pi с помощью брандмауэра

Защита Raspberry Pi с помощью брандмауэра

Если вы хотите запустить какое-то серверное программное обеспечение на своем Raspberry Pi (i.е., веб-сервер, сервер базы данных, сервер Minecraft) и сделать их общедоступными в Интернете (хостинг), тогда очень важно защитить ваш сервер Raspberry Pi с помощью брандмауэра.

В ОС Raspberry Pi (официальная операционная система одноплатных компьютеров Raspberry Pi) доступно множество бесплатных программ брандмауэра с открытым исходным кодом. Среди этих программ наиболее распространенными брандмауэрами являются UFW и Firewalld.

В этой статье я воспользуюсь программой брандмауэра UFW, чтобы показать вам, как защитить свой Raspberry Pi. Итак, приступим.

Вещи, которые вам понадобятся:

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

  1. Одноплатный компьютер Raspberry Pi 3 или Raspberry Pi 4.
  2. Адаптер питания micro-USB (Raspberry Pi 3) или USB Type-C (Raspberry Pi 4).
  3. Карта памяти microSD на 16 или 32 ГБ с прошитой ОС Raspberry Pi.
  4. Сетевое подключение на Raspberry Pi.
  5. Ноутбук или настольный компьютер для доступа к удаленному рабочему столу VNC или доступа SSH к Raspberry Pi.

Если вы не хотите настраивать Raspberry Pi 4 в автономном режиме, вам также понадобятся:

  1. Монитор
  2. Кабель HDMI или micro-HDMI
  3. Клавиатура
  4. Мышь.

Если вам нужна помощь по прошивке образа ОС Raspberry Pi на карту microSD, ознакомьтесь с моей статьей Как установить и использовать Raspberry Pi Imager.

Если вы новичок в Raspberry Pi и вам нужна помощь при установке ОС Raspberry Pi на Raspberry Pi, ознакомьтесь с моей статьей Как установить ОС Raspberry Pi на Raspberry Pi 4.

Если вам нужна помощь в настройке Raspberry Pi без использования головы, ознакомьтесь с моей статьей Как установить и настроить ОС Raspberry Pi на Raspberry Pi 4 без внешнего монитора.

Обновление ОС Raspberry Pi:

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

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

$ sudo подходящее обновление


Чтобы обновить все существующие пакеты вашей ОС Raspberry Pi, выполните следующую команду:

$ sudo apt полное обновление


Чтобы подтвердить установку обновлений, нажмите Y а затем нажмите <Входить>.


Менеджер пакетов APT загрузит все необходимые пакеты из Интернета. Это может занять некоторое время.


После загрузки пакетов менеджер пакетов APT установит их один за другим. Это может занять некоторое время.


На этом этапе все обновления должны быть установлены.

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

$ sudo перезагрузка

Установка UFW - Несложный брандмауэр:

После загрузки Raspberry Pi вы можете установить программу брандмауэра UFW с помощью следующей команды:

$ sudo apt install ufw -y


UFW должен быть установлен.


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

$ sudo перезагрузка


После загрузки Raspberry Pi ufw служба systemd должна быть активна, как вы можете видеть на скриншоте ниже.

$ sudo systemctl status ufw


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

$ sudo ufw статус


Как видите, UFW по умолчанию не включен.


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

$ sudo ufw enable


Как видите, UFW теперь включен.

$ sudo ufw статус

Разрешение доступа к портам с помощью профилей приложений:

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

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

Список приложений $ sudo ufw


Должны быть перечислены все установленные профили приложений.

Если вы подключены к Raspberry Pi через SSH или VNC (как я), вы должны разрешить доступ к OpenSSH а также VNC профили приложений. В противном случае при следующей загрузке Raspberry Pi вы не сможете получить к нему удаленный доступ, поскольку брандмауэр заблокирует все порты, включая порты SSH и VNC. Итак, это очень важно.


Вы можете увидеть, какие порты определены в профиле приложения (i.е., OpenSSH) с помощью следующей команды:

$ sudo ufw информация о приложении OpenSSH


Как вы видете, TCP-порт 22 определяется в профиле приложения OpenSSH.


Таким же образом TCP-порт 5900 определяется в VNC профиль приложения.

Информация о приложении $ sudo ufw VNC


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

$ sudo ufw разрешить VNC


Как видите, VNC профиль приложения разрешен через брандмауэр.

Статус $ sudo ufw пронумерован


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

$ sudo ufw разрешить OpenSSH


Как видите, OpenSSH профиль приложения разрешен через брандмауэр.

Статус $ sudo ufw пронумерован

Разрешение доступа к портам с использованием номера порта:

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

Например, вы можете разрешить доступ к TCP-порт 8080 с помощью следующей команды:

$ sudo ufw разрешить 8080 / tcp


Как видите, TCP-порт 8080 разрешен доступ через брандмауэр.

Статус $ sudo ufw пронумерован


Таким же образом вы можете разрешить доступ к UDP-порт 8888 с помощью следующей команды:

$ sudo ufw разрешить 8888 / udp


Как видите, UDP-порт 8888 разрешен доступ через брандмауэр.

Статус $ sudo ufw пронумерован

Отказ в доступе к портам:

По умолчанию программа межсетевого экрана UFW запрещает все, что запрещено. Итак, вам не нужно ничего делать, чтобы запретить доступ к каким-либо портам.

Ради конкуренции я покажу вам, как в любом случае запретить порты в UFW.

Например, чтобы запретить доступ к TCP-порт 9900, выполните следующую команду:

$ sudo ufw deny 9900 / tcp


Как видите, TCP-порт 9900 запрещен доступ через брандмауэр.

Статус $ sudo ufw пронумерован


Таким же образом вы можете запретить порты, определенные в профиле приложения (i.е.,  WWW) следующим образом:

$ sudo ufw deny WWW

Запрет доступа к серверу с определенных IP-адресов:

Иногда вам может потребоваться запретить доступ к определенному IP-адресу или IP-подсети, чтобы защитить свой сервер Raspberry Pi от DDoS-атак (распределенного отказа в обслуживании). Вы можете сделать это с помощью UFW.

Чтобы поэкспериментировать с запретом IP-адресов, я буду использовать веб-сервер Apache.

Вы можете установить веб-сервер Apache на свой Raspberry Pi с помощью следующей команды:

$ sudo apt install apache2


Для подтверждения установки нажмите Y а затем нажмите <Входить>.


Менеджер пакетов APT загрузит все пакеты из Интернета и установит их один за другим. Это может занять некоторое время.


На этом этапе должен быть установлен веб-сервер Apache.


После установки веб-сервера Apache создайте простую страницу индекса с помощью следующей команды:

$ echo "

Добро пожаловать в LinuxHint

"| sudo tee / var / www / html / index.html


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

$ sudo systemctl status apache2


Разрешить доступ к порту веб-сервера Apache (TCP-порт 80) с помощью профиля приложения WWW следующим образом:

$ sudo ufw разрешить www


Как видите, порты, определенные в профиле приложения WWW разрешен доступ через брандмауэр.


Найдите IP-адрес вашего Raspberry Pi с помощью следующей команды:

$ hostname -I


Как видите, IP-адрес моего Raspberry Pi 192.168.0.106. Для тебя будет иначе. Так что не забудьте заменить его теперь своим.


Вы должны получить доступ к веб-серверу Apache с других устройств, как вы можете видеть на скриншоте ниже.


Компьютер, который я использую для доступа к веб-серверу Apache, имеет IP-адрес 192.168.0.109.


Чтобы запретить IP-адрес 192.168.0.109 доступ к вашему серверу Raspberry Pi, вы должны добавить правило брандмауэра вверху (позиция 1). Порядок правил UFW имеет большое значение. Самые строгие правила должны быть в первую очередь.

Статус $ sudo ufw пронумерован


Чтобы запретить IP-адрес 192.168.0.109 доступ к серверу Raspberry Pi, выполните следующую команду:

$ sudo ufw insert 1 deny from 192.168.0.109 на любой


Правило UFW для запрета IP-адреса 192.168.0.109 доступ к серверу Raspberry Pi должен быть верхним правилом, как показано на скриншоте ниже.

Статус $ sudo ufw пронумерован


Вы не сможете получить доступ к веб-серверу Apache, запущенному на вашем Raspberry Pi, с компьютера с IP-адресом 192.168.0.109 больше, как вы можете видеть на скриншоте ниже.


Но вы можете получить доступ к веб-серверу Apache, запущенному на вашем Raspberry Pi, с других компьютеров.


Если вы хотите запретить доступ к IP-подсети, вы должны добавить необходимое правило UFW перед правилом, которое вы добавили ранее, так как это более ограничительное правило.

Статус $ sudo ufw пронумерован


Например, чтобы запретить доступ к каждому компьютеру в IP-подсети 192.168.20.0/24, выполните следующую команду:

$ sudo ufw insert 1 deny from 192.168.20.0/24 на любой


Правило UFW должно быть добавлено в правильном месте, как показано на скриншоте ниже. Теперь нет компьютера из IP подсети 192.168.20.0/24 должен иметь доступ к вашему серверу Raspberry Pi.

Статус $ sudo ufw пронумерован

Удаление правил UFW:

Иногда вам может потребоваться удалить некоторые правила UFW. Это очень легко сделать.

Вы можете перечислить все доступные правила UFW с помощью следующей команды:

Статус $ sudo ufw пронумерован


Должны быть перечислены все доступные правила UFW. Допустим, вы хотите удалить правило UFW номер 10 (правило в 10-й позиции).


Чтобы удалить правило UFW номер 10, выполните следующую команду:

$ sudo ufw удалить 10


Чтобы подтвердить операцию удаления, нажмите Y а затем нажмите <Входить>.


Правило № 10 UFW должно быть удалено.


Как видите, правило UFW удалено, а правила переупорядочены (правило UFW, которое было в позиции 11, теперь находится в позиции 10).

Статус $ sudo ufw пронумерован

Заключение:

В этой статье я показал вам, как установить программу брандмауэра UFW на Raspberry Pi (под управлением ОС Raspberry Pi). Я также показал вам, как разрешать / запрещать порты с помощью программы брандмауэра UFW. Я показал вам, как запретить конкретному IP-адресу или IP-подсети доступ к Raspberry Pi с помощью программы брандмауэра UFW.

Средняя кнопка мыши не работает в Windows 10
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...
Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...
Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...