"Нас Атакуют!" Изобличи козни лукавого, запрети диаволу
Восстановление работоспособности iptables в Fedora
Начиная с версии 18, в дистрибутиве Fedora были изменены правила и способы конфигурации межсетевого экрана. Новый продукт firewalld способен выполнять примитивные действия при использовании брандмауэра, но существенно усложняет внедрение и препятствует внесению изменений в сложные конфигурации, включающие модули типа connlimit, hashlimit и recent.
Предлагаемая читателю заметка демонстрирует простой способ отключения firewalld и восстановления "классической" работы iptables.
Прежде чем мы продолжим, я хотел бы привести строки из Евангелия:
............. == Послание к Ефесянам святого апостола Павла == .................
=== Глава 4, Стих 17 ===
17 Посему я говорю и заклинаю Господом, чтобы вы более не поступали, как
поступают прочие народы, по суетности ума своего,
18 будучи помрачены в разуме, отчуждены от жизни Божией, по причине их
невежества и ожесточения сердца их.
19 Они, дойдя до бесчувствия, предались распутству так, что делают всякую
нечистоту с ненасытимостью.
20 Но вы не так познали Христа;
21 потому что вы слышали о Нем и в Нем научились, -- так как истина во
Иисусе, --
22 отложить прежний образ жизни ветхого человека, истлевающего в
обольстительных похотях,
23 а обновиться духом ума вашего
24 и облечься в нового человека, созданного по Богу, в праведности и
святости истины.
25 Посему, отвергнув ложь, говорите истину каждый ближнему своему, потому
что мы члены друг другу.
26 Гневаясь, не согрешайте: солнце да не зайдет во гневе вашем;
27 и не давайте места диаволу.
28 Кто крал, вперед не кради, а лучше трудись, делая своими руками полезное,
чтобы было из чего уделять нуждающемуся.
29 Никакое гнилое слово да не исходит из уст ваших, а только доброе для
назидания в вере, дабы оно доставляло благодать слушающим.
30 И не оскорбляйте Святаго Духа Божия, Которым вы запечатлены в день
искупления.
31 Всякое раздражение и ярость, и гнев, и крик, и злоречие со всякою злобою
да будут удалены от вас;
32 но будьте друг ко другу добры, сострадательны, прощайте друг друга, как и
Бог во Христе простил вас.
Лично для вас благая весть - Единородный Сын Божий Иисус Христос любит вас, Он взошёл на крест за ваши грехи, был распят и на третий день воскрес, сел одесную Бога и открыл нам дорогу в Царствие Небесное.
И вот уже не одну тысячу лет слово "Человеколюбие" занимает центральное место в нашей христианской вере и молитвах. Господь хочет, чтобы мы любили друг друга, были добры и сострадательны, отбрасывая мирские похоти, зависти и обиды. Спасение наше возможно только через веру и любовь - так давайте изменим себя и свою жизнь так, как угодно Богу, обновляя свой образ жизни и вовлекая в него всё больше любви. Шаг за шагом, распространяйте человеколюбие всё дальше, на своих близких, друзей, знакомых, коллег и просто окружающих вас людей - и в вашей жизни не останется места диаволу.
Покайтесь, примите Иисуса как вашего Спасителя, ибо наступают последние времена и время близко - стоит Судья у ворот.
Пожалуйста, в своих каждодневных трудах, какими бы занятыми вы себе ни казались - находите время для Бога, Его заповедей и Библии.
На главной странице этого сайта вы найдете программу для чтения Библии в командной строке - буду очень рад если программа окажется полезной. Пожалуйста, читайте Библию, на экране или в печатном виде - вы будете искренне удивлены как много там сказано лично про вас и ваши обстоятельства.
Вернёмся к нашим техническим деталям.
Для восстановления нормальной работы брандмауэра нам необходимо:
Подготовка файла с правилами iptables
Для правильной работы iptables подготовим следующий простейший конфигурационный файл. Оценить важность слова "простой" вы сможете, посмотрев правила, созданные пакетом firewalld при установке системы - просто введите команду "iptables -L" и попробуйте разобрать две страницы показанных динамических правил. Вся эта неразбериха выполняет те же самые функции, что и приведенные ниже инструкции:
......................... == Книга пророка Ионы == ............................. === Глава 2, Стих 11 === 9 Чтущие суетных и ложных _богов_ оставили Милосердаго своего, 10 а я гласом хвалы принесу Тебе жертву; что обещал, исполню: у Господа спасение! (b+/b-, c+/c-, +/-, *) > [u1@lighty ~]$ cat /etc/sysconfig/iptables *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j DROP -A INPUT -i lo -j ACCEPT #-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -j DROP COMMIT [u1@lighty ~]$
Эти правила обеспечивают ту же самую функциональность "по умолчанию", запрещая доступ к нашей системе извне и не ограничивая наш доступ в сеть. Если вам необходим внешний доступ к вашей системе через SSH - откомментируйте строку.
Отключение firewalld
Новый пакет firewalld работает как "надстройка" над старым добрым iptables, при этом даже не заменяя его. Идея зон безопасности и динамического изменения правил достаточно хороша, но не предоставляет нам необходимой гибкости. Для использования модулей необходимо передавать те же самые команды iptables, но вводя их через "firewall-cmd --direct --passthrough ...", что значительно затрудняет работу.
Для отключения firewalld как пользователь root введите команду "service firewalld stop".
Включение iptables
Включение службы iptables производится таким же образом, используя команды systemd.
....................... == Четвертая книга Царств == ........................... === Глава 17, Стих 14 === 14 Но они не слушали и ожесточили выю свою, как была выя отцов их, которые не веровали в Господа, Бога своего; 15 и презирали уставы Его, и завет Его, который Он заключил с отцами их, и откровения Его, какими Он предостерегал их, и пошли вслед суеты и осуетились, и вслед народов окрестных, о которых Господь заповедал им, чтобы не поступали так, как они, 16 и оставили все заповеди Господа Бога своего, и сделали себе литые изображения двух тельцов, и устроили дубраву, и поклонялись всему воинству небесному, и служили Ваалу, 17 и проводили сыновей своих и дочерей своих чрез огонь, и гадали, и волшебствовали, и предались тому, чтобы делать неугодное в очах Господа и прогневлять Его. (b+/b-, c+/c-, +/-, *) > [root@lighty ~]# service iptables start Redirecting to /bin/systemctl start iptables.service [root@lighty ~]# service iptables status Redirecting to /bin/systemctl status iptables.service iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled) Active: active (exited) since Sun, 2013-01-20 17:29:11 EST; 3s ago Process: 1543 ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited, status=0/SUCCESS) Process: 1795 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS) CGroup: name=systemd:/system/iptables.service Jan 20 17:29:11 lighty.localdomain iptables.init[1795]: iptables: Applying firewall rules: WARNING: The state match is obsolete. Use conntrack instead. Jan 20 17:29:11 lighty.localdomain iptables.init[1795]: [ OK ] Jan 20 17:29:11 lighty.localdomain systemd[1]: Started IPv4 firewall with iptables. [root@lighty ~]# [root@lighty ~]# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DROP icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere DROP all -- anywhere anywhere Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@lighty ~]#
Итак, наша система полностью недоступна снаружи, при этом все локальные программы могут инициировать исходящие соединения. Дополняя файл "/etc/sysconfig/iptables" новыми правилами и перезапуская экран командой "service iptables restart" мы можем просто и ясно вносить необходимые изменения, используя дополнительные модули типа "conntrack".
Удаление пакета firewalld
Теперь, когда наша система более или менее защищена от внешних вторжений и мы можем использовать хорошо знакомые конфигурационные правила, я предпочитаю удалить ненужные программы. Это делается командой "yum erase firewalld".
Поскольку несколько других пакетов зависят от удалённого firewalld, я хочу предотвратить случайное "возвращение" этой программы в мою систему:
.......... == Второе послание к Тимофею святого апостола Павла == .............. === Глава 2, Стих 17 === 16 А непотребного пустословия удаляйся; ибо они еще более будут преуспевать в нечестии, 17 и слово их, как рак, будет распространяться. Таковы Именей и Филит, 18 которые отступили от истины, говоря, что воскресение уже было, и разрушают в некоторых веру. (b+/b-, c+/c-, +/-, *) > [root@lighty ~]# [root@lighty ~]# cat /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=3 # To prevent firewalld from installing via dependencies. exclude=firewalld [root@lighty ~]#
Удостоверимся, что строка "exclude=firewalld" действительно работает:
[root@lighty ~]# yum install firewalld Loaded plugins: langpacks, presto, refresh-packagekit fedora/18/i386/metalink | 41 kB 00:00:00 updates/18/i386/metalink | 32 kB 00:00:00 updates | 4.7 kB 00:00:00 No package firewalld available. Error: Nothing to do [root@lighty ~]#
Итак, теперь мы можем продолжать использовать уже существующий и тщательно проверенный файл "/etc/sysconfig/iptables" из Fedora 17 для конфигурации межсетевого экрана в версии 18.
Спасибо что зашли,
Будьте благословенны!
Денис
21 Января 2013 года.