Настройка iptables ў CentOS 7

Anonim

Настройка iptables ў CentOS 7

Ва ўсіх аперацыйных сістэмах, заснаваных на базе ядра Linux, маецца ўбудаваны міжсеткавы экран, які ажыццяўляе кантроль і фільтрацыю уваходнага і выходнага трафіку, зыходзячы з зададзеных карыстальнікам або платформай правілаў. У дыстрыбутыве CentOS 7 па змаўчанні такую ​​функцыю выконвае ўтыліта iptables, узаемадзейнічаючы з убудаваным брандмаўарам netfilter. Часам сістэмнаму адміністратару або мэнэджэра сеткі прыходзіцца наладжваць працу гэтага кампанента, прапісваючы адпаведныя правілы. У рамках сённяшняга артыкула мы б хацелі пагаварыць аб асновах канфігурацыі iptables у згаданай вышэй АС.

Наладжвальны iptables ў CentOS 7

Сам інструмент даступны да працы адразу ж пасля завяршэння інсталяцыі CentOS 7, але дадаткова спатрэбіцца ўсталяваць некаторыя сэрвісы, пра што мы і пагаворым далей. У разгляданай платформе маецца яшчэ адзін ўбудаваны інструмент, які выконвае функцыю фаервол пад назвай FirewallD. Для пазбягання канфліктаў пры далейшай працы рэкамендуем адключыць гэты кампанент. Разгорнутыя інструкцыі па гэтай тэме чытайце ў іншым нашым матэрыяле па наступнай спасылцы.

Чытаць далей: Адключэнне firewallD ў CentOS 7

Як вядома, у сістэме могуць прымяняцца пратаколы IPv4 і IPv6. Сёння мы спынімся на прыкладзе IPv4, але калі вы хочаце ажыццяўляць канфігурацыю для іншага пратаколу, спатрэбіцца, а не загадам iptables у кансолі выкарыстоўваць ip6tables.

Ўстаноўка сэрвісаў iptables

Першачаргова варта дадаць у сістэму дадатковыя кампаненты разгляданай сёння ўтыліты. Яны дапамогуць у наладзе правілаў і іншых параметраў. Загрузка ажыццяўляецца з афіцыйнага сховішчы, таму не адбярэ шмат часу.

  1. Усе далейшыя дзеянні будуць вырабляцца ў класічнай кансолі, таму запусціце яе любым зручным метадам.
  2. Запуск тэрмінала для налады ўтыліты iptables ў CentOS 7

  3. За ўстаноўку сэрвісаў адказвае каманда sudo yum install iptables-services. Увядзіце яе і націсніце на клавішу Enter.
  4. Ўстаноўка сэрвісаў для працы ўтыліты iptables ў CentOS 7

  5. Пацвердзіце уліковы запіс суперпользователя, паказаўшы пароль ад яе. Звярніце ўвагу, што пры запытах sudo уводныя знакі ў радку ніколі не адлюстроўваюцца.
  6. Увод пароля для ўстаноўкі сэрвісаў iptables ў CentOS 7 праз тэрмінал

  7. Будзе прапанавана дадаць у сістэму адзін пакет, пацвердзіце гэта дзеянне, выбраўшы варыянт y.
  8. Пацвярджэнне дадання новых пакетаў сэрвісаў iptables ў CentOS 7

  9. Па завяршэнні інсталяцыі праверце актуальную версію інструмента: sudo iptables --version.
  10. Праверка версіі ўтыліты iptables ў CentOS 7 праз тэрмінал

  11. Вынік з'явіцца ў новым радку.
  12. Адлюстраванне бягучай версіі ўтыліты iptables ў CentOS 7 праз тэрмінал

Цяпер АС цалкам гатовая для далейшай налады міжсеткавага экрана праз утыліту iptables. Мы прапануем азнаёміцца ​​з канфігурацыяй па пунктах, пачаўшы з кіравання сэрвісамі.

Прыпынак і запуск сэрвісаў iptables

Кіраванне рэжымам работы iptables патрабуецца ў тых выпадках, калі трэба праверыць дзеянне пэўных правілаў ці проста выканаць перазапуск кампанента. Робіцца гэта пры дапамозе ўбудаваных каманд.

  1. Увядзіце sudo service iptables stop і націсніце на клавішу Enter, каб спыніць сэрвісы.
  2. Прыпынак сэрвісаў ўтыліты iptables ў CentOS 7 праз тэрмінал

  3. Для пацверджання гэтай працэдуры пакажыце пароль суперпользователя.
  4. Увод пароля для прыпынку сэрвісаў ўтыліты iptables ў CentOS 7

  5. Пры паспяховым выкананні працэсу адлюструецца новы радок, якая сведчыць аб унясенні змяненняў у канфігурацыйны файл.
  6. Апавяшчэнне аб прыпынку сэрвісаў ўтыліты iptables ў CentOS 7

  7. Запуск сэрвісаў робіцца практычна гэтак жа, толькі радок набывае выгляд sudo service iptables start.
  8. Запусціць сэрвісы ўтыліты iptables ў CentOS 7 у тэрмінале

Падобная перазагрузка, запуск або прыпынак ўтыліты даступная ў любы момант, не забудзьцеся толькі вярнуць адваротнае значэнне, калі гэта будзе запатрабавана.

Прагляд і выдаленне правілаў

Як ужо было сказана раней, кіраванне сеткавым экранам вырабляецца шляхам ручнога або аўтаматычнага дадання правілаў. Напрыклад, некаторыя дадатковыя праграмы могуць звяртацца да прылады, змяняючы пэўныя палітыкі. Аднак большасць падобных дзеянняў ўсё ж робіцца ўручную. Прагляд спісу ўсіх бягучых правілаў даступны праз каманду sudo iptables -L.

Паказвае спіс усіх бягучых правілаў ўтыліты iptables ў CentOS 7

У адлюстраваў выніку будзе інфармацыя па трох ланцужком: «INPUT», «OUTPUT» і «FORWARD» - які ўваходзіць, выходны і перасылаюць трафік адпаведна.

Выгляд спісу ўсіх правіл ўтыліты iptables ў CentOS 7

Вызначыць статус усіх размоваў можна, увёўшы sudo iptables -S.

Адлюстраванне спісу ланцугоў ўтыліты iptables ў CentOS 7

Калі убачаныя правілы вас не задавальняюць, яны досыць проста выдаляюцца. Увесь спіс чысціцца так: sudo iptables -F. Пасля актывацыі правілы будуць сцёртыя абсалютна для ўсіх трох ланцугоў.

Ачысціць спіс усіх правілаў ўтыліты iptables ў CentOS 7

Калі неабходна закрануць толькі палітыкі з нейкай адной ланцугу, да радка дадаецца дадатковы аргумент:

sudo iptables -F INPUT

sudo iptables -F OUTPUT

sudo iptables -F FORWARD

Ачысціць спіс правілаў для пэўнай ланцугу iptables ў CentOS 7

Адсутнасць усіх правілаў азначае, што цяпер не ўжываецца ніякіх налад фільтрацыі трафіку ні ў адну з бакоў. Далей сістэмны адміністратар ўжо самастойна задае новыя параметры, выкарыстоўваючы ўсю тую ж кансоль, каманду і розныя аргументы.

Прыём і скіданне трафіку ў ланцугах

Кожны ланцуг наладжваецца асобна для прыёму або блакавання трафіку. Выставіўшы пэўнае значэнне, можна дамагчыся таго, што, напрыклад, увесь уваходны трафік будзе блакавацца. Для гэтага каманда павінна быць sudo iptables --policy INPUT DROP, дзе INPUT - назва ланцуга, а DROP - значэнне скіду.

Скід ўваходзяць запытаў у утыліце iptables ў CentOS 7

Дакладна такія ж параметры задаюцца і для іншых ланцугоў, напрыклад, sudo iptables --policy OUTPUT DROP. Калі ж неабходна выставіць значэнне на прыём трафіку, тады DROP змяняецца на ACCEPT і атрымліваецца sudo iptables --policy INPUT ACCEPT.

Дазвол і блакіроўка партоў

Як вядома, усе сеткавыя прыкладання і працэсы працуюць праз пэўны порт. Шляхам блакавання або дазволу вызначаных адрасоў можна кантраляваць доступ усіх сеткавых мэтаў. Давайце разбярэм пракінулі порта на прыкладзе 80. У «тэрмінале» будзе дастаткова ўвесці каманду sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT, дзе -А - даданне новага правілы, INPUT - указанне ланцуга, -P - вызначэнне пратакола , у гэтым выпадку TCP, а --dport - порт прызначэння.

Правіла для адкрыцця порта 80 у утыліце iptables ў CentOS 7

Дакладна такая ж каманда ставіцца і да порта 22, які выкарыстоўваецца сэрвісам SSH: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT.

Правіла для адкрыцця порта 22 у утыліце iptables ў CentOS 7

Для блакавання названага порта ўжываецца радок дакладна такога ж выгляду, толькі ў канцы ACCEPT змяняецца на DROP. У выніку атрымліваецца, напрыклад, sudo iptables -A INPUT -p tcp --dport 2450 -j DROP.

Правіла для забароны порта ў утыліце iptables ў CentOS 7

Усе гэтыя правілы заносяцца ў канфігурацыйны файл і вы можаце прагледзець іх у любы момант. Нагадваем, ажыццяўляецца гэта праз sudo iptables -L. Калі разам з портам неабходна дазволіць яшчэ і сеткавай IP-адрас, радок трохі відазмяняецца - пасля TPC дадаецца -s і сам адрас. sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT, дзе 12.12.12.12/32 - неабходны IP-адрас.

Правіла для прыняцця IP-адрасы і порта ў iptables ў CentOS 7

Блякаваньне адбываецца па тым жа прынцыпе, змяняючы ў канцы значэнне ACCEPT на DROP. Тады атрымліваецца, напрыклад, sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP.

Правіла для блакавання IP-адрасы і порта ў iptables ў CentOS 7

блякаваньне ICMP

ICMP (Internet Control Message Protocol) - пратакол, які ўваходзіць у склад TCP / IP і задзейнічаны для перадачы паведамленняў пра памылкі і экстранных сітуацыях пры працы з трафікам. Напрыклад, калі запытаны сервер недаступны, менавіта гэты інструмент выконвае сэрвісныя функцыі. Ўтыліта iptables дазваляе заблакаваць яго праз брандмаўэр, а зрабіць гэта можна камандай sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP. Яна вырабіць блакаванне запытаў ад вашага і да вашага сервера.

Першае правіла для блакавання пропинговки iptables ў CentOS 7

Ўваходныя запыты блакуюцца крыху інакш. Тады трэба ўвесці sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP. Пасля актывацыі гэтых правілаў сервер не будзе адказваць на ping-запыты.

Другое правіла для блакавання пропинговки ў iptables ў CentOS 7

Прадухіленне несанкцыянаваных дзеянняў на сэрвэры

Часам серверы падвяргаюцца DDoS нападам або іншым несанкцыянаваным дзеянняў з боку зламыснікаў. Правільная налада міжсеткавага экрана дазволіць засцерагчы сябе ад падобнага роду узломаў. Для пачатку мы рэкамендуем задаць такія правілы:

  1. Прапішіце ў кансолі iptables -A INPUT -p tcp --dport 80 -m limit --limit 20 / minute --limit-burst 100 -j ACCEPT, дзе --limit 20 / minute - абмежаванне на частату станоўчых вынікаў. Адзінку вымярэння вы можаце паказваць самастойна, напрыклад, / second, / minute, / hour, / day. --limit-burst number - абмежаванне на лік прапусканых пакетаў. Усе значэння выстаўляюцца індывідуальна па перавагам адміністратара.
  2. Правіла для бяспекі ад DDoS ў iptables ў CentOS 7

  3. Далей можна забараніць сканаванне адкрытых партоў, каб прыбраць адну з магчымых прычын узлому. Увядзіце першую каманду sudo iptables -N block-scan.
  4. Першае правіла для забароны сканавання партоў iptables ў CentOS 7

  5. Затым пакажыце sudo iptables -A block-scan -p tcp -tcp-flags SYN, ACK, FIN, RST -m limit -limit 1 / s -j RETURN.
  6. Другое правіла для забароны сканавання партоў iptables ў CentOS 7

  7. Апошняя трэцяя каманда мае выгляд: sudo iptables -A block-scan -j DROP. Выраз block-scan ў дадзеных выпадках - назва выкарыстоўваецца ланцуга.
  8. Трэцяе правіла для блакавання сканавання партоў iptables ў CentOS 7

Паказаныя сёння налады з'яўляюцца толькі асновай працы ў прыладзе кіравання міжсеткавым экранам. У афіцыйнай дакументацыі утыліты вы знойдзеце апісанне ўсіх даступных аргументаў і опцый і зможаце наладзіць брандмаўэр канкрэтна пад свае запыты. Вышэй былі разгледжаны стандартныя правілы бяспекі, якія прымяняюцца часцей за ўсё і ў большасці выпадкаў абавязковыя.

Чытаць далей