Як захистити Linux Ubuntu від атак з інтернету. Налаштування Firewall!
У цій статті мова піде про безпеку. Ми розглянемо як закрити доступ до вашого комп'ютера з інтернету, налаштувавши вбудованого в ядро Linux брандмауера Netfilter за допомогою інтерфейсу управління iptables на Ubuntu 14.04 LTS. Ми налаштуємо ряд базових правил брандмауера.Як сказано вище, iptables – це по суті призначений для користувача інтерфейс управління вбудованого в ядро Linux брандмауера Netfilter. Iptables працює усіма вступниками пакетами на основі певних правил (Rules), які групуються в ланцюжки (Chains). Всі правила і ланцюжки зберігаються в таблиці (Tables).Існує три типи правил iptables – input, forward і output.Input – Такі ланцюжки використовуються для контролю поведінки вхідних з'єднань. Наприклад, якщо користувач спробує підключитися до сервера по SSH, то iptables порівняє його IP-адресу зі своїм списком, щоб дозволити або заборонити доступ.
Forward – Правила цього типу використовуються для обробки вхідних повідомлень, кінцевий пункт призначення яких не є поточним комп'ютером. Наприклад, якщо вам необхідно підключитися до ще одного вашого комп'ютера розташованому в локальній мережі. Якщо вам цього робити не потрібно, то правила цього типу ви не будете використовувати.
Output – Такі ланцюжки використовуються для вихідних з'єднань. Наприклад, якщо користувач намагається відправити запит ping до сайту serfery.ru, iptables перевірить ланцюжок правил, щоб зрозуміти, що потрібно робити в разі ping, і тільки потім дозволить або заборонить з'єднання.Подивимося поточний список правил в таблиці filter.
Як бачимо, у вихідній конфігурації наш комп'ютер містить в таблиці filter ці три ланцюжки правил – це INPUT, OUTPUT і FORWARD. У кожній з цих ланцюжків встановлена політика за замовчуванням – ACCEPT, тобто приймаються будь-які пакети. І ні в одній з них немає будь-яких правил.Розглянемо простий приклад налаштування ланцюжка INPUT виходячи з принципу – все, що не дозволено, то заборонено, помінявши політику за замовчуванням на забороняє (DROP) і додавши ряд правил дозволяють тільки певний трафік.Створимо два правила, які бажано мати в ланцюжку INPUT практично для будь-якої конфігурації:1. Правило, що дозволяє будь-який вхідний трафік на службовий внутрішній loopback device. Це може знадобитися для коректної роботи різних служб і додатків.sudo iptables -I INPUT 1 -i lo -j ACCEPT
2. Правило для підтримки вже дозволених раніше і встановлених з'єднаньsudo iptables -A INPUT -m state –state ESTABLISHED, RELATED -j ACCEPT
Змінюємо політику для всього вхідного трафіку який не потрапив ні під одне правило в ланцюжку INPUT на забороняє:sudo iptables -P INPUT DROP
Подивимося як тепер виглядає наш список правил в таблиці filter.sudo iptables -S
Бачимо що наші ланцюжка INPUT змінила свою політику на забороняє (DROP) і додалися 2 наших правила.Додамо забороняє політику і для протоколу IPv6.sudo ip6tables -P INPUT DROPІ подивимося зміни внесені в правила для цього протоколу.sudo ip6tables -S
Тут також бачимо що наші ланцюжка INPUT змінили свою політику на забороняє (DROP).Також за аналогією з ланцюжком INPUT поміняємо політики правил брандмауера в ланцюжках FORWARD для IPv4 і IPv6 на заборонні:sudo iptables -P FORWARD DROP
sudo ip6tables -P FORWARD DROP
І також переконуємося, що зміни внесені в правила для ланцюжка FORWARD.
Тепер необхідно перевірити як працює наша операційна система і чи не заважає наші правила її нормальній роботі. Для цього запустіть додатки якими ви користуєтеся і перевірте як вони працюють. Спробуйте вийти в інтернет, перевірте пошту, встановіть з'єднання з Skype. І якщо бачите якісь проблеми в їх роботі, можна скинути всі правил ланцюжка INPUT і повернути її політику за замовчуванням на роздільну:sudo iptables -F INPUT
sudo iptables -P INPUT ACCEPT
Якщо для редагування правил потрібно дізнатися порядковий номер якогось конкретного правила, то можна скористатися розширеним форматом виведення правил, в якому явно видно їх номери, наприклад, для таблиці filter:sudo iptables -t filter -n -L -v –line-numbers
- L: Показати список правил.
- v: Відображати додаткову інформацію. Ця опція показує ім'я інтерфейсу, опції, TOS маски.
- n: Відображати IP адреса і порт числами.
Наприклад для видалення правила номер 2 з ланцюжка правил INPUT виконаємо командуsudo iptables -D INPUT 2і подивимося список правилsudo iptables -t filter -n -L -v –line-numbers
Бачимо, що тепер в ланцюжка правил INPUT залишилося тільки одне правило.Налаштовані правила вступають в силу відразу після їх створення і будуть діяти до наступного перезавантаження системи. Щоб ці правила відновлювалися при наступних завантаженнях системи, викачуємо скрипт ip-firewall і зберігаємо його в папку «Завантаження». Далі копіюємо його в системну папку для завантаження скриптів.І встановлюємо на нього необхідні права.sudo chmod 755 /etc/init.d/ip-firewall
Запустимо скрипт і подивимося з якими ключами його можна запускати
start – служить для завантаження правил iptables
stop – служить для очищення ланцюжків правил INPUT, OUTPUT і FORWARD. А також для установки політик в стан ACCEPT.
list – показує збережені конфігурації правил і конфігурацію за умовчанням.
makedefault – активує конфігурацію яка буде використовуватися за замовчуванням.
savecurrent– зберігає поточну конфігурацію.Збережемо нашу поточну конфігурацію.sudo /etc/init.d/ip-firewall savecurrent
Система повідомляє нам про успішне збереженні.Подивимося які у нас є збережені конфігурації і яка з них використовується за умовчанням при старті системиsudo /etc/init.d/ip-firewall list
Зараз збережено 2 конфігурації «iptables.clean» і створена нами «iptables-20151230-093419». За замовчуванням використовується конфігурації «iptables.clean». Змінимо її на нашу.sudo /etc/init.d/ip-firewall makedefault iptables-20151230-093419
Запустивши повторно командуsudo /etc/init.d/ip-firewall list
бачимо, що конфігурація за замовчуванням змінилася на нашу «iptables-20151230-093419».Тепер залишилося тільки додати наш скрипт в автозавантаження. Для цього виконаємо командуsudo update-rc.d ip-firewall defaultsІ після перезавантаження наші правила будуть активовані.Ми розглянули як закрити доступ до комп'ютера з інтернету, як додавати правила брандмауера Netfilter за допомогою iptables, як зберігати поточні настройки брандмауера і відновлювати ці настройки після перезапуску системи. І якщо залишилися незрозумілі питання по даній темі і є пропозиції, то прошу їх писати в коментарях. Всім до побачення!Зроби репост – виграй ноутбук!Кожного 1 і 15 числа iBook.pro розігрує подарунки.
- Натисни на одну з кнопок соц. мереж
- Отримай персональний купон
- Виграй ноутбук LENOVO> Детально: ibook.pro/konkurs