Firewall Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:безопасность:firewall [2012/06/20 13:46]
wiki:руководство_по_ubuntu_server:безопасность:firewall [2012/06/21 22:14] (текущий)
[Другие инструменты]
Строка 27: Строка 27:
  1. Для начала требуется разрешить ufw. Наберите в терминале:​  1. Для начала требуется разрешить ufw. Наберите в терминале:​
 <​code>​sudo ufw enable</​code>​ <​code>​sudo ufw enable</​code>​
- 2. Открыть порт (в данном примере ​ssh):+ 2. Открыть порт (в данном примере ​SSH):
 <​code>​sudo ufw allow 22</​code>​ <​code>​sudo ufw allow 22</​code>​
  3. Правила могут быть добавлены с использованием нумерованного формата:​  3. Правила могут быть добавлены с использованием нумерованного формата:​
 <​code>​sudo ufw insert 1 allow 80</​code>​ <​code>​sudo ufw insert 1 allow 80</​code>​
- 4. Подобным образомзакрыть открытый порт:+ 4. Подобным образом ​можно ​закрыть открытый порт:
 <​code>​sudo ufw deny 22</​code>​ <​code>​sudo ufw deny 22</​code>​
- 5. Для удаления правила используйте delete ​с последующим правилом:+ 5. Для удаления правила используйте delete:
 <​code>​sudo ufw delete deny 22</​code>​ <​code>​sudo ufw delete deny 22</​code>​
-6. Также ​можно ​можно разрешить доступ к порту с определенных компьютеров или ​подсетей. Следующий пример ​описывает ​доступ через SSH с компьютера 192.168.0.2 ​к любому ip-адресу на этом хосте:+ 6. Также можно разрешить доступ к порту с определенных компьютеров или сетей. Следующий пример ​разрешает ​на этом компьютере доступ по SSH с адреса 192.168.0.2 ​на любой IP адрес:
 <​code>​sudo ufw allow proto tcp from 192.168.0.2 to any port 22</​code>​ <​code>​sudo ufw allow proto tcp from 192.168.0.2 to any port 22</​code>​
-Замените 192.168.0.2 на 192.168.0.0/​24 ​для ​доступа через ​SSH для всей подсети.+Замените 192.168.0.2 на 192.168.0.0/​24 ​чтобы разрешить ​доступ ​по SSH для всей подсети.
  
-7. Добавив опцию --dry-run ​ufw отображает список правил,​ но не применяет их. Следующий ​пример показывает применение опции для ​открытия порта HTTP:+ 7. Добавление опции **--dry-run** команде **ufw** выведет список правил,​ но не применит их. Например, далее ​показано, что было бы применено, если открыть HTTP порт:
 <​code>​sudo ufw --dry-run allow http</​code>​ <​code>​sudo ufw --dry-run allow http</​code>​
- +<​code>​ 
-<​code>​*filter+*filter
 :​ufw-user-input - [0:0] :​ufw-user-input - [0:0]
 :​ufw-user-output - [0:0] :​ufw-user-output - [0:0]
Строка 61: Строка 61:
 -A ufw-user-limit-accept -j ACCEPT -A ufw-user-limit-accept -j ACCEPT
 COMMIT COMMIT
-Rules updated</​code>​ +Rules updated 
- +</​code>​ 
-8. ufw можно выключить командой:​+ ​8. ​**ufw** можно выключить командой:​
 <​code>​sudo ufw disable</​code>​ <​code>​sudo ufw disable</​code>​
- + 9. Чтобы посмотреть статус ​сетевой защиты:
-9. Чтобы посмотреть статус ​ufw:+
 <​code>​sudo ufw status</​code>​ <​code>​sudo ufw status</​code>​
- + 10. Для более полного отображения информации введите:​
-10. Для более полного отображения информации введите:​+
 <​code>​sudo ufw status verbose</​code>​ <​code>​sudo ufw status verbose</​code>​
- + 11. Для отображения в виде ​формата **numbered**:
-11. Для отображения в виде ​пронумерованного списка:+
 <​code>​sudo ufw status numbered</​code>​ <​code>​sudo ufw status numbered</​code>​
  
-Если порт, который вы хотите открыть или закрыть определен в файле /​etc/​services,​ вы можете использовать имя порта вместо его номера. В приведенном выше примере попробуйте заменить ​ssh на 22.+<​note>​Если порт, который вы хотите открыть или закрыть определен в файле /​etc/​services,​ вы можете использовать имя порта вместо его номера. В приведенных выше примерах можете заменить ​**22** ​на **ssh**.</​note>​
  
-Это лишь краткое описание использования ufw. Пожалуйста обратитесь к man-странице ufw для более подробной информации.+Это лишь краткое описание использования ufw. Пожалуйста обратитесь к странице ​man ufw для более подробной информации.
  
-Интеграция Приложений в ufw +===Интеграция Приложений в ufw===
-----+
  
-Приложения открывающие ​порты могут ​включать профиль ufw, который детально описывает портынеобходимые этому приложению для корректной работы. ​Файлы профилей находятся в /​etc/​ufw/​applications.d,​ и могут быть отредактированы если порты были изменены.+Приложения, которые ​открывают портыможно ​включать ​в профили ufw, которые детализируют какие порты необходимы этому приложению для корректной работы. ​Профили содержатся в /​etc/​ufw/​applications.d,​ и могут быть отредактированыесли порты ​по умолчанию ​были изменены.
  
-1. Для ​просмотра доступных профилей введите следующую команду в терминале:​+ 1. Чтобы ​посмотреть ​для каких приложений установлен профиль введите следующую команду в терминале:​
 <​code>​sudo ufw app list</​code>​ <​code>​sudo ufw app list</​code>​
- + 2. Аналогичноразрешить трафик ​по порту, используя профиль приложения,​ можно ​следующей командой:
-2. Подобной командой для ​разрешения трафика на порт ​может ​служить следующая команда:+
 <​code>​sudo ufw allow Samba</​code>​ <​code>​sudo ufw allow Samba</​code>​
- + 3. Также доступен расширенный синтаксис:​
-3. Доступен ​также ​расширенный синтаксис:​+
 <​code>​ufw allow from 192.168.0.0/​24 to any app Samba</​code>​ <​code>​ufw allow from 192.168.0.0/​24 to any app Samba</​code>​
- +Замените ​**Samba** и **192.168.0.0/​24** на используемый вами ​профиль приложения и IP диапазон ​вашей сети. 
-Замените Samba и 192.168.0.0/​24 на профиль ​вашего ​приложения и диапазон необходимых ip-адресов+<​note>​Нет ​необходимости ​в определении протокола, поскольку эта информация детализирована в профиле. Также обратите внимание,​ что ​имя **app** ​заменило ​номер **port**.</​note>​ 
- + 4. Для ​просмотра ​деталей какие порты, протоколы и пропределены для приложения введите:​
-<​note>​В ​определении протокола ​нет необходимости, так как эта информация детально описана в профиле. Также обратите внимание,​ что ​номер порта будет ​заменен на имя приложения. +
-</​note>​ +
-    ​ +
-4. Для детальной информации о портах, протоколах, и т.п. необходимых для приложения введите:​+
 <​code>​sudo ufw app info Samba</​code>​ <​code>​sudo ufw app info Samba</​code>​
  
-Не все приложения, которые ​запрашивают открытие порта поставляются ​с профилем ufw, но если вы хотите чтобы ​профиль был включен в пакет приложения,​ сообщите ​об ошибке на сайте Launchpad. +Не для ​всех приложений, которые ​требуют открытие ​сетевого ​портапоставляется профиль ufw, но если у вас есть профиль для приложения, ​и вы хотите чтобы ​этот файл был включен в пакет приложения, ​зарегистрируйте ошибку о пакете на сайте Launchpad.
 <​code>​ubuntu-bug nameofpackage</​code>​ <​code>​ubuntu-bug nameofpackage</​code>​
  
 ====Маскировка IP==== ====Маскировка IP====
  
-Цель маскировки ip состоит в том, чтобы компьютеры с частными,​ немаршрутизируемыми ip адресами в вашей сети могли иметь доступ к Интернету через компьютер выполняющий маскарадинг. Трафик из вашей частной сети попадающий в Интернет должен быть правильно выпущен для корректного ответа,​ отправленного именно тому компьютеру,​ который послал запрос. Чтобы сделать это, ядро модифицирует заголовок каждого пакетатак чтобы ответ приходил нужному компьютеру,​ а не частному ip-адресу,​ который послал запрос,​ что невозможно в рамках сети Интрнет. ​Linux использует Трассировку Соединений (conntrack) для трассировки каждого из соединений ​belong to which machines and reroute each return packet accordinglyTraffic leaving your private network is thus "masqueraded" ​as having originated from your Ubuntu ​gateway machineThis process is referred to in Microsoft ​documentation as Internet Connection Sharing. +Цель маскировки ip-адреса ​состоит в том, чтобы компьютеры с частными,​ немаршрутизируемыми ip-адресами в вашей сети могли иметь доступ к Интернету через компьютер выполняющий маскировку. Трафик из вашей частной сети попадающий в Интернет должен быть правильно выпущен для корректного ответа,​ отправленного именно тому компьютеру,​ который послал запрос. Чтобы сделать это, ядро модифицирует заголовок каждого пакета такчтобы ответ приходил нужному компьютеру,​ а не частному ip-адресу,​ который послал запрос,​ что невозможно в рамках сети Интернет. ​Линукс ​использует Трассировку Соединений (conntrack) для трассировки каждого из соединений ​принадлежащих соответствующим компьютерам и перенаправляет каждый возвращенный пакетТрафик,​ покидает вашу частную сеть ​"маскируясь" ​таким образом,​ будто исходит от вашего шлюза ​Ubuntu. ​Этот процесс обозначен в документации ​Microsoft ​как ​Internet Connection Sharing ​(Общий доступ к Интернет-Соединению).
-ufw Masquerading+
  
-IP Masquerading can be achieved using custom ​ufw rules. This is possible because the current back-end for ufw is iptables-restore with the rules files located in /​etc/​ufw/​*.rules. These files are a great place to add legacy iptables rules used without ufw, and rules that are more network gateway or bridge related.+===Маскировка ​ufw===
  
-The rules are split into two different files, rules that should be executed before ​ufw command line rulesand rules that are executed after ufw command line rules.+Маскировка ip-адреса может быть достигнута с использованием различных правил ufw. Это возможно благодаря дополнению к ufw, которым является iptables-restore с файлами правил,​ расположенных в /etc/ufw/*.rules. Эти файлы являются отличным способом для добавления правил в iptables без использования ufw, а также правил,​ которые более гибко взаимодействуют со шлюзом или соединением типа "​мост"​.
  
-    Firstpacket forwarding needs to be enabled in ufw. Two configuration files will need to be adjusted, in /​etc/​default/​ufw change the DEFAULT_FORWARD_POLICY to “ACCEPT”:​+Эти правила разбиты на два разных файла командодни должны быть выполнены ​ufw перед списком правил,​ а другие выполняются после списка правил.
  
-    ​DEFAULT_FORWARD_POLICY="​ACCEPT"​+ 1. Во-первых,​ в ufw должно быть активировано перенаправление. Для этого нужно изменить конфигурацию двух файлов,​ в /​etc/​default/​ufw измените DEFAULT_FORWARD_POLICY на “ACCEPT”:​ 
 +<​code>​DEFAULT_FORWARD_POLICY="​ACCEPT"​</​code>​
  
-    Then edit /​etc/​ufw/​sysctl.conf ​and uncomment:+Затем отредактируйте ​/​etc/​ufw/​sysctl.conf ​следующим образом: 
 +<​code>​net/​ipv4/​ip_forward=1</​code>​
  
-    ​net/ipv4/ip_forward=1+Аналогично для IPv6: 
 +<​code>​net/ipv6/conf/​default/​forwarding=1</​code>​
  
-    Similarlyfor IPv6 forwarding uncomment:+ 2. Теперь добавим правила в файл /​etc/​ufw/​before.rules. Правила по умолчанию описаны лишь в таблице //filter//а для работы маскировки нам нужно отредактировать таблицу //nat//. Добавьте следующие строки в начало файла конфигурации сразу после заголовка с комментарием:
  
-    net/​ipv6/​conf/​default/​forwarding=1+<​code>​ 
 +# nat Table rules 
 +*nat 
 +:​POSTROUTING ACCEPT [0:0]
  
-    Now we will add rules to the /​etc/​ufw/​before.rules fileThe default rules only configure the filter table, and to enable masquerading the nat table will need to be configuredAdd the following to the top of the file just after the header comments:+# Forward traffic from eth1 through eth0. 
 +-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
  
-    ​# nat Table rules +don't delete the '​COMMIT'​ line or these nat table rules won't be processed 
-    *nat +COMMIT 
-    :​POSTROUTING ACCEPT [0:0]+</​code>​
  
-    # Forward traffic from eth1 through eth0. +Комментарии не обязательны,​ но считается хорошим тоном документировать свою конфигурациюТакже при изменении каких-либо **rules** файлов в каталоге ​/etc/ufw, убедитесь,​ что данные строки являются последними для каждой измененной таблицы:​
-    ​-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE+
  
-    ​# don't delete the '​COMMIT'​ line or these nat table rules won't be processed +<​code>​ 
-    COMMIT+# don't delete the '​COMMIT'​ line or these rules won't be processed 
 +COMMIT 
 +</​code>​
  
-    The comments are not strictly necessarybut it is considered good practice to document your configurationAlso, when modifying any of the rules files in /etc/ufw, make sure these lines are the last line for each table modified:+Для каждой таблицы обязательно присутствие соответствующего ей оператора **COMMIT** (применение изменений). В данных примерах показаны только таблицы nat и filterно вы можете также добавлять правила для таблиц raw и mangle.
  
-    # don't delete the '​COMMIT'​ line or these rules won't be processed +<​note>​В примерах выше замените **eth0**, **eth1** и **192.168.0.0/​24** на соответствующие интерфейсы и IP диапазон вашей сети.</​note>​
-    COMMIT+
  
-    For each Table a corresponding COMMIT statement is requiredIn these examples only the nat and filter tables are shownbut you can also add rules for the raw and mangle tables.+ 3Наконецвыключите и повторно включите ufw для применения изменений:​ 
 +<​code>​sudo ufw disable && sudo ufw enable</​code>​
  
-    In the above example replace eth0, eth1, and 192.168.0.0/24 with the appropriate interfaces and IP range for your network.+IP маскировка теперь должна быть включенаВы также можете добавить дополнительные правила FORWARD в /​etc/​ufw/​before.rulesРекомендуется чтобы эти дополнительные правила были добавлены в цепочку/секцию (chain) **ufw-before-forward**.
  
-    Finally, disable and re-enable ufw to apply the changes:+===Маскировка iptables===
  
-    sudo ufw disable && sudo ufw enable+Iptables также может быть использован для маскировки соединений.
  
-IP Masquerading should now be enabledYou can also add any additional FORWARD rules to the /etc/ufw/before.rulesIt is recommended that these additional rules be added to the ufw-before-forward chain. +1Подобно ufw, первым делом нам необходимо включить форвардинг для IPv4 отредактировав следующий файл ​/etc/sysctl.conf и убрав комментарий со строки:​  
-iptables Masquerading+<​code>​net.ipv4.ip_forward=1</​code>​
  
-iptables can also be used to enable Masquerading.+Если вы хотите включить форвардинг для IPv6 также удалите комментарий:​ 
 +<​code>​net.ipv6.conf.default.forwarding=1</​code>​
  
-    Similar to ufw, the first step is to enable IPv4 packet forwarding by editing /etc/sysctl.conf and uncomment the following line+2Далее выполните команду sysctl для применения новых настроек в файле конфигурации:​ 
 +<​code>​sudo sysctl -p</​code>​
  
-    net.ipv4.ip_forward=1+3Теперь настройка маскировки ip-адреса может быть завершена с выполнением лишь одной команды,​ которая может немного отличатся в зависимости от вашей конфигурации сети: 
 +<​code>​sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE</​code>​
  
-    If you wish to enable IPv6 forwarding also uncomment:+После выполнения этой команды можно считать,​ что ваша частная сеть имеет адрес 192.168.0.0/​16,​ а сетевая карта с выходом в Интернет - ppp0. Синтаксис определен следующим образом:
  
-    net.ipv6.conf.default.forwarding=1+1-t nat -- правило применяется к таблице //nat//
  
-    Next, execute the sysctl command to enable the new settings in the configuration file:+2. -A POSTROUTING -- правило добавлено (-A) в цепочку POSTROUTING
  
-    sudo sysctl ​-p+3. -s 192.168.0.0/​16 -- правило применено к трафику,​ исходящему из этого адресного пространства
  
-    IP Masquerading can now be accomplished with a single iptables rulewhich may differ slightly based on your network configuration:​+4. -o ppp0 -- правило применено к трафикукоторый необходимо перенаправить через этот интерфейс
  
-    sudo iptables ​-t nat -A POSTROUTING -s 192.168.0.0/​16 ​-o ppp0 -j MASQUERADE+5. -j MASQUERADE ​-- трафик подпадающий под это правило выполняет "​прыжок"​ ("​jump"​) (-j) в цепочку ​MASQUERADE ​для дальнейшей манипуляции с ним как описаны выше
  
-    The above command assumes that your private address space is 192.168.0.0/16 and that your Internet-facing device is ppp0. The syntax is broken down as follows:+4Также каждая цепочка таблицы ​//filter// (цепочка,​ где происходит фильтрация большинства пакетов) по умолчанию имеет правило ACCEPT, но если вы настраиваете ваш firewall с целью создания шлюза, вы должны выбрать либо политику DROP либо REJECT, в этом случае ваш "​замаскированный"​ трафик должен быть пропущен через цепочку FORWARD для срабатывания предыдущих правил:
  
-        ​-t nat -- the rule is to go into the nat table+<​code>​sudo iptables ​-A FORWARD ​-s 192.168.0.0/​16 ​-o ppp0 -j ACCEPT 
 +sudo iptables -A FORWARD -d 192.168.0.0/​16 -m state \ 
 +--state ESTABLISHED,​RELATED -i ppp0 -j ACCEPT</​code>​
  
-        -A POSTROUTING -- the rule is to be appended (-A) to the POSTROUTING chain+Вышеперечисленные команды разрешают форвардинг всех соединений из локальной сети в Интернет,​ а весь трафик относящийся к этим соединениям возвращается к компьютерам,​ пославшим запрос.
  
-        -s 192.168.0.0/​16 -- the rule applies to traffic originating from the specified address space +Если вы хотитечтобы маскировка работала после перезагрузки ПКотредактируйте файл ​/​etc/​rc.local ​и добавьте туде вышеперечисленные командыНапример,​ добавьте первую команду без опций фильтрации
- +<​code>​iptables -t nat -A POSTROUTING -s 192.168.0.0/​16 -o ppp0 -j MASQUERADE</​code>​
-        -o ppp0 -- the rule applies to traffic scheduled to be routed through the specified network device +
- +
-        -j MASQUERADE -- traffic matching this rule is to "​jump"​ (-j) to the MASQUERADE target to be manipulated as described above +
- +
-    Also, each chain in the filter table (the default table, and where most or all packet filtering occurs) has a default policy of ACCEPT, but if you are creating a firewall in addition to a gateway device, you may have set the policies to DROP or REJECT, in which case your masqueraded traffic needs to be allowed through the FORWARD chain for the above rule to work: +
- +
-    sudo iptables -A FORWARD -s 192.168.0.0/​16 -o ppp0 -j ACCEPT +
-    sudo iptables -A FORWARD -d 192.168.0.0/​16 -m state \ +
-    --state ESTABLISHED,​RELATED -i ppp0 -j ACCEPT +
- +
-    The above commands will allow all connections from your local network to the Internet and all traffic related to those connections to return to the machine that initiated them. +
- +
-    If you want masquerading to be enabled on rebootwhich you probably doedit /​etc/​rc.local ​and add any commands used aboveFor example add the first command with no filtering+
- +
-    ​iptables -t nat -A POSTROUTING -s 192.168.0.0/​16 -o ppp0 -j MASQUERADE+
  
 ====Журналы==== ====Журналы====
  
-Firewall logs are essential for recognizing attacks, troubleshooting your firewall ​rulesand noticing unusual activity on your networkYou must include logging rules in your firewall ​for them to be generatedthough, and logging rules must come before any applicable terminating rule (a rule with a target that decides the fate of the packetsuch as ACCEPT, DROP, or REJECT).+Журналы ​firewall ​крайне необходимы для обнаружения атаквозникающих проблем с правилами,​ а также обнаружения повышенной активности в вашей сетиВ настройках ​firewall ​необходимо включить журналирование для правилкоторое должно быть указано перед списком правил ​(правилкоторые решают дальнейшую судьбу пакета,​ такие как ​ACCEPT, DROP или ​REJECT).
  
-If you are using ufw, you can turn on logging by entering the following in a terminal:+Если вы используете ​ufw, журналирование можно включить следующей командой: 
 +<​code>​sudo ufw logging on</​code>​
  
-sudo ufw logging ​on+Чтобы выключить журналирование в ufw просто замените значение ​on на off.
  
-To turn logging off in ufw, simply replace on with off in the above command.+Для iptables введите:​ 
 +<​code>​sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 \ 
 +-j LOG --log-prefix "​NEW_HTTP_CONN:​ "</​code>​
  
-If using iptables instead of ufwenter:+В этом случае в начале поступит запрос на порт 80 от компьютера в локальной сетизатем будет сгенерирован файл журнала в dmesg который выгдлядит примерно так (одна строка разделена на три для корректного отображения на экране): 
 +<​code>​[4304885.870000] NEW_HTTP_CONN:​ IN=lo OUT= MAC=00:​00:​00:​00:​00:​00:​00:​00:​00:​00:​00:​00:​08:​00 
 +SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP 
 +SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0</​code>​
  
-sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 \ +Этот текст журнала также появится в файле /var/log/messages, /​var/​log/​syslog и /​var/​log/​kern.log. Эти настройки можно изменить отредактировав файл /​etc/​syslog.conf аналогично или при установке и настройке ulogd, а также используя ULOG вместо LOG. Демон ulogd это пользовательский сервер который слушает инструкции ядра для дальнейшего журналирования,​ в частности для firewall, и может вести журналирование даже в PostgreSQL или MySQL базы данных. Для того, чтобы легко разобраться в файлах журнала можно использовать их анализаторы,​ такие как logwatch, fwanalog, fwlogwatch или lire.
--j LOG --log-prefix "​NEW_HTTP_CONN:​ "+
  
-A request on port 80 from the local machine, then, would generate a log in dmesg that looks like this (single line split into 3 to fit this document):+====Другие инструменты====
  
-[4304885.870000] NEW_HTTP_CONN:​ IN=lo OUT= MAC=00:​00:​00:​00:​00:​00:​00:​00:​00:​00:​00:​00:​08:​00 +Существует множество утилит для помощи в построении полноценного firewall без углубленных навыков в iptables. ​
- ​SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP +
- ​SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0 +
- +
-The above log will also appear in /​var/​log/​messages,​ /​var/​log/​syslog,​ and /​var/​log/​kern.log. This behavior can be modified by editing /​etc/​syslog.conf appropriately or by installing and configuring ulogd and using the ULOG target instead of LOG. The ulogd daemon is a userspace server that listens for logging instructions from the kernel specifically for firewalls, and can log to any file you like, or even to a PostgreSQL or MySQL database. Making sense of your firewall logs can be simplified by using a log analyzing tool such as logwatch, fwanalog, fwlogwatch, or lire. +
- +
-====Другие инструменты====+
  
-There are many tools available to help you construct a complete firewall without intimate knowledge of iptables. For the GUI-inclined:+Для работы с интерфейсом:
  
-    ​fwbuilder ​is very powerful and will look familiar to an administrator who has used a commercial firewall utility such as Checkpoint FireWall-1.+ 1. [[http://​www.fwbuilder.org/​|fwbuilder]] очень мощная утилита,​ которая настраивается подобно проприетарным продуктам вроде //Checkpoint FireWall-1//.
  
-If you prefer a command-line tool with plain-text configuration files:+Если вы предпочитаете утилиты с поддержкой командной строки и списком файлов конфигураций:
  
-    ​Shorewall ​is a very powerful solution to help you configure an advanced ​firewall ​for any network.+ 2. [[http://​www.shorewall.net/​|Shorewall]] - мощное решение,​ которое поможет вам создать серьезный ​firewall ​для любого типа вашей сети.
  
 ====Ссылки==== ====Ссылки====
  
-    The Ubuntu Firewall ​wiki page contains information on the development of ufw.+1. Вики страница [[https://​wiki.ubuntu.com/​UncomplicatedFirewall | Ubuntu Firewall]] содержит необходимую информацию о работе над ​ufw.
  
-    Also, the ufw manual page contains some very useful information: man ufw.+2. Также посмотрите man страницу ​ufw, которая содержит много полезной информации**man ufw**.
  
-    See the packet-filtering-HOWTO ​for more information on using iptables.+3. Для более подробной информации об использовании iptables смотрите [[http://​www.netfilter.org/​documentation/​HOWTO/​packet-filtering-HOWTO.html|packet-filtering-HOWTO]].
  
-    The nat-HOWTO ​contains further details on masquerading.+4. Руководство [[http://​www.netfilter.org/​documentation/​HOWTO/​NAT-HOWTO.html|nat-HOWTO]] содержит полное описание о маскировке соединений.
  
-    The IPTables HowTo in the Ubuntu ​wiki is a great resource.+5. [[https://​help.ubuntu.com/​community/​IptablesHowTo|IPTables HowTo]] Ubuntu ​Вики также отличный источник.