GNU/Linux >> Znalost Linux >  >> Linux

Jak na to:Základní konfigurace souboru IPTables

Úvod

Tento článek pojednává o konfiguraci iptables pomocí souboru /etc/sysconfig/iptables, což může být užitečné, pokud máte složitou sadu pravidel, která je třeba sledovat, nebo pokud nechcete, aby se museli zabývat všemi souvisejícími příznaky a možnostmi. s konfigurací iptables pomocí příkazového řádku.

Předpoklady

Server se systémem CentOS 6.5 nebo starším (nebo jakoukoli podobnou distribucí)

Musí být nainstalovány IPTables

Základní konfigurace souboru IPTables

Jednou z hlavních výhod ruční konfigurace souboru iptables jsou komentáře. I když můžete používat komentáře prostřednictvím modulu match (‘-m comment –comment’), můžete rozsáhlejší využití komentářů v samotném souboru iptables pomocí ‘# znak ‘ na začátku řádku:

# This is a comment and will be ignored when iptables is loaded

Takže máme bod pro srovnání, pojďme se podívat, jak by mohly vypadat soubory iptables, pokud je ukládáme prostřednictvím služby sudo iptables save příkaz.

sudo service iptables save

Ukázka:Service iptables save

To by mohlo být v pořádku, když máme tak malý počet pravidel, ale představte si, že bychom měli stovky pravidel, která bychom měli sledovat. Může pro nás být obtížné tato pravidla analyzovat bez malého komentáře, který nám pomůže zapamatovat si, jaký byl v první řadě záměr vytvoření těchto pravidel. Přidejme tedy malý komentář. Pomocí textového editoru, který si zvolíte, otevřete upravitelnou kopii souboru iptables (následující snímky obrazovky byly převzaty z vim, ale do zadání příkazu zahrneme nano, abychom novým studentům usnadnili práci):

sudo nano /etc/sysconfig/iptables

Soubor iptables s komentáři

Toto je (až na jednu výjimku) stejný soubor jako ten bez komentáře výše. Pokud nejste zvyklí číst spoustu pravidel iptables, může být tento soubor mnohem méně zastrašující (a pokud jsou vaše komentáře dostatečně jasné, mohou vám dokonce připomenout, jak má fungovat obzvláště složité pravidlo!) .

Bystrozraký si mohl všimnout, že pravidla ssh v tomto souboru iptables jsou trochu chabá v tom, že druhý řádek (při povolení veškerého provozu ssh) v podstatě ruší bod prvního řádku, který určuje, že jedna konkrétní IP má povoleno ssh Tato pravidla jsou nakonfigurována tak, aby demonstrovala některé základní formáty pravidel. V produkčním prostředí byste pravděpodobně zavedli přísnější sadu pravidel.

Mezi dvěma sadami pravidel iptables je třeba vzít na vědomí jednu změnu pravidla. Abychom demonstrovali další použití znaku komentáře, přidali jsme „# ” před INPUT pravidlo, které určuje, že odmítáme provoz, který neodpovídá žádnému z předchozích pravidel, a přidalo nové pravidlo, které říká, že bychom měli zaprotokolovat veškerý provoz, než provedeme výchozí akci pro tento řetězec (DROP ). (Další informace o protokolování aktivity iptables naleznete v tomto článku o základním odstraňování problémů s iptables). Protože jsme okomentovali pouze ODmítnout pravidlo, pokud bychom chtěli, mohli bychom odstranit „# ” pro obnovení tohoto pravidla, namísto toho, abyste jej museli znovu zadávat. To může být užitečné při testování různých pravidel nebo pro zahrnutí pravidla, které byste mohli chtít aktivovat v budoucnu nebo na omezenou dobu.

Všimněte si, že každé pravidlo v souboru /etc/sysconfig/iptables začíná „-A ‘příkaz. Pokud jste obeznámeni s přidáváním pomocí iptables na příkazovém řádku, možná uznáte, že tato pravidla vypadají velmi podobně jako pravidla sudo iptables část příkazu při provádění změn iptables prostřednictvím rozhraní CLI. „-A Příkaz ‘ označuje, že pravidlo by mělo být připojeno na konec označeného řetězce. Všimněte si, že není vyžadováno žádné číslo řádku (jako to může být pro „-I ‘ nebo -R ‘) od ‘-A ‘ podle definice přidá pravidlo na konec seznamu pravidel v tomto řetězci. To je důvod, proč je pořadí pravidel důležité, protože iptables filtruje provoz tak, že tato pravidla analyzuje v pořadí, v jakém spadají do řetězce.

Jakmile dokončíte všechny úpravy, které chcete v tomto souboru provést, a uložíte jej, budete muset načíst nová pravidla. Nejjednodušší způsob, jak zajistit načtení všech změn, je restartovat službu iptables. Tato akce vyprázdní všechna aktuálně spuštěná pravidla iptables a poté znovu načte pravidla, jak aktuálně existují v souboru /etc/sysconfig/iptables.

sudo service iptables restart

Service iptables restartovat výstup

Nyní přidáme nové pravidlo a zahrneme chybu, abychom viděli, co se stane, když restartujeme službu iptables:

Příklad selhání restartu

Ano, „tco“ je jistě neznámý protokol. Tento výstup je dostatečně laskavý, aby poskytl číslo řádku v souboru, na kterém narazí na chybu, a stručný popis chyby, takže to je jedna výhoda. Ale pak tento výstup také ukazuje na jednu nevýhodu provádění změn vašich pravidel firewallu prostřednictvím souboru /etc/sysconfig/iptables a restartování celé služby. Všimněte si, že první řádek výstupu označuje, že všechny řetězce jsou nastaveny na ACCEPT . Následující řádky vyprázdní všechna pravidla a uvolní všechny moduly, které jsou všechny úspěšně dokončeny, jak je označeno „OK“ v závorce. Když služba iptables narazí na chybu při opětovném načítání, nepodaří se jí načíst celý soubor iptables. To znamená, že váš server zůstane bez jakéhokoli filtrování a všechny řetězce jsou ve výchozím nastavení AKCEPTOVAT .

Stav IPtables

Pokud máte také NAT nebo MANGLE pravidla nastavená ve vašem souboru iptables, pak byste tam také přišli o překlady adres, takže to může být jedna velká nevýhoda při provádění změn v souboru a restartování velkoobchodu.

V ideálním případě, když se vaše sada pravidel iptables stává komplikovanější, nejlepším řešením je provést jakékoli změny (s vysvětlujícími komentáři) v souboru /etc/sysconfig/iptables a poté ručně přidat nová pravidla pomocí příkazového řádku, zejména pokud jsou tyto změny prováděny na produkčním serveru. Váš počet najetých kilometrů se může lišit podle vašich potřeb.


Linux
  1. CentOS / RHEL :Jak přidat pravidla iptable

  2. Jak mohu odstranit konkrétní pravidla z iptables?

  3. Jak grep \nv souboru

  1. Jak vyprázdnit pravidla iptables

  2. Jak nastavit základní ověřování v Apache pomocí .htaccess

  3. Jak zajistit vypršení platnosti pravidel iptables?

  1. Jak vyprázdnit pravidla iptables

  2. Jak přidat vlastní pravidla iptables v CSF Firewallu

  3. Linux – Jak obnovit 70-persistent-net.rules bez restartu?