Заборонити icmp трафік до свого vpn. Cisco ACL для просунутих

Нерідко користувачів дратує повільність в роботі інтернету. Особливо це відноситься до численної армії любителів мережевих ігор. Можна скоротити час потенційних затримок, відключивши функцію ping.

Вам знадобиться

  • - ПК зі встановленою операційною системою Windows;
  • - доступ в Інтернет.

Інструкція

  • Увійдіть в меню «Пуск» операційної системи Windows, клацнувши відповідне кнопці в лівому кутку панелі завдань. Деякі пристрої для введення інформації мають клавішу з логотипом Windows, натиснувши на яку можна отримати доступ до головного меню операційної системи безпосередньо з клавіатури.
  • Відкрийте розділ «Панель управління», активуйте меню «Брандмауер Windows» і в діалоговому вікні перейдіть на вкладку «Розширені». Натисніть на кнопку ICMP Settings і вимкніть «Allow incoming echo request», знявши галочку з відповідного пункту меню. Збережіть зроблені вами зміни в налаштуваннях, клікнувши клавішу «Ok».
  • Скористайтеся вбудованим додатком IPSec для блокування вхідних і вихідних ping-пакетів. Натисніть на кнопку «Пуск» і, якщо ви використовуєте операційну систему Windows 7, введіть mmc в рядок пошуку. Володіючи комп'ютерів під управлінням ОС Windows XP, впишіть аналогічне значення в рядок «Виконати». Клацніть по пункту «Відкрити» або натисніть на клавішу Enter.
  • Підтвердіть свій вибір і в вікні додатків перейдіть в меню File. Виберіть функцію «Add / Remove Snap-in» і активуйте утиліту «IP Security and Policy Management». Поставте прапорець у полі «Local computer» і завершите роботу майстра, клікнувши кнопку Close.
  • Натисніть праву клавішу маніпулятора і викличте контекстне меню. Позначте команду «Manage IP filter Lists and Filter Actions» і активуйте пункт «All ICMP Traffic». Перейдіть в розділ «Manage Filter Actions», клікніть по кнопці Next і відзначте прапорцем напис «Block». Підтвердіть зроблені настройки і закрийте діалогове вікно.
  • У контекстному меню «IP Security Policies» активуйте команду «Create IP Security Policy». Вкажіть пункт «Block Ping» у відповідному полі відкрився майстра створення політик. Зніміть прапорець навпроти напису «Activate the default responce rule» і зробіть вибір на користь пункту «Edit Properties». Збережіть зроблені настройки і закрийте вікно майстра.
  • Рада доданий 25 січня 2012 Рада 2: Як заборонити ping Функція ping використовується для перевірки доступності інтернет-ресурсів за допомогою відправки на використовуваний хост пакета певного розміру. При цьому заміряється час повернення даних, щоб визначити швидкість з'єднання. Ця функція відключається любителями мережевих ігор, щоб скоротити час затримок.

    Інструкція

  • Відкрийте меню «Пуск» операційної системи Windows, кнопка якого знаходиться в лівому кутку панелі завдань. Також на деяких клавіатурах є кнопка з зображенням віконця Windows, натиснувши на яке, можна запустити головне меню. Перейдіть в розділ «Панель управління» і зайдіть в меню «Брандмауер Windows». Натисніть на вкладку «Розширені» в діалоговому вікні.
  • Знайдіть кнопку ICMP Settings і натисніть на неї, після чого зніміть галочку біля напису "Allow incoming echo request". Після цього внизу вікна натисніть на кнопку «Ок», щоб зберегти зазначені настройки. Після цього для обмежити вхідні та вихідні ping-пакетів необхідно скористатися вбудованим додатком IPSec.
  • Натисніть на кнопку «Пуск» і введіть значення mmc в рядок пошуку (для Windows 7) або в рядок «Виконати» (для Windows XP). Натисніть кнопку «Відкрити» або клавішу Enter.Подтвердіте виконання команди і відкрийте меню File у вікні додатків. Виберіть функцію "Add / Remove Snap-in" і додайте утиліту "IP Security and Policy Management". В поле "Local computer" поставте прапорець і натисніть кнопку Close, щоб завершити роботу майстра.
  • Натисніть правою кнопкою мишки на рядок "IP Security Policies", щоб викликати контекстне меню. Виділіть команду "Manage IP filter Lists and Filter Actions" і відзначте пункт "All ICMP Traffic". Після цього перейдіть в розділ "Manage Filter Actions". Натисніть кнопку Next і поставте прапорець біля напису "Block". Підтвердіть налаштування і закрийте діалогове вікно.
  • Виберіть команду "Create IP Security Policy" в контекстному меню "IP Security Policies". Відкриється майстер створення політик, в якому вкажіть у відповідному полі "Block Ping". Зніміть прапорці біля напису "Activate the default responce rule" і поставте біля "Edit Properties". Збережіть налаштування і закрийте вікно майстра.
  • Як заборонити ping - версія для друку

    Брандмауер - перша лінія захисту будь-якого сервера, і від його правильного налаштування залежить, чи зможе зловмисник просунутися далі в своїх спробах проникнення в систему. Сучасні фаєри пропонують безліч механізмів забезпечення безпеки, використовуючи які ти можеш залишити «не при справах» 99% атакуючих. І все це без необхідності покупки дорогого устаткування і комерційного софта.

    Головна мета всіх зломщиків - отримання доступу до командного інтерпретатора сервера для використання його можливостей в своїх інтересах. Найбільш часто проникнення в «святая святих» здійснюється за допомогою дірок в сервісах або ж через підбір пароля (брутфорс) до одного з них (наприклад, ssh).

    сканування портів

    Щоб виявити наявність уразливих сервісів на машині, атакуючий виробляє розвідку за допомогою сканера портів і різних систем виявлення вразливостей. Зазвичай в якості сканера портів використовується nmap, який здатний здійснювати сканування десятком різних способів і в деяких випадках вміє виявляти версії ОС і сервісів. Ось список особливо популярних прапорів nmap, які зазвичай використовують зломщики:

    Прапори nmap, використовувані при скануванні

    • -sT - звичайне TCP-сканування за допомогою відкриття з'єднання на налаштованому порту і його завершення;
    • -sS - SYN / ACK-сканування, зв'язок розривається відразу після відповіді на запит відкриття з'єднання;
    • -sU - UDP-сканування;
    • -sF - сканування пакетами з встановленим прапором FIN;
    • -sX - сканування пакетами з встановленими прапорами FIN, PSH і URG;
    • -sN - сканування пакетами без встановлених прапорів.

    Метод захисту від сканування простий і відомий будь-якому системному адміністратору. Полягає він в простому закриття всіх сервісів, які не повинні бути видні з зовнішньої мережі. Наприклад, якщо на машині працюють сервіси ssh, samba і apache, а з зовнішнього світу має бути видно тільки веб-сервер з корпоративної веб-сторінкою, то міжмережевий екран може бути налаштований так:

    Початкова настройка iptables

    outif \u003d "eth1"
    iptables -F
    iptables -i $ outif -A INPUT \\
    -m conntrack \\
    --ctstate ESTABLISHED, RELATED \\
    -j ACCEPT
    iptables -i $ outif -A INPUT -p tcp \\
    --dport 80 -j ACCEPT
    iptables -i $ outif -P INPUT DROP
    iptables -i $ outif -P OUTPUT ACCEPT

    Початкова настройка ipfw

    outif \u003d "rl0"
    ipfw add allow ip from any to any \\
    via lo0
    ipfw add allow ip from me to any \\
    via $ outif
    ipfw add allow tcp from any to me \\
    established via $ outif
    ipfw add allow tcp from any 80 \\
    to me via $ outif
    ipfw add deny ip from any to any \\
    via $ outif

    Початкова настройка pf

    outif \u003d "rl0"
    set skip on lo0
    block all
    pass out on $ outif from $ outif \\
    to any keep state
    pass in on $ outif proto from any \\
    to $ outif port 80

    Всі три набори правил роблять одне і те ж - дозволяють проходження будь-якого трафіку по інтерфейсу зворотного петлі (loopback), дозволяють приймати пакети вже встановлених з'єднань (щоб, наприклад, браузер міг отримати відповідь на запит до віддаленого сервера), дозволяють звернення на 80-й порт, блокуючи всі інші, і дозволяють будь-які коннект назовні. Зверни увагу, що якщо в прикладах iptables і ipfw ми явно задали правила для дозволу прийому пакетів вже встановлених з'єднань (established), то у випадку з pf для цього достатньо було вказати «keep state» в рулесете, дозвільному будь-які вихідні сполуки.

    В общем-то, така схема захисту мережевих сервісів від сканування і проникнення відмінно працює, але ми можемо піти далі і налаштувати фаєр так, щоб деякі види сканування взагалі не могли б бути виконані. Технічно ми не можемо зробити це відносно звичайного сканування (прапори nmap "-sT", "-sS" і "-sU") просто тому, що в ньому немає нічого кримінального, однак нестандартні типи сканування, такі як "-sN", "-sF" і "-sX", породжують пакети, які ніяк не могли бути створені легальними додатками.

    Тому без тіні сумніву відкидаємо подібні з'єднання.

    Методи боротьби з екзотичними видами сканування

    # Заборона FIN-сканування
    Linux\u003e iptables -A INPUT -p tcp \\
    -m tcp \\
    --tcp-flags FIN, ACK FIN -j DROP
    FreeBSD\u003e
    not established tcpflags fin
    # Заборона X-сканування
    Linux\u003e
    --tcp-flags FIN, SYN, RST, PSH, ACK, URG
    FIN, SYN, RST, PSH, ACK, URG \\
    -j DROP
    FreeBSD\u003e ipfw add reject tcp from any to any \\
    tcpflags fin, syn, rst, psh, ack, urg
    # Заборона N-сканування
    Linux\u003e iptables -A INPUT -p tcp -m tcp \\
    --tcp-flags FIN, SYN, RST, PSH, ACK, URG NONE -j DROP
    FreeBSD\u003e ipfw add reject tcp from any to any \\
    tcpflags! fin,! syn,! rst,! psh,! ack,! urg
    У OpenBSD всі ці рядки можна замінити простим записом на початку
    /etc/pf.conf:
    scrub in all

    Директива scrub активує механізм нормалізації пакетів, при якому фрагментовані пакети возз'єднуються, а пакети з неприпустимою комбінацією прапорів відкидаються. Крім екзотичних видів сканування scrub дозволяє захиститися і від обману систем виявлення вторгнень (посилка сильно фрагментованих пакетів) і деяких видів DoS-атак.

    Для захисту від SYN / ACK-сканування, ініційованого за допомогою nmap-прапора "-sS", ми можемо використовувати метод пасивного визначення ОС (OS Fingerprint), доступний в брандмауерах pf і iptables / netfilter (починаючи з версії 1.4.6). Під час проведення звичайного сканування (прапор "-sT") nmap використовує стандартний інтерфейс сокетів операційної системи, тому такий скан майже нічим не відрізняється від потоку звичайних пакетів (нижче ми розглянемо деякі його відмінності), однак при SYN / ACK-скануванні nmap формує пакети самостійно, тому вони мають деякі риси, які видають їх джерело. Метод пасивного визначення ОС дозволяє ідентифікувати ці пакети і відкинути їх за допомогою стандартних правил брандмауера:

    OpenBSD\u003e block in quick from any os NMAP
    Linux\u003e iptables -I INPUT -p tcp -m osf --genre NMAP \\
    -j DROP

    Модуль osf брандмауера iptables / netfilter використовує базу «відбитків», зібрану і оновлювану розробниками OpenBSD (/etc/pf.os), тому обидва цих правила повинні привести до однакових результатів. Цікаво також і те, що вони дозволяють ефективно протидіяти функції визначення ОС утиліти nmap (прапор "-O").

    Тепер ми захищені майже від усіх видів сканування, крім стандартного і тупого "-sT". Як бути з ним? Насправді все просто. Факт сканування портів легко помітити, просто проаналізувавши логи брандмауера. Якщо за короткий проміжок часу відбувалося безліч коннектов на різні порти - значить, нас сканували. Залишилося тільки перекласти цю ідею на правила брандмауера. Для iptables є відмінний рецепт, який блокує всіх, хто занадто наполегливо стукає в неробочі порти:

    Боротьба зі скануванням за допомогою iptables

    # Перевірка на стук в неробочі порти (10 в годину)

    --seconds 3600 --hitcount 10 --rttl -j RETURN
    # Друга перевірка на стук в неробочі порти (2 в хвилину)
    iptables -A INPUT -m recent --rcheck \\
    --seconds 60 --hitcount 2 --rttl -j RETURN
    # Заносимо адреси стукали в список
    iptables -A INPUT -m recent --set
    # Відкидаємо пакети всіх, хто перевищив ліміт на
    кількість підключень
    iptables -P INPUT -j DROP

    Встановивши пакет xtables-addons, що містить напрацювання проекту patch-omatic, ми отримаємо доступ до модуля PSD (Port Scan Detect), реалізованому за образом і подобою демона scanlogd. Всі попередні рядки можуть бути легко замінені простим правилом:

    # Iptables -A INPUT -m psd -j DROP

    На жаль, в пакетних фільтрах ipfw і pf нічого подібного немає, але це не біда, тому як скануванню портів добре протидіє демон PortSentry і той самий scanlogd.

    Заборона Icmp-повідомлень

    Доброю практикою також є заборона ICMP-повідомлень, які можуть видати додаткову інформацію про хості або бути використані для виконання різних зловмисних дій (наприклад, модифікації таблиці маршрутизації). Нижче наведена таблиця зі списком можливих типів ICMP-повідомлень:

    Типи ICMP-повідомлень

    • 0 - echo reply (echo-відповідь, пінг)
    • 3 - destination unreachable (адресат недосяжний)
    • 4 - source quench (придушення джерела, прохання надсилати пакети повільніше)
    • 5 - redirect (редирект)
    • 8 - echo request (echo-запит, пінг)
    • 9 - router advertisement (оголошення маршрутизатора)
    • 10 - router solicitation (клопотання маршрутизатора)
    • 11 - time-to-live exceeded (витікання терміну життя пакета)
    • 12 - IP header bad (неправильний IPзаголовок пакета)
    • 13 - timestamp request (запит значення лічильника часу)
    • 14 - timestamp reply (відповідь на запит значення лічильника часу)
    • 15 - information request (запит інформації)
    • 16 - information reply (відповідь на запит інформації)
    • 17 - address mask request (запит маски мережі)
    • 18 - address mask reply (відповідь на запит маски мережі)

    Як бачиш, відповідь на деякі ICMP-повідомлення може привести до розголошення певної інформації про вузол, в той час як інші - привести до модифікації таблиці маршрутизації, тому їх необхідно заборонити.

    Зазвичай вихід у зовнішній світ дозволяють ICMP-повідомлень 0, 3, 4, 11 і 12, в той час як на вхід беруть тільки 3, 8 і 12. Ось як це реалізується в різних брандмауерах:

    Заборона небезпечних ICMP-повідомлень

    Linux\u003e iptables -A INPUT -p icmp \\
    -icmp-type 3,8,12 -j ACCEPT
    Linux\u003e iptables -A OUTPUT -p icmp \\
    -icmp-type 0,3,4,11,12 -j ACCEPT
    FreeBSD\u003e ipfw add allow icmp \\
    from any to $ outif in \\
    via $ outif icmptype 3,8,12
    FreeBSD\u003e ipfw add allow icmp \\
    from $ outif to any out \\
    via $ outif icmptype 0,3,4,11,12
    OpenBSD\u003e pass in inet proto icmp \\
    from any to $ outif \\
    icmp-type (3, 8, 12) keep state
    OpenBSD\u003e pass out inet proto icmp \\
    from $ outif to any \\
    icmp-type (0, 3, 4, 11, 12) \\
    keep state

    При бажанні ти можеш заборонити весь ICMPтрафік, включаючи пінг-запити, але це може вплинути на коректність роботи мережі.

    брутфорс

    Розвідавши інформацію про відкриті портах і ОС, зломщик робить спроби проникнення в систему, які можуть бути засновані на експлуатації дірок в сервісах, або на підборі паролів. Запобігти можливість злому сервісів брандмауер нам не допоможе, однак загальмувати процес перебору паролів - легко. Для цього застосовуються можливості по обмеженню кількості пакетів, які прийшли на машину з однієї IP-адреси. Ось як це можна зробити за допомогою iptables:

    Захист від брутфорса за допомогою iptables

    # Ланцюжок для перевірки з'єднань
    iptables -N brute_check
    # Блокування адреси, якщо за 60
    секунд він ініціював більше 2-х з'єднань

    --update --seconds 60 \\
    --hitcount 3 -j DROP
    # Якщо немає - дозволяємо з'єднання і
    заносимо адресу в список
    iptables -A brute_check -m recent \\
    --set -j ACCEPT
    # Очищаємо ланцюжок INPUT
    iptables -F INPUT
    # Відправляємо в ланцюжок brute_check
    всіх, хто намагається підключитися до
    22-му порту

    --ctstate NEW -p tcp \\
    --dport 22 -j brute_check
    iptables -P INPUT DROP

    Те ж саме можна зробити і з використанням pf:

    Захист від брутфорса за допомогою pf

    # Створюємо таблицю для брутфорсер
    table persist
    # Блокуємо всіх, хто в неї потрапляє
    block in quick from
    # Розміщуємо в таблицю bruteforcers всіх, хто ініціює більше двох з'єднань на 22-ій порт в хвилину
    pass in on $ ext_if inet proto tcp to $ outif \\
    port 22 flags S / SA keep state \\
    (Max-src-conn-rate 60/2, \\ overload flush)

    Брандмауер ipfw не володіє достатньою функціональністю для ефективної протидії брутфорсер, тому його користувачі повинні використовувати інструменти більш високого рівня, такі як спеціальні модулі PAM, системи виявлення вторгнень і програми на зразок sshguard.

    спуфінга

    Спуфінга (підміна адреси відправника пакета) може бути використаний для здійснення DoS-атак або обходу брандмауера. У першому випадку спуфинг дає величезну перевагу атакуючому, так як суттєво ускладнює реакцію на атаку (пакети, що приходять з абсолютно різними адресами відправника, не так просто класифікувати і заблокувати) і затягує процес закриття нових з'єднань (зазвичай підроблений адреса недосяжний, тому закриття з'єднання відбувається лише по закінченню таймаута). Спуфінга, здійснюваний для обходу системи захисту, менш небезпечний і в більшості випадків піддається контролю.

    Досить часто, блокуючи зовнішні мережеві сервіси хоста, системні адміністратори залишають їх відкритими для певного діапазону адрес (наприклад, для підключення зі своєї домашньої машини). Обчисливши один з цих адрес, зломщик може сформувати пакет, вказавши цю адресу в якості зворотного, і таким чином «прослизнути» через брандмауер. Далі він може вгадати номери послідовності TCP-пакетів і зробити так, щоб довіряє зворотною адресою сервіс виконав потрібне йому дію. Це дуже важка в реалізації атака, яка, тим не менш, може бути виконана грамотним фахівцем, а якщо мова йде про протокол UDP, то це під силу і кулхацкер.

    На щастя, захиститися від подібних атак легко. Досить не відкривати порти незахищених сервісів у зовнішній світ, а в разі різкої необхідності використовувати захисні системи самих сервісів (наприклад, сертифікати ssh) або механізм «стуку в порти» (про нього розказано в кінці статті).

    Ситуація стає складнішою, коли справа стосується мережевого моста, що розділяє внутрішню і зовнішню мережі (або дві локальних мережі). Довірчі відносини всередині локальної мережі - звичайна справа. Сервіси доступні всім, ніякої аутентифікації, шифрування і т.д. - просто ласий шматочок для зломщика. Перебуваючи у зовнішній мережі, він може дізнатися мережеву маску внутрішньої мережі і сформувати пакети з відповідним їй зворотною адресою, що призведе до отримання доступу до всіх ресурсів локалки. Це дійсно небезпечна ситуація, але її легко запобігти за допомогою правильного налаштування брандмауера або ОС.

    Для цього достатньо заборонити проходження пакетів, зворотні адреси яких відповідають використовуваним у внутрішній мережі, з зовнішнього інтерфейсу:

    Linux\u003e iptables -A INPUT -i $ outif \\
    -s 192.168.1.0/24 -j DENY
    FreeBSD\u003e ipfw add deny ip from \\
    192.168.1.0/24 to any via $ outif
    OpenBSD\u003e block in on $ outif from \\
    192.168.1.0/24 to any

    В якості альтернативи або додаткової міри захисту можна (і навіть потрібно) використовувати спеціальні директиви ipfw і pf і налаштування ядра Linux:

    Linux\u003e echo 1\u003e / proc / sys / net / ipv4 / conf / all / rp_filter
    FreeBSD\u003e ipfw add deny ip from any to any not antispoof in
    OpenBSD\u003e antispoof quick for $ ext_if

    Ці три команди призводять до однакових результатів. Всі пакети, зворотні адреси яких відповідають масці мережі іншого інтерфейсу, відкидаються.

    корисності IPTABLES

    В кінці статті ми розглянемо кілька цікавих можливостей iptables / netfilter, які можуть виявитися корисними при захисті сервера від проникнень. Почнемо з механізму віддаленого управління брандмауером, який отримав ім'я «стукіт в порти» (port knoking). Суть його полягає в тому, щоб змусити файервол виконувати певні дії після підключення до заданого порту. Нижче наведено приклад правил, які відкривають порт SSH на 10 секунд після «стуку» в 27520-ий порт:

    iptables і port knocking
    # Ланцюжок для перевірки з'єднань на захищається порт
    iptables -N knock
    # Дозволяємо з'єднання, якщо стукіт був протягом останніх
    10 секунд
    iptables -A knock -m recent --rcheck --seconds 10 \\
    -j ACCEPT
    # Очищаємо INPUT
    iptables -F INPUT
    # Дозволяємо все, що відноситься до вже встановлених з'єднань
    iptables -A INPUT -m conntrack \\
    --ctstate ESTABLISHED, RELATED -j ACCEPT
    # Всі спроби відкрити з'єднання з 22-м портом відправляємо
    на перевірку в ланцюжок knock

    -p tcp --dport 22 -j knock
    # Заносимо адреса стукати в 27520-й порт в список
    iptables -A INPUT -m conntrack --ctstate NEW \\
    -p tcp --dport 27520 -m recent --set
    # При стукоті в сусідні порти видаляємо адресу зі списку
    iptables -A INPUT -m conntrack --ctstate NEW -p tcp \\
    -m multiport --dport +27519,27521 -m recent --remove
    # Забороняємо все
    iptables -P INPUT DROP

    Третє з кінця правило додає адресу стукати в список. Якщо та ж машина протягом 10 секунд після стуку звернеться до 22-му порту, з'єднання буде встановлено. Передостаннє правило - захист від «перебору стуку». Якщо зловмисник спробує стукати послідовно в усі порти з надією, що один з них відкриє 22-й порт, спрацює це правило, і його адреса буде видалений зі списку відразу після попадання в нього.

    Друга корисність iptables поширюється в пакеті xtables-addons (patch-o-matic) і носить ім'я TARPIT. Ця дія (таке ж, як ACCEPT або DENY), яке «підвішує» з'єднання, не дозволяючи атакуючій стороні його закрити. З'єднання, пакети якого потрапляють в TARPIT, буде благополучно встановлено, проте розмір вікна буде дорівнює нулю, завдяки чому віддалена машина не зможе відправляти дані, витрачаючи свої ресурси, а з'єднання буде закрито тільки по закінченню таймаута. TARPIT можна використовувати в екстрених випадках для захисту від DoS:

    # Iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT

    Або ж для введення атакуючого в оману і боротьби проти сканерів
    портів (тільки звичайне TCP-сканування, "-sT"):

    # Iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    # Iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
    # Iptables -A INPUT -p tcp -m tcp -j TARPIT

    Ці правила створюють видимість системи, в якій відкриті всі порти, однак при спробі підключення до будь-якого з них (крім 80 і 25) з'єднання будуть «подвисать». Того ж результату, але без «провисших» з'єднань, можна домогтися за допомогою дії DELUDE, яке правильно відповідає на всі спроби ініціації з'єднання, але посилає RST-пакет у відповідь на всі інші пакети. Для ще більшого заплутування атакуючого ти можеш використовувати дію CHAOS, яке випадковим чином активує одне з двох описаних вище дій.

    висновки

    Володіючи достатньою кількістю знань і вдумливо читаючи документацію, ти можеш створити дуже міцний бастіон, до якого буде не такт просто підібратися. Сучасні брандмауери, а особливо pf і iptables, пропонують безліч засобів захисту від непрошених гостей, які ти можеш отримати абсолютно безоплатно.

    Links

    • sf.net/projects/sentrytools - PortSentry
    • www.openwall.com/scanlogd - scanlogd

    Боротьба з витоком ресурсів

    При використанні дії TARPIT обов'язково додавай в конфіг наступне правило, інакше «провисшие» з'єднання будуть з'їдати ресурси при обробці підсистемою conntrack:

    # Iptables -t raw -I PREROUTING -p tcp --dport 25 -j NOTRACK

    Яким чином можна конфігурувати комп'ютери під управлінням Windows 2000 / XP / 2003 на блокування Ping пакетів? Windows 2000 / XP / 2003 має вбудований механізм безпеки IP, званих IPSec (IP Security). IPSec це протокол розроблений для захисту індивідуальних TCP / IP пакетів при передачі їх через мережу.

    Однак ми не будемо вдаватися в подробиці функціонування і пристрої IPsec, бо крім шифрування, IPSec може також захищати ваш сервер або робочу станцію механізмом, схожим на фаєрвол.

    Блокуємо PING на одиночному комп'ютері

    Для блокування всіх PING пакетів з комп'ютера і на нього нам необхідно створити політітку IPSec, яка буде блокувати весь ICMP трафік. Для початку перевірте чи відповідає ваш комп'ютер на ICMP запити:

    Для настройки одиночного комп'ютера нам необхідно виконати наступні кроки:

    Сконфігуріруемсписок IP Filter Lists і Filter Actions

    1. Відкрийте вікно MMC (Start\u003e Run\u003e MMC).
    2. Додайте оснащення IP Security and Policy Management.
    1. Виберіть який комп'ютер буде управлятися цією політикою - в нашому випадку це локальний компьтер. Натисніть Close, потім нажмітеOk.
    1. Правою кнопкою натисніть на IP Security Policies в лівій половині консолі MMC. Виберіть Manage IP Filter Lists and Filter Actions.
    1. Вам не потрібно налаштовувати або створювати IP фільтр для ICMP (протокол в якому працює PING), так як такий фільтр вже існує за замовчуванням - All ICMP Traffic.

    Однак ви можете настроїти як завгодно складний IP фільтр, наприклад заборонити пінгувати ваш комп'ютер з усіх IP, крім кількох певних. В одній з наступних статей присвячених IPSec ми детально розглянемо створення IP фільтрів, слідкуйте за оновленнями.

    1. У вікні Manage IP Filter Lists and Filter actions перегляньте ваші фільтри і якщо все в порядку натисніть на вкладку Manage Filter Actions. Тепер нам потрібно додати дію для фільтра, яке буде блокувати певний трафік, натиснемо Add.
    1. У першому вікні привітання натискаємо Next.
    2. В поле Filter Action Name вводимо Block і натискаємо Next.
    1. У Filter Action General Options вибираємо Block, після чого тиснемо Next.
    1. Поверніться у вікно Manage IP Filter Lists and Filter actions і перегляньте ваші фільтри і якщо все в порядку, натисніть Close. Ви можете додати фільтри і дії для фільтрів в будь-який час.

    Наступним кроком буде конфігурація політики IPSec і її застосування.

    Конфігуріруем політику IPSe

    1. У тій же MMC консолі натисніть правою кнопкою по IP Security Policies і виберіть Create IP Security Policy.
    1. Пропустіть вітання майстра натиснувши Next.
    2. В поле IP Security Policy Name введіть відповідне нагоди ім'я, наприклад "Block PING". натисніть Next
    1. У вікні Запитів безпечного з'єднання зніми галочку з чекбокса Active the Default Response Rule. НажмітеNext
    1. Відзначте чекбокс змінити властивості і натисніть Finish.
    1. Нам потрібно додати IP фільтри і дії фільтрів в нову політику IPSec. У вікні новий політиці IPSec натисніть Add
    1. Натисніть Next.
    2. У вікні Tunnel Endpoint переконайтеся що вибрано значення за замовчуванням і натисніть Next.

    Блокування відповідей пінг в ОС може запобігти атакам флуда ICMP пакетів, але більшість систем використовують дану послугу для онлайн моніторингу (системного моніторингу). У своїй темі «заблокувати Ping (ICMP) відповідей в Unix / Linux» я розповім як можна все-таки його вимкнути.

    Блокування PING на сервер є корисним, якщо сервер постійно стикається з якоюсь DoS атакою за допомогою функції PING. При використанні IPTables ми можемо просто зупинити заборонити проходження ICMP пакетів (власне, заборонити PING) на сервер. Перед початком цього необхідно мати уявлення про те, що таке Iptables в Linux. Iptables це система брандмауера з набором правил, які контролює вхідні і вихідні пакети. За замовчуванням в Iptables працює без будь-яких правил, ви можете створювати, додавати, редагувати правила.

    Відключення Ping використовуючи iptables

    Пояснення деяких параметрів в iptables, які необхідні для створення правил управління ICMP пакетами:

    A: Додає правила.
    -D: Видаляє правило з таблиці.
    -p: Опція щоб вказати протокол (де 'icmp').
    -icmp-type: Опція для вказівки типу.
    -J: Перейти до ланцюжку.

    Нижче, я приведу наочні приклади.

    Як заблокувати PING на сервері з висновком повідомлень про помилку?
    Таким чином, ви можете частково блокувати PING з висновком повідомлення про помилку «Destination Port Unreachable». Додайте наступні правила Iptables щоб заблокувати PING з висновком повідомлення про помилку:

    # Iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT

    заблокувати PING на серверібез будь-яких повідомлень про помилки.
    Для цього, використовуємо команду для ІПтейбелс:

    # Iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP # iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP

    Заблокує всі вхідні і вихідні ICMP пакети на сервері.

    Дозволити Ping використовуючи iptables

    Якщо заблокували ping на сервері і не знаєте як повернути назад. То я зараз розповім як це зробити. А робиться це, додаванням наступного правила в IPtables:

    # Iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

    Дані правила дозволять проходження ICMP пакетів з сервера і на нього.

    Блокування Ping з параметрами Kernel

    Ми також можемо блокувати пінг відповіді безпосередньо параметрами ядра. Можна заблокувати відповіді на пінг тимчасово або постійно і внизу показано як це зробити.

    Тимчасове блокування Ping
    Ви можете заблокувати тимчасово відповіді на пінг використовуючи наступну команду

    # Echo "1"\u003e

    Щоб розблокувати цю команду, виконайте наступну:

    # Echo 0\u003e / proc / sys / net / ipv4 / icmp_echo_ignore_all

    Заборонити Ping взагалі
    Ви можете заблокувати пінг відповіді додаючи наступний параметр в конфігураційний файл:

    # Vim /etc/sysctl.conf

    І прописати:

    [...] net.ipv4.icmp_echo_ignore_all \u003d 1 [...]

    sysctl використовується для зміни параметрів ядра під час виконання, один з цих параметрів може бути «ping daemon» (демон пинга), якщо ви хочете відключити пінг, то ви просто повинні виконати щось на кшталт:

    # Sysctl -w net.ipv4.icmp_echo_ignore_all \u003d 1

    Тепер спробуйте пінгувати машину, ніяких відповідей на неї немає, чи не так? Для повторного включення пинга, використовуйте:

    # Sysctl -w net.ipv4.icmp_echo_ignore_all \u003d 0

    W прапор використовується, якщо ви хочете змінити деякі настройки.

    Тепер виконайте наступну команду, щоб негайно застосувати настройки без перезавантаження системи:

    # Sysctl -p

    # Sysctl --system

    Ось мій повний конфіг:

    # Cd / usr / local / src && wget http: //сайт/wp-content/uploads/files/sysctl_conf.txt

    і потім можна виконати:

    # Cp /usr/local/src/sysctl_conf.txt /etc/sysctl.conf

    На цьому у мене все, тема «Заблокувати Ping (ICMP) відповідей в Unix / Linux» завершена.


    Файрвол в системі linux контролюється програмою iptables (для ipv4) і ip6tables (для ipv6). У даній шпаргалці розглянуті найпоширеніші способи використання iptables для тих, хто хоче захистити свою систему від зломщиків або просто розібратися в налаштуванні.

    Знак # означає, що команда виконується від root. Відкрийте заздалегідь консоль з рутовий правами - sudo -i в Debian-based системах або su в інших.

    1. Показати статус.

    # Iptables -L -n -v

    Приблизний висновок команди для неактивного файрволу:

    Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt \u200b\u200bin out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt \u200b\u200bin out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes ) pkts bytes target prot opt \u200b\u200bin out source destination

    Для активного файрволу:

    Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt \u200b\u200bin out source destination 0 0 DROP all - * * 0.0.0.0/0 0.0.0.0/0 state INVALID 394 43586 ACCEPT all - * * 0.0. 0.0 / 0 0.0.0.0/0 state RELATED, ESTABLISHED 93 17292 ACCEPT all - br0 * 0.0.0.0/0 0.0.0.0/0 1 142 ACCEPT all - lo * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt \u200b\u200bin out source destination 0 0 ACCEPT all - br0 br0 0.0.0.0/0 0.0.0.0/0 0 0 DROP all - * * 0.0.0.0/0 0.0 .0.0 / 0 state INVALID 0 0 TCPMSS tcp - * * 0.0.0.0/0 0.0.0.0/0 tcp flags: 0x06 / 0x02 TCPMSS clamp to PMTU 0 0 ACCEPT all - * * 0.0.0.0/0 0.0.0.0 / 0 state RELATED, ESTABLISHED 0 0 wanin all - vlan2 * 0.0.0.0/0 0.0.0.0/0 0 0 wanout all - * vlan2 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all - br0 * 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT 425 packets, 113K bytes) pkts bytes target prot opt \u200b\u200bin out source destination Chain wanin (1 references) pkts bytes target prot opt \u200b\u200bin out source desti nation Chain wanout (1 references) pkts bytes target prot opt \u200b\u200bin out source destination

    де:
    -L: Показати список правил.
    -v: Відображати додаткову інформацію. Ця опція показує ім'я інтерфейсу, опції, TOS маски. Також відображає суфікси "K", "M" or "G".
    -n: Відображати IP адреса і порт числами (не використовуючи DNS сервера для визначення імен. Це прискорить відображення).

    2. Показати список правил з номерами рядків.

    # Iptables -n -L -v --line-numbers

    Приблизний висновок:

    Chain INPUT (policy DROP) num target prot opt \u200b\u200bsource destination 1 DROP all - 0.0.0.0/0 0.0.0.0/0 state INVALID 2 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 state RELATED, ESTABLISHED 3 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 4 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP) num target prot opt \u200b\u200bsource destination 1 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 2 DROP all - 0.0.0.0/0 0.0.0.0/0 state INVALID 3 TCPMSS tcp - 0.0.0.0/0 0.0.0.0/0 tcp flags: 0x06 / 0x02 TCPMSS clamp to PMTU 4 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 state RELATED, ESTABLISHED 5 wanin all - 0.0.0.0/0 0.0.0.0/0 6 wanout all - 0.0.0.0/0 0.0.0.0/0 7 ACCEPT all - - 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt \u200b\u200bsource destination Chain wanin (1 references) num target prot opt \u200b\u200bsource destination Chain wanout (1 references) num target prot opt \u200b\u200bsource destination

    Ви можете використовувати номери рядків для того, щоб додавати нові правила.

    3. Показати INPUT або OUTPUT ланцюжки правил.

    # Iptables -L INPUT -n -v
    # Iptables -L OUTPUT -n -v --line-numbers

    4. Зупинити, запустити, перезапустити файрвол.

    Силами самої системи:
    # Service ufw stop
    # Service ufw start

    Можна також використовувати команди iptables для того, щоб зупинити файрвол і видалити всі правила:
    # Iptables -F
    # Iptables -X
    # Iptables -t nat -F
    # Iptables -t nat -X
    # Iptables -t mangle -F
    # Iptables -t mangle -X
    # Iptables -P INPUT ACCEPT
    # Iptables -P OUTPUT ACCEPT
    # Iptables -P FORWARD ACCEPT

    де:
    -F: Видалити (flush) всіх правил.
    -X: Видалити ланцюжок.
    -t table_name: Вибрати таблицю (nat або mangle) і видалити всі правила.
    -P: Вибрати дії за замовчуванням (такі, як DROP, REJECT, або ACCEPT).

    5. Видалити правила файрвола.

    Щоб відобразити номер рядка з існуючими правилами:

    # Iptables -L OUTPUT -n --line-numbers
    # Iptables -L OUTPUT -n --line-numbers | less
    # Iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1

    Отримаємо список IP адрес. Просто подивимося на номер зліва і видалимо відповідний рядок. Наприклад для номера 3:
    # Iptables -D INPUT 3

    Або знайдемо IP адреса джерела (202.54.1.1) і видалимо з правила:
    # Iptables -D INPUT -s 202.54.1.1 -j DROP

    де:
    -D: Видалити одне або кілька правил з ланцюжка.

    6. Додати правило в файрвол.

    Щоб додати одне або кілька правил в ланцюжок, для початку відобразимо список з використанням номерів рядків:
    # Iptables -L INPUT -n --line-numbers

    Приблизний висновок:

    Chain INPUT (policy DROP) num target prot opt \u200b\u200bsource destination 1 DROP all - 202.54.1.1 0.0.0.0/0 2 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 state NEW, ESTABLISHED

    Щоб вставити правило між 1 і 2 рядком:
    # Iptables -I INPUT 2 -s 202.54.1.2 -j DROP

    Перевіримо, оновилося чи правило:
    # Iptables -L INPUT -n --line-numbers

    Висновок стане таким:

    Chain INPUT (policy DROP) num target prot opt \u200b\u200bsource destination 1 DROP all - 202.54.1.1 0.0.0.0/0 2 DROP all - 202.54.1.2 0.0.0.0/0 3 ACCEPT all - 0.0.0.0/0 0.0. 0.0 / 0 state NEW, ESTABLISHED

    7. Зберігаємо правила файрвола.

    Через iptables-save:
    # Iptables-save\u003e /etc/iptables.rules

    8. Відновлюємо правила.

    Через iptables-restore
    # Iptables-restore

    9. Встановлюємо політики за замовчуванням.

    Щоб скидати весь трафік:
    # Iptables -P INPUT DROP
    # Iptables -P OUTPUT DROP
    # Iptables -P FORWARD DROP
    # Iptables -L -v -n

    Після перерахованих вище команд жоден пакет не покине даний хост.
    # Ping google.com

    10. Блокувати тільки вхідні з'єднання.

    Щоб скидати все не ініційовані вами вхідні пакети, але дозволити вихідний трафік:
    # Iptables -P INPUT DROP
    # Iptables -P FORWARD DROP
    # Iptables -P OUTPUT ACCEPT
    # Iptables -A INPUT -m state --state NEW, ESTABLISHED -j ACCEPT
    # Iptables -L -v -n

    Пакети вихідні і ті, які були збережені до в рамках встановлених сесій - дозволені.
    # Ping google.com

    11. Скидати адреси ізольованих мереж в публічній мережі.

    # Iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP

    Список IP адрес для ізольованих мереж:
    10.0.0.0/8 -j (A)
    172.16.0.0/12 (B)
    192.168.0.0/16 (C)
    224.0.0.0/4 (MULTICAST D)
    240.0.0.0/5 (E)
    127.0.0.0/8 (LOOPBACK)

    12. Блокування певного IP адреси.

    Щоб заблокувати адресу зломщика 1.2.3.4:
    # Iptables -A INPUT -s 1.2.3.4 -j DROP
    # Iptables -A INPUT -s 192.168.0.0/24 -j DROP

    13. Заблокувати вхідні запити порту.

    Щоб заблокувати всі вхідні запити порту 80:
    # Iptables -A INPUT -p tcp --dport 80 -j DROP
    # Iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

    Щоб заблокувати запит порту 80 з адреси 1.2.3.4:
    # Iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
    # Iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

    14. Заблокувати запити на вихідний IP адреса.

    Щоб заблокувати певний домен, дізнаємося його адресу:
    # Host -t a facebook.com

    Висновок: facebook.com has address 69.171.228.40

    Знайдемо CIDR для 69.171.228.40:
    # Whois 69.171.228.40 | grep CIDR

    висновок:
    CIDR: 69.171.224.0/19

    Заблокуємо доступ на 69.171.224.0/19:
    # Iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP

    Також можна використовувати домен для блокування:
    # Iptables -A OUTPUT -p tcp -d www.fаcebook.com -j DROP
    # Iptables -A OUTPUT -p tcp -d fаcebook.com -j DROP

    15. Записати подія і скинути.

    Щоб записати в журнал рух пакетів перед скиданням, додамо правило:

    # Iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A:"
    # Iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

    Перевіримо журнал (за замовчуванням / var / log / messages):
    # Tail -f / var / log / messages
    # Grep -i --color "IP SPOOF" / var / log / messages

    16. Записати подія і скинути (з обмеженням на кількість записів).

    Щоб не переповнити розділ роздутим журналом, обмежимо кількість записів за допомогою -m. Наприклад, щоб записувати кожні 5 хвилин максимум 7 рядків:
    # Iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5 / m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A:"
    # Iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

    16. Скидати або дозволити трафік з певних MAC адрес.

    # Iptables -A INPUT -m mac --mac-source 00: 0F: EA: 91: 04: 08 -j DROP
    ## * дозволити тільки для TCP port # 8080 з mac адреси 00: 0F: EA: 91: 04: 07 * ##
    # Iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00: 0F: EA: 91: 04: 07 -j ACCEPT

    17. Дозволити або заборонити ICMP Ping запити.

    Щоб заборонити ping:
    # Iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    # Iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP

    Дозволити для певних мереж / хостів:
    # Iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT

    Дозволити лише частина ICMP запитів:
    ### ** передбачається, що політики за замовчуванням для вхідних встановлені в DROP ** ###
    # Iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
    # Iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
    # Iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
    ## ** дозволимо відповідати на запит ** ##
    # Iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

    18. Відкрити діапазон портів.

    # Iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000: 7010 -j ACCEPT

    19. Відкрити діапазон адрес.

    ## дозволити підключення до порту 80 (Apache) якщо адреса в діапазоні від 192.168.1.100 до 192.168.1.200 ##
    # Iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT

    ## приклад для nat ##
    # Iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25

    20. Закрити або відкрити стандартні порти.

    Замінити ACCEPT на DROP, щоб заблокувати порт.

    ## ssh tcp port 22 ##
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT

    ## cups (printing service) udp / tcp port 631 для локальної мережі ##
    iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT

    ## time sync via NTP для локальної мережі (udp port 123) ##
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT

    ## tcp port 25 (smtp) ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT

    # Dns server ports ##
    iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
    iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

    ## http / https www server port ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT

    ## tcp port 110 (pop3) ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT

    ## tcp port 143 (imap) ##
    iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT

    ## Samba file server для локальної мережі ##
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT

    ## proxy server для локальної мережі ##
    iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT

    ## mysql server для локальної мережі ##
    iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

    21. Обмежити кількість паралельних з'єднань до сервера для однієї адреси.

    Для обмежень використовується connlimit модуль. Щоб дозволити лише 3 ssh з'єднання на одного клієнта:
    # Iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

    Встановити кількість запитів HTTP до 20:
    # Iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP

    де:
    --connlimit-above 3: Вказує, що правило діє тільки якщо кількість з'єднань перевищує 3.
    --connlimit-mask 24: Вказує маску мережі.

    Допомога по iptables.

    Для пошуку допомоги по iptables, скористаємося man:
    $ Man iptables

    Щоб подивитися допомогу по певним командам і цілям:
    # Iptables -j DROP -h

    Перевірка правила iptables.

    Перевіряємо відкритість / закритість портів:
    # Netstat -tulpn

    Перевіряємо відкритість / закритість певного порту:
    # Netstat -tulpn | grep: 80

    Перевіримо, що iptables дозволяє з'єднання з 80 портом:
    # Iptables -L INPUT -v -n | grep 80

    В іншому випадку відкриємо його для всіх:
    # Iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT

    Перевіряємо за допомогою telnet
    $ Telnet ya.ru 80

    Можна використовувати nmap для перевірки:
    $ Nmap -sS -p 80 ya.ru

    Iptables відмінний інструмент в руках адміністратора. Якщо потрібно легко і просто захиститися в деськтопной Ubuntu, то варто знати, що є зручна консольная надбудова над iptables під назвою UFW, а до неї є графічна програма GUFW. Зробити свою Ubuntu ще більш захищеною допоможе відеоматеріал.