На главную

Перевод man ufw

Эта статья является моим переводом Ubuntu manpage.

НАИМЕНОВАНИЕ

ufw - программа для управления межсетевым экраном netfilter

ОПИСАНИЕ

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

ИСПОЛЬЗОВАНИЕ

ufw [--dry-run] enable|disable|reload

ufw [--dry-run] default allow|deny|reject [incoming|outgoing]

ufw [--dry-run] logging on|off|LEVEL

ufw [--dry-run] reset

ufw [--dry-run] status [verbose|numbered]

ufw [--dry-run] show REPORT

ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out] [log|log-all] PORT[/protocol]

ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out on INTERFACE] [log|log-all] [proto protocol] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]]

ufw [--dry-run] delete NUM

ufw [--dry-run] app list|info|default|update

ПАРАМЕТРЫ

--version
показывает версию программы.

-h, --help
показывает подсказку по команде.

--dry-run
ничего не изменять, только вывести результат выполнения команды.

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

disable
отключить межсетевой экран и не включать его при загрузке системы.

reload
перезагрузить межсетевой экран.

default allow|deny|reject DIRECTION
изменить политику по умолчанию для указанного трафика DIRECTION, где DIRECTION принимает значение incoming(входящий) или outgoing(исходящий). Заметьте, что существующие правила должны быть перенесены вручную при изменении политики. См. RULE SYNTAX для получения дополнительной информации о deny и reject.

logging on|off|LEVEL
изменить журналирование. Для регистрирпции в журнале пакетов используются возможности syslog LOG_KERN. Параметр LEVEL указывает на степень детализации журнала. По умолчанию используется уровень ’low’. Детали в LOGGING.

reset
Отключает и сбрасывает настройки межсетевого экрана к настройкам по умолчанию. Можно использовать ключ --force для отключения запроса подтверждения.

status
показывает состояние межсетевого экрана и список правил ufw. Используйте status verbose для получения расширеной информации. В выводе status, ’Anywhere’ является синонимом значений ’any’ и ’0.0.0.0/0’.

show REPORT
отображает информацию о межсетевом экране. См. REPORTS

allow ARGS
добавить разрешающее правило. См. RULE SYNTAX

deny ARGS
добавить запрещающее (игнорирование) правило. см. RULE SYNTAX

reject ARGS
добавить отказывающее (с уведомлением источника) правило. См. RULE SYNTAX

limit ARGS
добавить ограничивающее(блокирующие) правило (rate limit). В настоящий момент поддерживается только IPv4. См. RULE SYNTAX

delete RULE|NUM
удалить указанное правило RULE

insert NUM RULE
втсавить указанное правило RULE в цепочку правил с номером NUM

RULE SYNTAX

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

ufw allow 53

Это правило разрешает прохождение пакетов через tcp и udp порт 53 для любых адресов на данном хосте. Для указания протокола, добавте ’/protocol’ к номеру порта. Например:

ufw allow 25/tcp

Это разрешает прохождение пакетов через tcp порт 25 для любых адресов хоста. Также ufw использует /etc/services для проверки портов и протоколов заданных по наименованию. Например:

ufw allow smtp

ufw позволяет фильтрировать входящие и исходящие пакеты и пользователь может указать направление опциями in или out для входящего и исходящего трафика. Если направление не указано, правило применяется для входящего трафика. Например:

ufw allow in http
ufw reject out smtp

Пользователи могут использовать также полный синтаксис, указывая адрес источник, адрес назначения и порт. Этот синтаксис основан на синтаксисе межсетевого экрана PF OpenBSD. Например:

ufw deny proto tcp to any port 80

Данное правило запрещает весть трафик через tcp порт 80 на хосте. Другой пример:

ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25

Это правило запрещает весь трафик из сети RFC1918 класса A для tcp порта 25 для хоста с адресом 192.168.0.1.

ufw deny proto tcp from 2001:db8::/32 to any port 25

Это правило запрещает весь трафик от IPv6 2001:db8::/32 на tcp порт 25 на данном хосте. Заметьте, что IPv6 должен быть включен в /etc/default/ufw для работы межсетевого экрана с IPv6 .

ufw allow proto tcp from any to any port 80,443,8080:8090

Это правило разрешает весь трафик на tcp порты 80, 443 и 8080-8090 включительно. Указывать множество портов необходимо в числовом формате, список портов не должно содержать пробелов и должны изменяться потом тем же списком. Например, в приведенном выше примере вы не можете позже удалить только ’443’ порт. Не возможно задать более, чем 15 портов (ranges count as 2 ports, so the port count in the above example is 4).

ufw поддерживает ограничение соединений(rate limit), которое может быть полезно для защиты от атак "в лоб" (brute-force). ufw будет запрещать соединения с IP адресов которые пытаются установить более 6 соединений в течении 30 секунд. См. http://www.debian-administration.org/articles/187 Типичное использование:

ufw limit ssh/tcp

Иногда бывает полезно отказать в соединении с сообщением об этом другой стороне вместо того, чтобы просто игнорировать этот трафик. В данном случае, используется парамет reject вместо deny. Например:

ufw reject auth

По умолчанию, ufw применяет правила ко всем доступным сетевым интерфейсам. Для ограничения этого поведения, указывается DIRECTION on INTERFACE, где DIRECTION принимает значение in или out (псевдонимы интерфейсов не поддерживаются). Например, для разрешения всех входящих http соединений на сетевой интерфейс eth0, используется правило:

ufw allow in on eth0 to any port 80 proto tcp

Для удаления правила, просто укажите префикс delete перед созданным ранее правилом. Например, если ранее было добавлено правило :

ufw deny 80/tcp

то его удаление выполняется командой:

ufw delete deny 80/tcp

Вы можете также ссылаться на правило по его номеру NUM, который отображается в выводе команды status. Например, если для удаления правило с номером ’3’, используйте команду:

ufw delete 3

Если у вас включена поддержка IPv6 и удаляется правило с сылкой по номеру, которое обрабатывает IPv4 и IPv6 (например ’ufw allow 22/tcp’),то будет удалено только правило с данным номером. Чтобы удалить оба правила одной командой, необходимо использовать префикс delete перед добавленым правилом (ufw delete allow 22/tcp) .

Для вставки правила, укажите номер правила перед которым вы хотите его вставить. Например, если у вас имеется четыре правила, и вы хотите вставить новое правило в список правил под третьим номером:

ufw insert 3 deny to any port 22 from 10.0.0.135 proto tcp

Для получения пронумерованного списка правил, используйте команду:

ufw status numbered

ufw обеспечивает журналирование работы правил. По умолчанию, если правило пакет соответствует правилу журналирование не выполняется. Указание параметра log в добавляемом правиле позволит вам регистрировать в журнале пакеты обрабатываемые этим правилом. Например, для разрешения с ведением протокола журналирования ssh соединений, используйте команду:

ufw allow log 22/tcp

Дополнительная информация в разделе LOGGING.

ПРИМЕРЫ

Запретить любые соединения на 53 порт:

ufw deny 53

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

ufw allow 80/tcp

Разрешить все соединения к хосту из сетей RFC1918:

ufw allow from 10.0.0.0/8 ufw allow from 172.16.0.0/12 ufw allow from 192.168.0.0/16

Запретить соединения на udp порт 514 с хоста с адресом 1.2.3.4:

ufw deny proto udp from 1.2.3.4 to any port 514

Разрешить доступ к хосту с адресом 1.2.3.4 на udp порт 5469 от хоста 1.2.3.5 с портов 5469:

ufw allow proto udp from 1.2.3.5 port 5469 to 1.2.3.4 port 5469

УДАЛЕННОЕ УПРАВЛЕНИЕ

When running ufw enable or starting ufw via its initscript, ufw will flush its chains. This is required so ufw can maintain a consistent state, but it may drop existing connections (eg ssh). ufw does support adding rules before enabling the firewall, so administrators can do:

ufw allow proto tcp from any to any port 22

before running ’ufw enable’. The rules will still be flushed, but the ssh port will be open after enabling the firewall. Please note that once ufw is ’enabled’, ufw will not flush the chains when adding or removing rules (but will when modifying a rule or changing the default policy). By default, ufw will prompt when enabling the firewall while running under ssh. This can be disabled by using ’ufw --force enable’.

ИНТЕГРАЦИЯ В ПРИЛОЖЕНИЯ (APPLICATION INTEGRATION)

ufw supports application integration by reading profiles located in /etc/ufw/applications.d. To list the names of application profiles known to ufw, use:

ufw app list

Users can specify one of the applications names when adding rules. For example, when using the simple syntax, users can use:

ufw allow

Or for the extended syntax:

ufw allow from 192.168.0.0/16 to any app

You should not specify the protocol with either syntax, and with the extended syntax, use app in place of the port clause.

Details on the firewall profile for a given application can be seen with:

ufw app info

where ’’ is one of the applications seen with the app list command. User’s may also specify all to see the profiles for all known applications.

After creating or editing an application profile, user’s can run:

ufw app update

This command will automatically update the firewall with updated profile information. If specify ’all’ for name, then all the profiles will be updated. To update a profile and add a new rule to the firewall automatically, user’s can run:

ufw app update --add-new

The behavior of the update --add-new command can be configured using:

ufw app default

The default application policy is skip, which means that the update --add-new command will do nothing. Users may also specify a policy of allow or deny so the update --add-new command may automatically update the firewall. WARNING: it may be a security to risk to use a default allow policy for applications profiles. Carefully consider the security ramifications before using a default allow policy.

ЖУРНАЛИРОВАНИЕ (LOGGING)

ufw поддерживает несколько степеней детализации журналирования. По умолчанию ufw уровень журналирования установлен в ’low’. Пользователи могут установить уровень детализации командой:

ufw logging LEVEL

где LEVEL может принимать значения ’off’, ’low’, ’medium’, ’high’ и 'full':

off журналирование отключено

low регистрируются все блокируемые пакеты не соответствующие политике по умолчанию (включая rate limiting), as well as packets matching logged rules

medium как и low, плюс все разрешенные пакеты не соответствующие политике по умолчанию, все INVALID пакеты и все новые соединения. All logging is done with rate limiting.

high как и medium (without rate limiting), плюс все пакеты с rate limiting

full как и high без rate limiting

Уровень детализации журналов выше medium генерируют большое количество сообщений и могут быстро заполнить ваш диск. Loglevel medium may generate a lot of logging output on a busy system.

В случае, если журналирование было отключено, то при его включении с опциией ’on’, включает журналирование уровня ’low’.

СООБЩЕНИЯ (REPORTS)

The following reports are supported. Each is based on the live system and with the exception of the listening report, is in raw iptables format:

raw builtins before-rules user-rules after-rules logging-rules listening

The raw report shows the complete firewall, while the others show a subset of what is in the raw report.

The listening report will display the ports on the live system in the listening state for tcp and the open state for udp, along with the address of the interface and the executable listening on the port. An ’*’ is used in place of the address of the interface when the executable is bound to all interfaces on that port. Following this information is a list of rules which may affect connections on this port. The rules are listed in the order they are evaluated by the kernel, and the first match wins.

ПРИМЕЧАНИЯ

On installation, ufw is disabled with a default incoming policy of deny and a default outgoing policy of allow, with stateful tracking for NEW connections. Having a default policy of allow without stateful tracking can be achieved by using ACCEPT_NO_TRACK instead of ACCEPT in /etc/defaults/ufw.

Rule ordering is important and the first match wins. Therefore when adding rules, add the more specific rules first with more general rules later.

ufw is not intended to provide complete firewall functionality via its command interface, but instead provides an easy way to add or remove simple rules. It is currently mainly used for host-based firewalls.

The status command shows basic information about the state of the firewall, as well as rules managed via the ufw command. It does not show rules from the rules files in /etc/ufw. To see the complete state of the firewall, users can ufw show raw. This displays the filter, nat, mangle and raw tables using:

iptables -n -L -v -x -t ip6tables -n -L -v -x -t

See the iptables and ip6tables documentation for more details.

If the default policy is set to REJECT, ufw may interfere with rules added outside of the ufw framework. See README for details.

IPv6 is blocked by default and only IPv6 traffic on the loopback interface is allowed. To change this behavior, set IPV6 to ’yes’ in /etc/defaults/ufw and reload ufw. Once IPv6 is enabled, you may specify rules in the same way as for IPv4 rules, and they will be displayed with ufw status. Rules that match both IPv4 and IPv6 addresses apply to both IP versions. For example, when IPv6 is enabled, the following rule will allow access to port 22 for both IPv4 and IPv6 traffic:

ufw allow 22

IPv6 over IPv4 tunnels and 6to4 are supported by using the ’ipv6’ protocol (’41’). This protocol can only be used with the full syntax. For example:

ufw allow to 10.0.0.1 proto ipv6 ufw allow to 10.0.0.1 from 10.4.0.0/16 proto ipv6

In addition to the command-line interface, ufw also provides a framework which allows administrators to take full advantage of netfilter. See the ufw-framework manual page for more information.

СМ. ТАКЖЕ

ufw-framework, iptables(8), ip6tables(8), iptables-restore(8), ip6tables-restore(8), sysctl(8), sysctl.conf(5)

AUTHOR

ufw is Copyright 2008-2009, Canonical Ltd. ufw and this manual page was originally written by Jamie Strandboge

На главную

Сайт создан в системе uCoz