Linux може да има репутация за сигурност, но не е перфектен. Много дистрибуции също не разполагат с най-добрите по подразбиране за сигурността, затова е най-добре да приложите някои добри практики за сигурност. Един такъв пример е използването на защитна стена.

Има няколко опции за защитни стени в Linux, но повечето от тях са само обвивки около iptables. За това ръководство ще ви покажем как да работите директно с iptables.

Какво е Iptables?

Iptables е защитната стена на ядрото на Linux. Той идва с всяка Linux дистрибуция и това е най-непосредственият начин да се контролира трафика, идващи и излизащи от вашия компютър.

Iptables има репутация за сложност и може да бъде. Не е нужно да знаете всичко за iptables, за да го използвате ефективно на работния си плот. Вие просто се нуждаете от някои основни познания за това как работи и как са структурирани нейните правила.

Свързани : Как да се справя и конфигурирам защитната стена в Linux

Структура на командването

Всички правила за iptables следват същата основна структура. Всяко правило е команда от един ред към iptables, която го казва как да се справя трафик на конкретен порт. Обърнете внимание на примера по-долу:

 -А вход - i eth0 -p tcp -m състояние - състояние ESTABLISHED, СВЪРЗАНИ - спорт 80 -j ACCEPT 

Това може да изглежда много, но е много лесно, когато го прекъснете. Първо, това правило започва с -A защото ще добави към правилата ви iptables.

След това -i указва интерфейса, за който е предназначено правилото. В този случай това е eth0 . Когато пишете свои собствени правила, уверете се, че знаете кой интерфейс сте свързани с вашата мрежа.

Следният флаг, -p, посочва протокола. Това правило е за tcp, което е уеб трафик.

Знакът -m е малко по-различен. Използва се, за да се твърди, че има условие, което трябва да бъде изпълнено, за да не се откаже трафикът. Състоянието в това правило е държавата.

Държавата всъщност е следващото знаме. Трябва да дадете - --state на списък с приемливи състояния, написани във всички главни букви и разделени със запетаи. Това правило приема както нови, така и установени връзки.

Второто до последното знаме тук е - --sport . Това означава "източник на пристанище", и той казва iptables откъде идва трафикът. Съществува и флаг --dport който означава "целеви порт". Използва се за правила за OUTPUT за обработка от кой пристанищен трафик пристига.

И накрая, има флагът -j . Той казва на iptable кое действие да "скочи". В този случай трябва да приеме трафика, който отговаря на предишните условия.

Използване на файл

Можете да въвеждате вашите правила в iptables ръчно един по един. Това е невероятно досадно и е много лесно да загубите следите къде сте и какво правите. Много по-добре е да създадете файл с правила, който можете да импортирате в iptables наведнъж.

Няма значение къде създавате файла. Хората дори ги правят в директорията /tmp защото iptables съхранява резултата след импортирането.

Създайте своя файл. Това ръководство ще използва /tmp/iptables-ip4 . Във файла добавете следните два реда. Всички ваши правила ще отидат между тях.

 * филтър # Вашите правила тук COMMIT 

Създайте вашите правила

Можете да започнете да настройвате правилата си. Това са само предложения. Очевидно е, че ако имате други услуги или имате нужда от други отворени пристанища, със сигурност можете да промените някои неща или да добавите собствени правила.

Loopback

Интерфейсът "loopback" е вътрешен интерфейс, който Linux използва.

 -А вход -i lo -j Приемане-OUTPUT -o lo -j Приемане 

Ping

Това е въпрос на предпочитание. Много хора не обичат да пишат изобщо на своите настолни компютри. Може да е полезно обаче да го имате, за да тествате връзките. Ако искате да разрешите пинг, добавете правилата по-долу. Ако не го направите, изключете го.

 -А ВЪВЕЖДАНЕ -i eth0 -picmp -m състояние - състояние НОВО - вид на цифрата 8 -j ACCEPT -A вход -i eth0 -picmp -m състояние - състояние ESTABLISHED, СВЪРЗАНИ -j ACCEPT -A OUTPUT - o eth0 -p icmp -j ACCEPT 

Мрежата

Очевидно искате да можете да се свържете с мрежата. От друга страна, не искате да разрешавате връзки, произхождащи от интернет.

 -А ВЪВЕЖДАНЕ -i eth0 -p tcp -m състояние - държава СЪЗДАДЕНА, СВЪРЗАНА - спонсор 80 -j ACCEPT -А ВЪВЕЖДАНЕ -i eth0 -p tcp -m държавна държава ESTABLISHED, СВЪРЗАНА - спорт 443 -j ACCEPT -А OUTPUT -o eth0 -p tcp -m tcp -dport 80 -j ACCEPT -А OUTPUT -o eth0 -p tcp -m tcp -dport 443 -j ПРИЕМА 

Също така ще трябва да разрешите DNS връзки, така че компютърът да може да използва URL адреси, вместо само IP адреси, защото това не би било много удобно. Заменете IP адреса на рутера за използвания тук.

 -А вход - i ens3 -s 192.168.1.1 -p udp -sport 53 -m държавна държава ESTABLISHED, СВЪРЗАНИ С ИЗКЛЮЧВАНЕ -А ПРИЕМА -А ИЗХОДА -o ens3 -d 192.168.1.1 -p udp -dport 53 -m udp -j ACCEPT 

път

Повечето Linux настолни компютри използват NTP за настройване и поддържане на системното време от Интернет. Трябва да позволите на компютъра ви да се свърже с NTP сървър, за да получите време.

 -А вход - i eth0 -p udp -m състояние - състояние учредено, свързано - съобщение 123 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp -sport 123 -j ACCEPT 

печатане

Освен ако не използвате USB принтер или външен сървър за печат, трябва да активирате връзките към CUPS.

 -Andput -p udp -m udp -dport 631 -j ACCEPT -A INPUT -p tcp -m tcp -dport 631 -j ACCEPT -A OUTPUT -p udp -m udp -sport 631 -j ACCEPT -A ИЗХОД -p tcp -m tcp - спорт 631 -j ACCEPT 

електронна поща

Вероятно искате да можете да изпращате и получавате имейли. Имейлът може да е труден. Позволените портове тук са SSL имейл портове. Ако трябва да използвате необезопасен имейл, заменете тези портове.

 # IMAP -A INPUT -i eth0 -p tcp -m състояние - състояние ESTABLISHED, СВЪРЗАНИ - спонсор 993 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp -порт 993 -j ACCEPT # POP3 -A INPUT -i eth0 -p tcp -m състояние -състояние ESTABLISHED, СВЪРЗАНИ - спонсор 995 -j ACCEPT -А OUTPUT -о eth0 -p tcp -m tcp -dport 995 -j ACCEPT # SMTP -A INPUT -i eth0 -p tcp -m състояние - състояние ESTABLISHED, СВЪРЗАНИ - спонсор 465 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp -dport 465 -j ACCEPT 

SSH

За да използвате напълно SSH връзките, трябва да имате възможност за въвеждане и изход през SSH.

 # Въвеждане -A INPUT -i ens3 -p tcp -m състояние -състояние НОВО, ESTABLISHED -Документ 22 -j ACCEPT -A OUTPUT -o ens3 -p tcp -m състояние -състояние ESTABLISHED -спорт 22 -j ACCEPT # Output -A OUTPUT -o ens3 -p tcp -m състояние -състояние НОВО, ESTABLISHED -dport 22 -j ACCEPT -A INPUT -и ens3 -p tcp -m състояние -състояние ESTABLISHED -спорт 22 -j ACCEPT 

DHCP

Повечето Linux настолни компютри използват DHCP, за да получат автоматично IP адрес от рутер. DHCP използва свои собствени пристанища, така че те също трябва да са достъпни. Ако използвате статичен IP, нямате нужда от тези правила.

 -А вход - i eth0 -p udp -m състояние - състояние ESTABLISHED, СВЪРЗАНО - спорт 67:68 -j ACCEPT-OUTPUT -o eth0 -p udp -m udp -dport 67:68 -j ACCEPT 

Отхвърлете всичко друго

И накрая, ще кажете на iptables да отхвърлят абсолютно всичко, което не сте позволили изрично в горните правила.

 -A INPUT -j REJECT -А НАПРЕД -j REJECT -A OUTPUT -j REJECT 

След всичко, вашите правила трябва да изглеждат така.

Импортиране на вашите правила

Вече имате пълен функционален списък на правилата за iptables. Просто трябва да го предадете на iptables, за да го използвате.

Ако някои правила са добавени с течение на времето, ги изчиствайте. След тези команди ще видите настройките по подразбиране, които позволяват всичко.

 sudo iptables -F && sudo iptables -X 

С онези, които нямате, можете да възстановите новите от създадения от вас файл.

 sudo iptables-restore </ tmp / itpables-ip4 

Вашият компютър вече използва новите правила iptables. Можете да ги проверите.

 sudo iptables -S 

Те все още не са постоянни. Ако рестартирате компютъра си сега, ще имате наистина лошо време.

Постоянно ги прави

Има няколко начина да направите правилата постоянни. Те са различни за всяко разпределение. Това ръководство ще се фокусира върху Debian и Ubuntu базирани системи, тъй като те са най-популярни.

Има наличен пакет, наречен iptables-persistant, който се занимава с записването и възстановяването на iptables. Всичко, което трябва да направите, е да го инсталирате.

 sudo apt инсталирате iptables-устойчиви 

По време на инсталацията пакетът ще ви попита дали искате да запазите конфигурацията си. Изберете "Да".

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

 sudo услуга netfilter-постоянно спасяване 

Вече контролирате трафика, преминаващ през вашия компютър. Със сигурност има повече, които можете да правите с iptables, но първо трябва да се чувствате уверени в основите.