Ако не знаете нищо за IPTABLESПрепоръчвам ви това прочетете първата ни уводна статия към IPTABLES за да вземете основа, преди да започнете да обяснявате темата на таблиците в този фантастичен елемент на ядрото на Linux, за да филтрирате и да действате като мощна и ефективна защитна стена или защитна стена. И това е, че сигурността е нещо, което притеснява и все повече и повече, но ако сте Linux, имате късмет, тъй като Linux прилага един от най-добрите инструменти, които можем да намерим за борба срещу заплахите.
IPTABLES, както вече трябва да знаете, се интегрира в самото ядро на Linux, и е част от проекта netfilter, който освен iptables се състои от ip6tables, ebtables, arptables и ipset. Това е силно конфигурируема и гъвкава защитна стена като повечето елементи на Linux и въпреки че е имала известна уязвимост, въпреки това е особено мощна. Намирайки се в ядрото, той започва със системата и остава активен през цялото време и на ниво ядро ще получава пакети и те ще бъдат приети или отхвърлени чрез справка с правилата на iptables.
Трите вида таблици:
Pero iptables работи благодарение на редица типове таблици което е основната тема на тази статия.
MANGLE маси
на Дъски MANGLE Те отговарят за модифицирането на пакетите и за това имат опциите:
-
КАШКА: Тип услуга се използва за определяне на типа услуга за даден пакет и трябва да се използва за определяне на начина, по който пакетите трябва да се маршрутизират, а не за пакетите, които отиват в Интернет. Повечето рутери игнорират стойността на това поле или може да действат несъвършено, ако се използват за изхода им в Интернет.
-
TTL: променя полето на живота на даден пакет. Съкращението му означава „Време за живеене“ и например може да се използва, когато не искаме да бъдем откривани от определени доставчици на интернет услуги (ISP), които прекалено много гледат.
-
МАРКА: използва се за маркиране на пакети със специфични стойности, като успява да ограничи честотната лента и да генерира опашки чрез CBQ (Class Based Queuing). По-късно те могат да бъдат разпознати от програми като iproute2 за извършване на различните маршрути в зависимост от марката, която тези пакети имат или не.
Може би тези опции не ви звучат познато от първата статия, тъй като не докосваме нито една от тях.
NAT таблици: ПРЕДВАРИТЕЛНО, ПРОДУКТИРАНЕ
на Таблици NAT (Превод на мрежови адреси), т.е. превод на мрежови адреси, ще бъде консултиран, когато пакет създаде нова връзка. Те позволяват публичен IP да се споделя между много компютри, поради което те са от съществено значение в протокола IPv4. С тях можем да добавим правила за модифициране на IP адресите на пакетите и те съдържат две правила: SNAT (IP masquerading) за адреса на източника и DNAT (Port Forwarding) за адресите на местоназначението.
за Правете модификации, ни позволява три възможности вече видяхме някои от тях в първата статия за iptables:
- ПРЕДВАРИТЕЛНО: да модифицирате пакетите веднага щом пристигнат на компютъра.
- ИЗХОД: за изхода на пакети, които се генерират локално и ще бъдат пренасочени за изхода им.
- ПОСТРОЙКА: модифицирайте пакетите, които са готови да напуснат компютъра.
Таблици за филтриране:
на филтърни таблици те се използват по подразбиране за управление на пакети данни. Те са най-използваните и отговарят за филтрирането на пакетите, тъй като защитната стена или филтърът е конфигуриран. Всички пакети преминават през тази таблица и за модификация имате три предварително дефинирани опции, които също видяхме в уводната статия:
- ВХОД: за въвеждане, т.е. всички пакети, предназначени да влязат в нашата система, трябва да преминат през тази верига.
- ИЗХОД: за изхода, всички онези пакети, създадени от системата и които ще го оставят на друго устройство.
- НАПРЕД: пренасочването, както вече знаете, просто ги пренасочва към новата им дестинация, засягайки всички пакети, които минават през тази верига.
Накрая бих искал да кажа, че всеки мрежов пакет, изпратен или получен в Linux система, трябва да бъде обект на една от тези таблици, поне една от тях или няколко едновременно. Той също трябва да е обект на множество правила за таблици. Например, с ACCEPT е разрешено да продължи по пътя си, с DROP достъпът е отказан или не изпратен, а с REJECT той просто се отхвърля, без да се изпраща грешка до сървъра или компютъра, изпратил пакета. Както виждаш, всяка таблица има своите цели или политики за всяка от опциите или веригите, споменати по-горе. И това са споменатите тук като ACCEPT, DROP и REJECT, но има и друг като QUEUE, последният, който може би не знаете, се използва за обработка на пакетите, които пристигат чрез определен процес, независимо от адреса им.
Е, както можете да видите, iptables е малко трудно да го обясните в една статия по-задълбочено, надявам се, че с първата статия ще имате основна идея да използвате iptables с някои примери, а тук още теория. Оставете вашите коментари, съмнения или приноси, те ще бъдат добре дошли.