Брандмауэр — это устройство сетевой безопасности, используемое для мониторинга и управления потоком пакетов данных в сети для защиты сети от несанкционированного доступа, злонамеренных атак и других угроз безопасности. Межсетевой экран может быть программным, аппаратным или комбинированным. Его основные функции включают в себя:
1. Брандмауэр Слои фильтрации Да, собственно согласно правилам конфигурации порядок сверху вниз , фильтруется спереди назад. 2. если Матч успешен правила, то есть дать понять, что это отклонять (DROP) Все еще получаю (ACCEPT) , Пакет данных больше не будет соответствовать новым правилам вниз. 。 3. В правилах if нет четкого указания, что да блокирует или пропускает, то есть да не имеет соответствующих правил и соответствует по нисходящей до тех пор, пока не прибудет. Соответствовать правилам по умолчанию Получите чистый блок или пас. 4. брандмауэр Правила по умолчанию да Оно будет сопоставлено только в том случае, если соблюдены все правила.
Тогда возникает вопрос,еслидаотклонять правила,Куда нам его положить?
Ответ: Чтобы как можно быстрее отфильтровать ненужные пакеты данных,Наше правило отклонять должно ставить на первое место,Примите это и поставьте позже.
iptables разделен на 4 таблицы и пять цепочек. 4 таблицы: необработанная таблица, таблица преобразования, таблица фильтров, таблица nat. Пять цепочек: ВХОД, ВЫХОД, ВПЕРЕД. 、PREROUTING、POSTROUTING В таблице все да строчными буквами, а в цепочке все да прописными буквами.
Здесь мы в основном представляем таблицу фильтров и таблицу nat, остальные используются редко.
Реализуйте функцию брандмауэра: заблокируйте или разрешите IP-адрес порта.
таблица фильтров | Акцент: в основном это связано с самим Хозяином и на самом деле отвечает за функцию Хозяин (фильтрация пакетов данных, входящих и исходящих из Хозяин) таблицы. фильтры указывают таблицу, используемую iptables по умолчанию. таблица Настроить три цепочки (цепочки) Рабочий сценарий предприятия: межсетевой экран хоста |
---|---|
INPUT | Отвечает за фильтрацию пакетов со всех адресов цели и собственных адресов. С точки зрения непрофессионала: Просто фильтруйте пакеты данных, поступающие в Хозяин. ( Могут ли пакеты данных попадать на сервер?) |
OUTPUT | проходя мимо : Отвечает за пересылку пакетов данных, проходящих через хост. Играть роль пересылки и НАТ Отношения очень важны, о чем будет подробно рассказано позже. режим LVS NAT, net.ipv4.ip_forward=0 |
FORWARD | Обрабатывать пакеты для всех адресов источника и собственного адреса С точки зрения непрофессионала: просто обрабатывает пакеты данных, отправленные из Хозяина. |
Реализуйте функцию nat:
таблица НАТ | Отвечает за трансляцию сетевых адресов, то есть источника и места назначения. ИП адрес и порт конверсия. Приложение: оно не имеет ничего общего с самим хостом. Обычно оно используется для совместного использования локальной сети или специальных служб преобразования портов. Сценарий работы: 1. Используется для корпоративной маршрутизации ( зебра ) или шлюз ( iptables ), поделиться Интернетом ( ПОСТРАУТИНГ ) 2. Делайте внутренние и внешние ИП Сопоставление адресов один к одному ( ДМЗ ), сопоставление аппаратного брандмауэра ИП на внутренний сервер, FTP Служить ( ПРЕДВАРИТЕЛЬНАЯ ПРОГРАММА ) 3.ВЕБ , сопоставление одного порта, прямое сопоставление 80 порт ( ПРЕДВАРИТЕЛЬНАЯ ПРОГРАММА ) Эта таблица определяет 3 цепь, ест Функция эквивалентна Интернету. ACL контроль. и сетевые коммутаторы ACL похожий |
---|---|
OUTPUT | Связано с пакетами данных, отправленными хостом, изменение адреса назначения пакетов данных, отправленных хостом. |
PROROUTING | Когда пакет данных достигает межсетевого экрана, правила выполняются до принятия решения о маршрутизации. Используйте да, чтобы изменить адрес назначения пакета данных, Порт назначения и т. д. Просто при получении письма перепишите адрес получателя по правилам. Например: поместите общедоступную сеть IP : xxx.xxx.xxx.xxx подключен к локальной сети xx.xx.xx.xx на сервере. еслида web Об услугах можно сообщить 80 Преобразование в сервер локальной сети 9000 в порту 10.0.0.61 8080( Порт назначения ) ----nat---à 10.0.0.7 22 |
POSTROUTING | Правила, которые выполняются после принятия решения о маршрутизации, когда пакет данных покидает брандмауэр, и используются для изменения исходного адреса, исходного порта и т. д. пакета данных. Напишите адрес отправителя, чтобы у вашей семьи был адрес, по которому можно вернуться, когда они напишут ответ. Например. По умолчанию и ноутбук, и виртуальная машина имеют адрес в локальной сети. При выходе в Интернет роутер меняет адрес на адрес общедоступной сети. Производственные приложения: Общий доступ к Интернету по локальной сети 。 |
блок-схема:
нам нужно иметьrootРазрешения(В этой статье проверяются вседасуществоватьrootв пользовательской среде)
//Скачиваем iptables [root@VM-8-13-centos ~]# yum install -y iptables-services //Записываем файл конфигурации навсегда в файл cat >>/etc/rc.local<<EOF modprobe ip_tables modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_state EOF //Проверяем, есть ли файл да уже в iptables [root@VM-8-13-centos ~]# lsmod |egrep 'filter|nat|ipt'
//Отключаем брандмауэр [root@VM-8-13-centos ~]# systemctl отключен firewalld [root@VM-8-13-centos ~]# systemctl отключить firewalld //Запускаем службу iptables [root@VM-8-13-centos ~]# systemctl start iptables.service [root@VM-8-13-centos ~]# systemctl включить iptables.service //Просмотр статуса службы iptables [root@VM-8-13-centos ~]# статус systemctl iptables.service
//Просмотр правил в фильтре [root@VM-8-13-centos ~]# iptables -nL
параметр | значение |
---|---|
Посмотреть таблицу | |
-L | Показать все правила в таблице |
-n | Не ставьте порт или ip Обратное разрешение имени (Посмотреть время таблицы быстрее) |
Укажите таблицу | |
-t | Укажите таблица (по умолчанию, если не указано) filter поверхность) |
Укажите ссылку (добавление/вставка/удаление заголовка) | |
-A | добавить Добавить, чтобы добавить позволять правила класса |
-I | insert Добавьте правило в начало цепочки 1 полоска отклонять Правила класса располагаются вверху всех правил. |
-D | удалить удалить |
-N | Добавить пользовательскую цепочку |
-X | Удалить пользовательскую цепочку |
-P | Исправлять Правила по умолчанию |
параметр | значение |
---|---|
-p | протокол протокол TCP/UDP/ICMP/все |
--doprt | Порт назначения dest destination Укажите порт плюс соглашение -p tcp (Причина, по которой да--да здесь, заключается в том, чтобы открыться с помощью -dпараметр районной точки) |
--sport | Исходный порт источник источник |
-s | источник источник IP |
-d | место назначения Цель IP |
-m | Укажите модуль многопортовый |
-i | вход При вводе с какой сетевой карты заходит? |
-o | вывод С какой сетевой карты поступает вывод? |
параметр | значение |
---|---|
-j | действие после завершения полоски : ОТКАЗАТЬ/ПРИНЯТЬ/ОТКЛОНИТЬ |
DROP REJECT отклонять DROP Выбросьте данные Никакая информация не будет возвращена пользователю REJECT отклонять Вернуться к отклонить информацию (Разница между ними в том, что один что-то выбрасывает, не сказав вам об этом, а другой берет что-то и говорит, что это ему не нравится.) |
параметр | значение |
---|---|
-F | сброс очищает все правила и не обрабатывает правила по умолчанию |
-x | Удалить пользователя Пользовательская цепочка |
-Z | Очистка счетчика нулевой цепочки (счетчик пакетов и счетчик байтов пакетов) |
Использование следующей комбинации:
iptables Команды и параметры | Укажите таблицу | Укажите цепочку ( Вставлять / Добавить / удалить ) | ip | Особые требования ( Порт , ИП, протокол ) | Порт | действие |
---|---|---|---|---|---|---|
iptables | -t nat | -A INPUT | -s | -p tcp/udp/icmp | --dport Порт назначения | -j DROP |
-I | -d | --sport источник Порт | -j REJECT | |||
-D | -j ACCEPT |
Я считаю, что уже ошеломляюще видеть так много приезжающих,отлично,Давайте рассмотрим следующие случаи
Резервное копирование: iptables-save >/etc/sysconfig/iptables Мы можем использовать cat для просмотра этого каталога. Это правило, которое мы изначально сохранили. Мы записываем текущий контент в файл конфигурации и сохраняем его.
Восстановление: iptables-restore </etc/sysconfig/iptables Давайте сначала воспользуемся им iptable -F очищает правила, а затем использует восстановление.
Давайте сначала iptables -F очищает правила, а затем добавляет правила: [root@VM-8-13-centos ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP В настоящее время вы можете обнаружить, что наш облачный сервер вышел напрямую.
Это потому, что порт, который мы используем для входа в систему, — это порт 22. Если мы запретим порт 22, это будет равносильно самоубийству. В это время вам необходимо перезагрузить облачный сервер, чтобы вернуть его в прежнее состояние.
Старое правило — сначала очистить правила, а затем добавить правила:
[root@VM-8-13-centos ~]# iptables -I INPUT -s 106.52.90.67 -j DROP В это время мы скопировали окно и пропинговали + IP-адрес нашего собственного облачного сервера. В это время мы обнаружили, что да не может получать пакеты данных, которые прибывают сами.
Потому что мы забанили собственный IP. Мы входим iptables -nL Ознакомьтесь с правилами в этой таблице часов. В этой таблице часов много правил. Когда нам нужно посчитать время удаления, нам также нужно посчитать полоску удаления, тогда мы можем ввести: [root@VM-8-13-centos ~]# iptables -nL --line-number
Вы можете посмотреть, куда приезжать, отображаемые сейчас правила будут пронумерованы. Наши правила удаления первой полоски: [root@VM-8-13-centos ~]# iptables -D INPUT 1 На этом этапе, после того как мы удалим правила запрета, мы сможем снова выполнить пинг.
выбрать Aliyun⽩listФункция:Defaultдаотклонять открыть Порт Параграф Метод 1: Используйте ! Исключать iptables -I INPUT ! -s 106.52.90.0/24 -j DROP В приведенном выше случае мы знаем, как заблокировать один IP-адрес. Фактически, нам нужно только добавить восклицательный знак, чтобы разрешить подключение только к этому IP-адресу. приезжать Многие люди здесь в замешательстве. Что означает 0/24да? В сети реализован CIDR (бесклассовый Inter-Domain Маршрутизация) используется для указания IP-адреса. и Соответствующая длина префикса сети. Эта длина говорит нам, сколько цифр в IP-адресе, а остальные цифры в да Хозяин-адресе. существовать106.52.90.0/24середина,106.52.90.0/24дасеть Адрес,
/24
Указывает маску подсети,То есть первые 24 дасеть адреса да,назад8Кусочекда Хозяинадрес。это означает этосетьсерединаиметь 2^8 - 2 = 254 Пригодный для использования адрес хоста, поскольку ни сетевой адрес, ни широковещательный адрес не могут использоваться для хоста. Следовательно, 106.52.90.0/24 представляет собой содержащий106.52.90.0
приезжать 106.52.90.255 Все IP-адреса внутри сети. Такое обозначение очень распространено при указании сетевых диапазонов. Способ второй:Исправлятьцепь Правила по умолчанию Изменено на отклонять добавить разрешение [root@VM-8-13-centos ~]# iptables -A INPUT -s 106.52.90.0/24 -j ACCEPT [root@VM-8-13-centos ~]# iptables -P INPUT DROP //Изменить обратно [root@VM-8-13-centos ~]# iptables -P INPUT ACCEPT
параметр:-m multiport Если вы добавите этот параметр в параметр, это означает, что вам необходимо настроить несколько портов. [root@VM-8-13-centos ~]# iptables -A INPUT -m multiport -p tcp --dport 80,443 -j ACCEPT еслида Не нужно добавлять несколько последовательных портов, просто используйте двоеточие:, чтобы соединить их. [root@VM-8-13-centos ~]# iptables -I INPUT -p tcp --dport 1024:65535 -j DROP Это забанит все порты 1024приезжать65535.
Через правила брандмауэра контрольда Могу ли я пропинговать? //icmp-type8 Восьмая функция даicmpпротокола, также известная как функция дапинга. [root@VM-8-13-centos ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP по параметру ядра контроль Запрещено пинговаться [root@VM-8-13-centos ~]# cat /etc/sysctl.conf #/proc/sys/net/ipv4/icmp_echo_ignore_all net.ipv4.icmp_echo_ignore_all = 1 [root@VM-8-13-centos ~]# sysctl -p net.ipv4.icmp_echo_ignore_all = 1 [root@VM-8-13-centos ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all [root@VM-8-13-centos ~]# #net.ipv4.icmp_echo_ignore_all=1 Пишите⼊приезжать /etc/sysctl.conf[root@oldboy-m01 ~]# #sysctl -p [root@VM-8-13-centos ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Указав соответствующий статус соединения,Пакеты можно фильтровать и обрабатывать в зависимости от состояния соединения. Например,ты можешь установитьбрандмауэр Правило разрешает прохождение только установленных соединений(
ESTABLISHED
),Тем самым повышая безопасность сети.
-m limit Модуль ограничения -m limit --limit n/{second/minute/hour}: Объяснение: Скорость запроса «n» в течение указанного времени — это скорость, за которой следует время: секунды. точка час Например: -м limit --limit 10/minute #Только 10 пакетов за такт точки Генерируется каждые 6 секунд --limit-burst [n] Объяснение: Число запросов, которые разрешено пройти за один и тот же период. «n» — это число. Если не указано, значение по умолчанию — 5. тест: #ping icmp протокол Тест iptables -F iptables -I INPUT -p icmp -m limit --limit 10/minute --limit-burst 5 -j ACCEPT iptables -A INPUT -p tcp --dport -j ACCEPT iptables -P INPUT DROP
принцип:
действовать:
//параметр установлен на 1, чтобы включить функцию переадресации IP [root@VM-8-13-centos ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf //Обновить [root@VM-8-13-centos ~]# sudo sysctl -p //использовать iptables Установите правила пересылки для пересылки пакетов данных внутри локальной сети наружу. [root@VM-8-13-centos ~]# sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Здесь предполагается
eth0
да подключается к сетевому интерфейсу внешней сети, вам необходимо заменить его именем сетевого интерфейса, который вы фактически используете. Если вы не уверены в имени интерфейса, вы можете использоватьifconfig
команда для просмотра. //Устанавливаем правила брандмауэра по мере необходимости, чтобы разрешить илиотклонить определенный сетевой трафик. Например, чтобы разрешить трафик внутри локальной сети: sudo iptables -A INPUT -i eth1 -j ACCEPT
Иногда пользователи общедоступной сети хотят использовать локальную сеть через определенный порт в локальной сети.,Затем мы можем использовать сопоставление портов. Сопоставьте порт IP-адреса локальной сети, который нам нужен, с определенным портом на управляющей машине.,Для достижения цели серфинга в Интернете.
//Устанавливаем IP-адрес локальной сети на порт 22 из 10.0.8.13 картографированиеприезжать IP-адрес назначения — это IP-адрес общедоступной сети. Номер порта 9000 от 106.52.90.67.
//Причина, почему да-да здесь с точки зрения пакетов данных,Пакет да исходит от другого Хозяина,Цель ipда Мы хотим найти публичный IP-адрес приезжающего.
[root@VM-8-13-centos ~]# iptables -t nat -A PREROUTING -d 106.52.90.67 -p tcp --dport 9000 -j
DNAT --to-destination 10.0.8.13:22
Примечание. Прежде чем мы сделали это в разделе «Общий», необходимо отметить еще кое-что. доступ в Интернет говорит о технологии прибытия SNAT, иначе вы не сможете найти путь прибытия при обратной передаче данных.