Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:руководство_по_ubuntu_server:безопасность:firewall [2012/06/21 12:15] |
wiki:руководство_по_ubuntu_server:безопасность:firewall [2012/06/21 22:14] (текущий) [Другие инструменты] |
||
---|---|---|---|
Строка 175: | Строка 175: | ||
<code>sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT | <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 \ | sudo iptables -A FORWARD -d 192.168.0.0/16 -m state \ | ||
- | --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT<code> | + | --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT</code> |
Вышеперечисленные команды разрешают форвардинг всех соединений из локальной сети в Интернет, а весь трафик относящийся к этим соединениям возвращается к компьютерам, пославшим запрос. | Вышеперечисленные команды разрешают форвардинг всех соединений из локальной сети в Интернет, а весь трафик относящийся к этим соединениям возвращается к компьютерам, пославшим запрос. | ||
- | Если вы хотите, чтобы маскировка работала после перезагрузки ПК, отредактируйте файл /etc/rc.local и добавьте туде вышеперечисленные команды. Например, добавьте первую кома: | + | Если вы хотите, чтобы маскировка работала после перезагрузки ПК, отредактируйте файл /etc/rc.local и добавьте туде вышеперечисленные команды. Например, добавьте первую команду без опций фильтрации: |
- | + | <code>iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE</code> | |
- | 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 rules, and noticing unusual activity on your network. You must include logging rules in your firewall for them to be generated, though, and logging rules must come before any applicable terminating rule (a rule with a target that decides the fate of the packet, such 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 ufw, enter: | + | В этом случае в начале поступит запрос на порт 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 Вики также отличный источник. |