Centos 6 отключить firewall

Обновлено: 03.07.2024

iptables – это фаервол (или брандмауэр), используемый на подавляющем большинстве дистрибутивов linux; мануал linux называет iptables средством управления NAT и пакетными фильтрами IPv4, проще говоря – это инструмент для фильтрации и блокировки трафика.

Данное руководство поможет настроить простой фаервол для виртуального выделенного сервера Centos 6; такой фаервол оставляет открытыми только необходимые порты, а остальные сервисы закрывает. Также в руководстве показано, как предотвратить атаки и вернуть себе доступ к случайно заблокированному серверу.

Конечно, данное руководство нельзя назвать исчерпывающим. Оно охватывает настройку некоторых основных портов: apache, SSH и электронной почты; остальные порты будут закрыты. Также здесь можно найти инструкции по блокировке вредоносных скриптов и ботов. Блокировка исходящего трафика в руководстве не рассматривается.

В целом фаервол представляет собой список правил; если входящее соединение отвечает одному из правил этого списка, то на него будут распространяться действия, предписанные этим правилом. Если пользовательские правила не установлены, используются правила по умолчанию.

Примечание: Данное руководство охватывает настройку безопасности IPv4. В системе Linux безопасность IPv6 настраивается отдельно. Брандмауэр iptables поддерживает правила только для IPv4; брандмауэр для адресов IPv6 называется ip6tables. Если ваш сервер использует IPv6, нужно настроить правила для интерфейсов IPv4 и IPv6 . Подробнее об инструментах IPv6 можно прочесть в статье «Настройка и использование IPv6 на сервере Linux».

Какие порты и сервисы нужно открыть?

Для начала нужно определить, какие сервисы и порты должны быть доступны. Для примера рассмотрим стандартный сервер. Как правило, на нем работает веб-сервер и почтовый сервер, а для входа необходим порт SSH.

Потому, во-первых, нужно оставить открытым порт SSH – 22 (в противном случае удаленный доступ к серверу будет заблокирован).

А во-вторых, нужно открыть SSL-порты 80 и 443 для веб-трафика. Для отправки электронной почты нужен порт 25 (обычный SMTP) и 465 (безопасный SMTP), а для получения почты – порты 110 (POP3) и 995 (безопасный POP3).

Также нужно открыть порты IMAP: 143 (стандартный порт) и 993 (IMAP по SSL).

Примечание: Рекомендуется использовать только безопасные протоколы (для этого нужно иметь возможность изменить почтовые клиенты пользователей).

Предотвращение распространённых атак

Как правило, весь трафик на сервере разрешен. Чтобы сбросить все правила фаервола, используйте команду:

Затем можно добавить несколько простых правил, которые предотвращают самые распространённые атаки и защищают сервер от скрипт-кидди. На самом деле, не стоит полагаться на то, что iptables сможет самостоятельно отразить полноценную DDOS-атаку или нечто подобное, однако этот фаервол может без труда заблокировать доступ для сканирующих сеть ботов, которые ищут лазейки в безопасности сервера.

Сначала заблокируйте нулевые пакеты:

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Это правило блокирует входящие пакеты с tcp-флагами. Нулевые пакеты, по сути, являются средством разведки; они позволяют выяснить настройки сервера и определить его слабые места. Это правило предотвратит syn-flood атаки:

При syn-flood атаке злоумышленник создает новое подключение, при этом не устанавливая никаких флагов (SYN, ACK и т.д.); такие атаки проводятся с целью отнять ресурсы сервера, следовательно, эти пакеты принимать не следует. После этого нужно запретить разведывательные пакеты XMAS:

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

Эти правила защитят сервер от самых распространённых атак.

Открытие портов

Теперь нужно открыть порты выбранных ранее сервисов. Для начала откройте локальный интерфейс:

iptables -A INPUT -i lo -j ACCEPT

Эта команда добавит (флаг -А) в фильтр входящих соединений (INPUT) правило, которое принимает (-j ACCEPT) весь трафик, поступающий на локальный интерфейс (-i lo). Этот интерфейс часто используется для размещения БД, к которой подключены сайт и почтовый сервер. Таким образом, сам сервер имеет доступ к этой базе данных, но взломать ее через интернет не получится.

Эти правила откроют трафик веб-сервера:

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Эти команды добавят в цепочку ACCEPT порты 80 и 443, что откроет трафик на эти порты. Чтобы открыть порты сервера SMTP, используйте:

iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

Как отмечалось ранее, лучше использовать безопасные версии протоколов, что доступно только при возможности влиять на пользователей; к сожалению, это возможно не всегда, потому клиенты будут использовать порт 25, который достаточно легко взломать. Чтобы пользователи могли читать электронную почту, добавьте правила:

iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

Они откроют трафик POP3. После этого нужно открыть протокол IMAP:

iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

Защита SSH

Чтобы подключаться к серверу удалённо, нужно разрешить трафик SSH.

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Эта команда добавляет в брандмауэр правило, которое откроет tcp-трафик, входящий на порт 22 (порт SSH по умолчанию). Рекомендуется вместо порта 22 использовать другой свободный порт (для этого откорректируйте вышеуказанное правило); к сожалению, настройка SSH не входит в рамки данного руководства. Однако можно настроить сам фаервол. Имея постоянный IP-адрес, можно разрешить доступ к SSH только для этого адреса.

Эта команда покажет текущего пользователя (если только он вошёл в систему) и IP-адрес. Результат имеет примерно такой вид:

После этого можно создать правило фаервола, принимающее трафик на порт SSH только от одного IP-адреса:

iptables -A INPUT -p tcp -s IP_АДРЕС -m tcp --dport 22 -j ACCEPT

Примечание: В команде нужно указать свой внешний IP.

В брандмауэре можно открыть и больше портов. Тогда фаервол будет разрешать доступ ко всем нужным сервисам. Теперь необходимо добавить еще одно правило, которое разрешает устанавливать исходящие подключения (т.е. использовать ping или обновлять программное обеспечение):

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

После этого можно заблокировать все остальное и разрешить все исходящие соединения.

iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP

Базовый фаервол iptables готов.

Сохранение правил iptables

Просмотрите список установленных правил, чтобы убедиться, что все нужные правила были добавлены:

iptables-save | sudo tee /etc/sysconfig/iptables

Конфигурационный файл iptables в системе CentOS хранится в /etc/sysconfig/iptables. Приведенная выше команда сохранила все созданные правила в этот файл. Чтобы убедиться, что все работает корректно, перезапустите фаервол:

service iptables restart

Теперь правила будут действительны даже после перезагрузки сервера.

Как разблокировать себя на сервере?

Если при создании правил в настройках была случайно допущена ошибка, брандмауэр может заблокировать вам доступ к собственному VPS. Возможно, ошибка была допущена в IP-адресе, и теперь фаервол блокирует настоящий IP, поскольку он ему неизвестен. Теперь к правилам нет доступа; даже перезагрузка сервера не поможет. Для таких случаев существуют веб-интерфейсы, позволяющие подключиться к серверу через консоль.

Подключившись к серверу, войдите как пользователь root и сбросьте правила фаервола:

После этого доступ к серверу будет восстановлен.

Заключение

Данное руководство помогает пользователю, не знакомому с командной строкой Linux и правилами IPTables, настроить базовые правила фаервола и защитить все важные сервисы. Конечно, это руководство не является исчерпывающим, iptables имеет гораздо больше функций, но для начала такой настройки будет достаточно.

Iptables - это фаервол, который по умолчанию встроен в большинство Linux дистрибутивов.

Иногда возникает необходимость остановить iptables для устранения проблем связанных с сетью.

Из этой статьи Вы узнаете как проверить текущий статус фаервола iptables и как выключить или включить его в CentOS, RHEL (Red Hat Enterprise Linux), Fedora и подобных дистрибутивах.

Все команды должны выполняться с привилегиями пользователя root.

Проверка Состояния Iptables Firewall

Узнать текущее состояние Iptables IPv4 Firewall

Узнать текущее состояние Iptables IPv6 Firewall

Отключить Iptables Firewall

Используйте следующие команды для отключения фаервола iptables и удаления его из автозагрузки.

Отключить Iptables IPv4 Firewall

Отключить Iptables IPv6 Firewall

Включить Iptables Firewall

Используйте следующие команды для включения фаервола iptables и добавления его в автозагрузку.

Включить Iptables IPv4 Firewall

Включить Iptables IPv6 Firewall

  • Получить ссылку
  • Facebook
  • Twitter
  • Pinterest
  • Электронная почта
  • Другие приложения

Комментарии

Asterisk. Перевод звонка на другой номер.

Получение доступа к серверу SQL при отсутствии пароля администратора SQL.

Столкнулся я тут с проблемой: после смены пароля от учетной записи, из под которой работал сервер централизованного управления "Kaspersky Security Center 10", данная служба перестала работать. Подменили учётную запись, из под которой запускается служба приложения - безрезультатно. В итоге выяснили, что проблема уходят корнями в "Microsoft SQL Server", доступ к которому также осуществлялся из под этой УЗ. Чтобы сменить УЗ, из под которой "Kaspersky Security Center 10" "ломится" к базе данных, нужны административные права от "Microsoft SQL Server", которых ни у локального администратора ни у доменных администраторов не оказалось. ВНИМАНИЕ: ВСЕ КОМАНДЫ НУЖНО ЗАПУСКАТЬ ИЗ ПОД "CMD" или "Poweshell", которые в свою очередь запущены с повышением прав. (Правой кнопкой мыши на запускаемом приложении и далее, ЗАПУСТИТЬ ОТ АДМИНИСТРАТОРА). В итоге, пришлось запускать базу данных в специальном режиме: 1) Останавливаем э

Брандмауэр или фаервол - это программное обеспечение, которое позволяет контролировать все входящие и исходящие сетевые подключения компьютера. На больших предприятиях под эти задачи выделяется отдельный сервер, на обычных компьютерах же это просто программа. Основная её задача - защищать локальные процессы от подключения к ним из сети, потому что большинство из них не используют аутентификацию и к ним можно получить доступ без подтверждения.

Во всех дистрибутивах используется фаервол iptables, который встроен в ядро. Довольно часто пользователи интересуются, как отключить firewall CentOS 7. Отключить его нельзя, потому, что это модуль, встроенный в ядро, но можно убрать все запреты, чтобы Firewall пропускал все приходящие к нему сетевые пакеты. Дальше мы рассмотрим, как это сделать.

Как отключить firewall CentOS 7

В CentOS тоже используется firewall iptables, но для удобства его настройки разработчики Red Hat создали оболочку firewalld. Она тоже работает через командную строку, но имеет более простые и понятные команды. Сначала посмотрим текущие правила iptables:

Большинство этих правил добавлены с помощью firewalld. Чтобы их убрать, не обязательно сейчас всё удалять. Просто остановите службу firewalld:

systemctl stop firewalld

Теперь в iptables будут только правила по умолчанию, которые всё разрешают:

После перезагрузки компьютера всё вернётся на свои места, чтобы этого не произошло, надо убрать сервис из автозагрузки:

systemctl disable firewalld

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

systemctl mask firewalld

Чтобы вернуть на место брандмауэр CentOS, используйте три команды:

systemctl unmask firewalld
systemctl enable firewalld
systemctl start firewalld

Или же вы можете вовсе его не использовать после отключения, а использовать вместо него iptables.

Выводы

В этой небольшой статье мы рассмотрели, как отключить firewall CentOS 7. Как видите, это очень просто. Если у вас остались вопросы, спрашивайте в комментариях.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Я выполнил следующие шаги, чтобы отключить брандмауэр в Linux. После перезагрузки снова включается брандмауэр. Как навсегда отключить брандмауэр?

Войдите в систему как пользователь root.

Затем введите следующие три команды, чтобы отключить брандмауэр.

Отключить брандмауэр IPv6.

Для CentOS версии 7 или RedHat Enterprise вы должны использовать команду systemctl.

К вашему сведению: это больше не работает в RHEL7, и удобный скрипт init.d был удален.

Следующее сработало для меня.

Большое спасибо. Действительно, старый способ сделать это не работает в 11,2

Чтобы отключить его навсегда, вы можете удалить файл iptables из каталога /etc/rc.d/init.d.

Это будет работать только на дистрибутивах, использующих init, а не на системах, использующих systemd или upstart.

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

Просто запустите следующие команды: cd /etc/profile.d/
touch custom.sh echo "iptables -F" >> custom.sh

создайте файл custom.sh и напишите свою команду (iptables -F) в этом файле

Таким образом, каждый раз, когда вы перезагружаете ваш Linux-хост, iptables -F будет выполняться и ваш брандмауэр будет отключен. Это сработало для меня.

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

Я следовал за ответом @teknopaul, и он работал нормально, и iptables, и firewalld остановлены и неактивны, однако, если после перезагрузки вы все еще видите некоторые правила выполнения команды, iptables -L чем проверка сетевых интерфейсов командой ifconfig . Если вы видите сетевой интерфейс, virbr0 отключите его с помощью команд

Теперь, когда вы reboot запустите машину, iptables -L вы не увидите никаких правил, а если вы запустите, ifconfig вы не увидите virbr0 .

Читайте также: