Створіть власний брандмауер за допомогою iptables, використовуючи цей простий сценарій, частина 2

Брандмауер_ (мережевий)

Привіт усім, сьогодні я пропоную вам другу частину цієї серії навчальних посібників з брандмауера з iptables, дуже просту, щоб ви могли копіювати та вставляти, я думаю, що в кінці дня це те, що шукають усі новачки або навіть самі досвідчений, чому нам доводиться винаходити колесо 100 разів, так?

Цього разу я кажу їм спробувати зосередитись на дуже конкретному випадку, чи хочемо ми, щоб наш брандмауер став набагато агресивнішим із політикою ВИХІДНОГО ПАДАННЯ. Ця публікація також на прохання читача цих сторінок та моїх публікацій. (Всередині мого розуму wiiiiiiiiiiiii)

Давайте трохи поговоримо про "плюси і мінуси" встановлення політики виведення продукції, і я можу вам розповісти про те, що це робить роботу набагато виснажливішою та копіткішою, однак плюсом є те, що на рівні мережі ви будете мати безпеку ніж якщо ви сіли. Щоб добре продумати, розробити та спланувати політику, у вас буде набагато безпечніший сервер.

Щоб не базікати і не відходити від теми, я швидко розтлумачу вам на прикладі, як більш-менш мають бути ваші правила

iptables -A ВИХІД -o eth0 -p tcp –спорт 80 -m стан –держава ВСТАНОВЛЕНО -j ПРИЙНЯТИ
-A тому що ми додали правило
-o посилається на вихідний трафік, тоді інтерфейс розміщується, якщо він не вказаний, оскільки він відповідає всім їм.
-спорт порт походження, відіграє важливу роль, оскільки в більшості випадків ми не знаємо, з якого порту вони збираються робити запит, якщо так, ми могли б використовувати dport
–Порт порту призначення, коли ми конкретно заздалегідь знаємо, що вихідне з'єднання має надходити лише до певного порту. Це має бути для чогось дуже конкретного, наприклад, для віддаленого сервера MySQL.
-m стан –держава ВСТАНОВЛЕНО Це вже прикраса збереження вже встановлених зв’язків, ми могли б заглибитися в це в майбутньому дописі
-d говорити про пункт призначення, якби це можна було вказати, наприклад ssh до певної машини за допомогою ip

#!/bin/bash

# Ми очищаємо таблиці iptables -F iptables -X # Ми очищаємо NAT iptables -t nat -F iptables -t nat -X # таблиця mangle для таких речей, як PPPoE, PPP та ATM iptables -t mangle -F iptables -t mangle -X # Політика Я вважаю, що це найкращий спосіб для початківців, і # все-таки непогано, я пояснить вихід (вихід) все тому, що це вихідні з'єднання #, вхід ми відкидаємо все, і жоден сервер не повинен пересилати. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Зберігати стан. Все, що вже підключено (встановлено), ми залишаємо так, як це iptables -A INPUT -m state --state ВСТАНОВЛЕНО, ПОВ'ЯЗАНО -j ПРИЙНЯТО
iptables -A ВИХІД -m стан - стан ВСТАНОВЛЕНО, ПОВ'ЯЗАНО -j ПРИЙНЯТО
# Пристрій петлі. iptables -A INPUT -i lo -j ACCEPT
# Iptables loopback output -A OUTPUT -o lo -j ACCEPT

# http, https, ми не вказуємо інтерфейс, оскільки # ми хочемо, щоб це були всі iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# виїзд
# http, https, ми не вказуємо інтерфейс, оскільки
# ми хочемо, щоб це було для всіх, але якщо ми вказали вихідний порт
iptables -A ВИХІД -p tcp --sport 80 -j ACCEPT iptables -A ВИХІД -p tcp --sport 443 -j ACCEPT

# ssh лише внутрішньо і з цього діапазону iptables ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
# виводити # ssh лише внутрішньо та з цього діапазону ip
iptables -A ВИХІД -p tcp -d 192.168.xx / 24 -o $ інтранет --sport 7659 -j ПРИЙМІТЬ
# моніторинг, наприклад, якщо вони мають zabbix або якусь іншу iptables служби snmp -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
# виїзд
# моніторинг, наприклад, якщо у них є zabbix або якась інша служба snmp
iptables -A ВИХІД -p tcp -d 192.168.1.1 -o $ Інтранет --dport 10050 -j ПРИЙМІТЬ

# icmp, пінг хорошим є ваше рішення iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# виїзд
# icmp, пінг-добро - це твоє рішення
iptables -A ВИХІД -p icmp -d 192.168.xx / 24 -o $ інтранет -j ПРИЙМІТЬ

#mysql з postgres - це порт 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
# вихід - запитання, яке користувач також задає, щоб створити дуже конкретний # сервер правил: 192.168.1.2 mysql: 192.168.1.3
#mysql з postgres - це порт 5432
iptables -A ВИХІД -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ інтранет -j ACCEPT

#sendmail bueeeh, якщо ви хочете надіслати якусь пошту #iptables -A ВИХІД -p tcp --dport 25 -j ПРИЙМІТЬ # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP-адреса сервера - справжній wan ip вашого сервера LAN_RANGE = "192.168.xx / 21" # Діапазон локальної мережі вашої мережі або ваш vlan # Ip, які ніколи не повинні входити в екстранет, - це використовувати трохи логіки, якщо у нас є чисто WAN-інтерфейс, він ніколи не повинен входити # трафік типу локальної мережі через цей інтерфейс SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16" # Дія за замовчуванням - виконується, коли якесь правило відповідає ACTION = " DROP "# Пакети з тим самим ip, що і мій сервер, через wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -ВИХІД -o $ екстранет -s $ SERVER_IP -j $ ACTION

# Пакети з діапазоном локальної мережі для wan, я ставлю це так, якщо у вас є # якась конкретна мережа, але це зайве з наступним # правилом всередині циклу "for" iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION
iptables -ВИХІД -o $ екстранет -s $ LAN_RANGE -j $ ACTION

## Усі мережі SPOOF не дозволяються wan для ip у $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -ВИХІД -o $ екстранет -s $ ip -j $ ДІЯ
зроблений

У наступному огляді ми розглянемо діапазон портів, а також встановимо політику, організовану за іменами, серед іншого ... Я чекаю ваших коментарів та запитів.


Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.