Difference between revisions of "Firewalls/ru"

(Created page with "Брандмауэры")
 
(Created page with "=Смотрите также= * [https://wiki.archlinux.org/index.php/Ufw UFW] на Arch Wiki * [https://help.ubuntu.com/community/UFW UFW на сайте Ubuntu] * [http://g...")
 
(28 intermediate revisions by the same user not shown)
Line 2: Line 2:
__TOC__
__TOC__


=Overview=
=Обзор=


Running a local firewall is almost always a good practice. Even when you are behind a network firewall, a local firewall protects you from threats on the inside of your network.
Использование локального брандмауэра почти всегда является хорошей практикой. Даже если вы находитесь за сетевым брандмауэром, локальный защищает вас от угроз внутри вашей сети.


=UFW=  
=UFW=  


UFW stands for Uncomplicated FireWall, and is a program for managing a netfilter firewall. It provides a command line interface and aims to be uncomplicated and easy to use. UFW is far simpler than iptables and a good place to start unless you have very specialized needs.
UFW расшифровывается как Uncomplicated FireWall (несложный брандмауэр) и является программой для управления брандмауэром netfilter. Она предоставляет интерфейс командной строки и стремится быть понятной и легкой в использовании. UFW намного проще, чем iptables и является хорошим местом для начала, если у вас нет очень специализированных потребностей.


==Installing UFW==
==Установка UFW==


You can install the {{ic|ufw}} package using you favorite package manager or the command:
Вы можете установить пакет {{ic|ufw}} с помощью своего любимого менеджера пакетов или команды:
  {{UserCmd|command=pamac install ufw}}
  {{UserCmd|command=pamac install ufw}}


Once UFW is installed you need to start and enable it using the commands:
После установки UFW необходимо запустить и включить его с помощью команд:
  {{UserCmd|command=sudo systemctl enable ufw.service}}
  {{UserCmd|command=sudo systemctl enable ufw.service}}
  {{UserCmd|command=sudo ufw enable}}
  {{UserCmd|command=sudo ufw enable}}


{{warning|Don't enable both iptables.service and ufw.service}}
{{BoxWarning|Внимание|Не включайте одновременно службы iptables.service и ufw.service}}


==Adding Rules==
==Добавление правил==


To view the current configuration you can use the command {{ic|ufw status}}. Here is what it looks like in a new install:
Для просмотра текущей конфигурации можно использовать команду {{ic|ufw status}}. Вот как это выглядит при новой установке:


{{UserCmdOutput|command=sudo ufw status verbose|result=
{{UserCmdOutput|command=sudo ufw status verbose|result=
Line 32: Line 32:
}}
}}


This indicates that it will block all incoming traffic and allow all outgoing traffic. This is a good starting point for most desktop systems. However, often we will want to allow some incoming traffic. This can be done with the command {{ic|ufw allow}}.  For example, if we want to allow incoming ssh traffic so we can connect to the machine from other machines on the network we could use the command:
Это означает, что он будет блокировать весь входящий трафик и разрешать весь исходящий. Это хорошая отправная точка для большинства настольных систем. Однако часто мы хотим разрешить некоторый входящий трафик. Это можно сделать с помощью команды {{ic|ufw allow}}.  Например, если мы хотим разрешить входящий ssh-трафик, чтобы подключаться к машине с других машин в сети, мы должны использовать команду:
  {{UserCmd|command=sudo ufw allow ssh}}
  {{UserCmd|command=sudo ufw allow ssh}}


If we wanted to also tcp connections to a local webserver on a non-standard https port, 8443.  We could use the command:
Если бы мы хотели также установить tcp-соединения с локальным веб-сервером на нестандартный https-порт 8443 - мы должны были бы использовать команду:
  {{UserCmd|command=sudo ufw allow in 8443/tcp}}
  {{UserCmd|command=sudo ufw allow in 8443/tcp}}


{{tip|When you don't specify "in" or "out", "in" is assumed}}
{{BoxInfo|Подсказка|Когда вы не указываете "in" или "out" - предполагается "in"}}


==UFW and Applications==
==UFW и приложения==


You may notice a difference in the above two commands. When we built the rules for ssh we used the name and for https we used the port number, 8443. This is because UFW has a small database of applications it knows the ports for. You can see the list with the command:
Вы можете заметить разницу в двух приведенных выше командах. Когда мы создавали правила для ssh - мы использовали имя службы, а для https - номер порта 8443. Это связано с тем, что UFW имеет небольшую базу данных приложений, для которых он знает порты. Вы можете просмотреть список с помощью команды:
{{UserCmd|command=sudo ufw app list}}
{{UserCmd|command=sudo ufw app list}}


For applications on the list you can add them by name. If you want to review the configuration for one of the applications, you can use the command {{ic|ufw app info}}. For example, to the configuration for ssh:
Для приложений из списка вы можете добавить их по имени. Если захотите просмотреть конфигурацию для одного из приложений - можете использовать команду {{ic|ufw app info}}. Например, к конфигурации для ssh:


  {{UserCmdOutput|command=sudo ufw app info SSH|result=
  {{UserCmdOutput|command=sudo ufw app info SSH|result=
Line 57: Line 57:
}}
}}


{{tip|When using ufw app the commands are case sensitive but when adding rules they are not}}
{{BoxInfo|Подсказка|При использовании приложения ufw команды чувствительны к регистру, но при добавлении правил - нет}}


Some additional preconfigured applications can be added by installing the package {{ic|ufw-extras}} with your favorite package manager or the command:
Некоторые дополнительные предварительно настроенные приложения можно добавить, установив пакет {{ic|ufw-extras}} с помощью своего любимого менеджера пакетов или команды:
  {{UserCmd|command=pamac install ufw-extras}}
  {{UserCmd|command=pamac install ufw-extras}}


==Removing Rules==
==Удаление правил==


Rules can be removed with the {{ic|ufw delete}} command. For example, to delete our 8443 rules we could use the command:
Правила можно удалить с помощью команды {{ic|ufw delete}}. Например, чтобы удалить наши правила для порта 8443 - мы должны использовать команду:
  {{UserCmd|command=sudo ufw delete allow 8443/tcp}}
  {{UserCmd|command=sudo ufw delete allow 8443/tcp}}


You can also delete them by number. This is easier if you have a numbered list which you can see with the command:
Вы также можете удалять их по номерам. Это проще, если у вас есть нумерованный список, который можно просмотреть с помощью команды:


{{UserCmdOutput|command=sudo ufw status numbered|result=
{{UserCmdOutput|command=sudo ufw status numbered|result=
Line 77: Line 77:
</pre>}}
</pre>}}


Now if we wanted to stop allowing ssh on ipv6 we could use the command:
Теперь, если бы мы захотели запретить ssh на ipv6, то должны использовать команду:
  {{UserCmd|command=sudo ufw delete 2}}
  {{UserCmd|command=sudo ufw delete 2}}


Line 83: Line 83:
[[File:gufw.jpg|thumb|left|240px]]
[[File:gufw.jpg|thumb|left|240px]]


Prefer to use GUI applications and still want to manage your firewall? No problem.  GUFW is a GTK front-end for UFW that aims to make managing a Linux firewall as accessible and easy as possible. It features pre-sets for common ports and p2p applications.
Предпочитаете использовать приложения с графическим интерфейсом, но при этом хотите управлять своим брандмауэром? Нет проблем, GUFW - это GTK фронтенд для UFW, цель которого - сделать управление брандмауэром Linux максимально доступным и простым. В нем есть предварительные настройки для общих портов и p2p-приложений.


If it is not installed already gufw can be installed from the repos:
Если gufw еще не установлен - его можно установить из репозитория:
  {{UserCmd|command=pamac install gufw}}
  {{UserCmd|command=pamac install gufw}}


It will now be available in the menu as '''Firewall Configuration''' or by running {{ic|gufw}} directly.
Теперь он будет доступен в меню '''Конфигурация брандмауэра''' или при непосредственном запуске {{ic|gufw}}.
<div style="clear: both"></div>
<div style="clear: both"></div>


=iptables=
=iptables=


iptables is included as part of the Linux kernel. iptables is significantly more complicated than using a tool like UFW. As a result, a full tutorial on iptables is beyond the scope of this wiki. Using iptables on Manjaro should be the same for every distribution of Linux so there is plenty of available documentation. Some of this is linked [[Firewalls#See_Also|below]]. Here are some basics to get you started.
iptables входит в состав ядра Linux. iptables значительно сложнее, чем такой инструмент, как UFW. В результате, полное руководство по iptables выходит за рамки этой вики-статьи. Использование iptables на Manjaro должно быть одинаковым для любого дистрибутива Linux, поэтому существует множество доступной документации. Часть её находится по ссылке [[Firewalls/ru#Смотрите_также|ниже]]. Вот некоторые основы для начала работы.


To enable loading rules on startup you can use the command:
Чтобы включить загрузку правил при запуске - нужно использовать комунду:
  {{UserCmd|command=sudo systemctl enable iptables.service}}
  {{UserCmd|command=sudo systemctl enable iptables.service}}


This will load the rules from the file {{ic|/etc/iptables/iptables.rules}}.
Это загрузит правила из файла {{ic|/etc/iptables/iptables.rules}}.


To display the currently loaded rules:
Чтобы отобразить текущие загруженные правила:
  {{UserCmd|command=sudo iptables -L}}
  {{UserCmd|command=sudo iptables -L}}


To save the current rules to a file
Чтобы сохранить текущие правила в файл:
  {{UserCmd|command=sudo sh -c "iptables-save > /etc/iptables/iptables.rules"}}
  {{UserCmd|command=sudo sh -c "iptables-save > /etc/iptables/iptables.rules"}}


To load the rules from a file
Чтобы загрузить правила из файла:
  {{UserCmd|command=sudo sh -c "iptables-restore > /etc/iptables/iptables.rules"}}
  {{UserCmd|command=sudo sh -c "iptables-restore > /etc/iptables/iptables.rules"}}


To allow ssh connections
Чтобы разрешить ssh-соединения:
  {{UserCmd|command=sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT}}
  {{UserCmd|command=sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT}}
  {{UserCmd|command=sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT}}
  {{UserCmd|command=sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT}}


=See Also=
=Смотрите также=
* The Arch Wiki on [https://wiki.archlinux.org/index.php/Ufw UFW]
* [https://wiki.archlinux.org/index.php/Ufw UFW] на Arch Wiki
* The [https://help.ubuntu.com/community/UFW UFW website]
* [https://help.ubuntu.com/community/UFW UFW на сайте Ubuntu]
* The [http://gufw.org/ GUFW website]
* [http://gufw.org/ Веб-сайт GUFW]
* The [https://linux.die.net/man/8/iptables iptables man page]
* [https://linux.die.net/man/8/iptables страница man по iptables]
* The Arch Wiki on [https://wiki.archlinux.org/index.php/iptables iptables]
* [https://wiki.archlinux.org/index.php/iptables_(Русский) iptables] на Arch Wiki
* The Debian Wiki on [https://wiki.debian.org/iptables iptables]
* [https://wiki.debian.org/iptables iptables] на Debian Wiki


[[Category:Contents Page{{#translation:}}]]
[[Category:Contents Page{{#translation:}}]]
[[Category:Security{{#translation:}}]]
[[Category:Security{{#translation:}}]]

Latest revision as of 13:14, 18 January 2023

Other languages:
English • ‎Türkçe • ‎русский • ‎فارسی • ‎中文(中国大陆)‎

Обзор

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

UFW

UFW расшифровывается как Uncomplicated FireWall (несложный брандмауэр) и является программой для управления брандмауэром netfilter. Она предоставляет интерфейс командной строки и стремится быть понятной и легкой в использовании. UFW намного проще, чем iptables и является хорошим местом для начала, если у вас нет очень специализированных потребностей.

Установка UFW

Вы можете установить пакет ufw с помощью своего любимого менеджера пакетов или команды:

user $ pamac install ufw COPY TO CLIPBOARD


После установки UFW необходимо запустить и включить его с помощью команд:

user $ sudo systemctl enable ufw.service COPY TO CLIPBOARD


user $ sudo ufw enable COPY TO CLIPBOARD



Внимание
Не включайте одновременно службы iptables.service и ufw.service

Добавление правил

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


$ sudo ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip


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

user $ sudo ufw allow ssh COPY TO CLIPBOARD


Если бы мы хотели также установить tcp-соединения с локальным веб-сервером на нестандартный https-порт 8443 - мы должны были бы использовать команду:

user $ sudo ufw allow in 8443/tcp COPY TO CLIPBOARD



Подсказка
Когда вы не указываете "in" или "out" - предполагается "in"

UFW и приложения

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

user $ sudo ufw app list COPY TO CLIPBOARD


Для приложений из списка вы можете добавить их по имени. Если захотите просмотреть конфигурацию для одного из приложений - можете использовать команду ufw app info. Например, к конфигурации для ssh:


$ sudo ufw app info SSH

Profile: SSH
Title: SSH server
Description: SSH server
 
 
Port:
  22/tcp


Подсказка
При использовании приложения ufw команды чувствительны к регистру, но при добавлении правил - нет

Некоторые дополнительные предварительно настроенные приложения можно добавить, установив пакет ufw-extras с помощью своего любимого менеджера пакетов или команды:

user $ pamac install ufw-extras COPY TO CLIPBOARD


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

Правила можно удалить с помощью команды ufw delete. Например, чтобы удалить наши правила для порта 8443 - мы должны использовать команду:

user $ sudo ufw delete allow 8443/tcp COPY TO CLIPBOARD


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


$ sudo ufw status numbered

Status: active
To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 22 (v6)                    ALLOW IN    Anywhere (v6)


Теперь, если бы мы захотели запретить ssh на ipv6, то должны использовать команду:

user $ sudo ufw delete 2 COPY TO CLIPBOARD


GUFW

Предпочитаете использовать приложения с графическим интерфейсом, но при этом хотите управлять своим брандмауэром? Нет проблем, GUFW - это GTK фронтенд для UFW, цель которого - сделать управление брандмауэром Linux максимально доступным и простым. В нем есть предварительные настройки для общих портов и p2p-приложений.

Если gufw еще не установлен - его можно установить из репозитория:

user $ pamac install gufw COPY TO CLIPBOARD


Теперь он будет доступен в меню Конфигурация брандмауэра или при непосредственном запуске gufw.

iptables

iptables входит в состав ядра Linux. iptables значительно сложнее, чем такой инструмент, как UFW. В результате, полное руководство по iptables выходит за рамки этой вики-статьи. Использование iptables на Manjaro должно быть одинаковым для любого дистрибутива Linux, поэтому существует множество доступной документации. Часть её находится по ссылке ниже. Вот некоторые основы для начала работы.

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

user $ sudo systemctl enable iptables.service COPY TO CLIPBOARD


Это загрузит правила из файла /etc/iptables/iptables.rules.

Чтобы отобразить текущие загруженные правила:

user $ sudo iptables -L COPY TO CLIPBOARD


Чтобы сохранить текущие правила в файл:

user $ sudo sh -c "iptables-save > /etc/iptables/iptables.rules" /etc/iptables/iptables.rules" " aria-disabled="false">COPY TO CLIPBOARD


Чтобы загрузить правила из файла:

user $ sudo sh -c "iptables-restore > /etc/iptables/iptables.rules" /etc/iptables/iptables.rules" " aria-disabled="false">COPY TO CLIPBOARD


Чтобы разрешить ssh-соединения:

user $ sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT COPY TO CLIPBOARD


user $ sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT COPY TO CLIPBOARD


Смотрите также