Beskyt din OpenSUSE 42.1-server med iptables

  • Dylan Parker
  • 0
  • 2958
  • 306

Hej alle.

I dag lærer vi, hvordan vi kan sikre vores OpenSUSE 42.1-server ved hjælp af iptables. Nu om dage er sikkerhed det primære problem for servere. Ind imellem vil du stå over for problemer med din LIVE- eller produktionsservers sikkerhed. Hvis din serversikkerhed ikke er høj nok, vil du støde på reelle problemer med at miste dine data over internettet.

Lad os komme i gang dengang.

Hvad er iptables?

Først skal vi vide, hvad der er iptables. Iptables er et program, der giver brugeren mulighed for at konfigurere firewall-sikkerhedstabellerne leveret af Linux-kernefirewall og kæderne, så en bruger kan tilføje / fjerne firewallregler til den i overensstemmelse hermed for at opfylde hans / hendes krav. Iptables bruger forskellige kernemoduler og forskellige protokoller, så brugeren kan få det bedste ud af det. Som for eksempel bruges iptables til IPv4 (IP version 4/32 bit) og ip6tables til IPv6 (IP version 6/64 bit). Normalt konfigureres iptables-regler af systemadministrator. Du skal have rodrettigheder for at udføre iptables-regler. På openSUSE 42.1 Linux-system kan iptables findes som forudinstalleret på / usr / sbin / iptables-placeringen. Alle iptables-regler håndteres direkte af selve Linux-kernen, og det er kendt som kernel duty. Uanset GUI-værktøjer eller andre sikkerhedsværktøjer, du bruger til at konfigurere din servers firewall-sikkerhed, konverteres den i slutningen af ​​dagen til iptables-regler og leveres til kernen for at udføre operationen.

Linux Kernel bruger Netfilter-rammen, så den kan levere forskellige netværksrelaterede operationer, som kan udføres ved hjælp af iptables. Vi vil dog ikke dække dem.

Tidligere blev ipchains brugt i de fleste Linux-distributioner til samme formål. Men nu om dage kommer hver Linux-kerne med iptables i stedet for ipchains.

Hvorfor OpenSUSE?

OpenSUSE er en meget berømt Linux-distribution. Det bruges meget af systemadministratorer nu om dagen og for godt til udviklingsformål og til produktionsmiljø. Du kan installere dette på din bærbare computer og nyde OpenSUSEs skønhed. Ud over distributionen giver openSUSE Project en webportal til samfundsinddragelse. Den er bygget til softwareudviklere og systemadministratorer, har også et brugervenligt skrivebord og et funktionsrige servermiljø. Det har både KDE & GNOME Desktop-miljø.

Iptables-version

For at kende din iptables-version skal du skrive følgende kommando i din terminal.

sudo iptables - version

Start & Stop din firewall

For at starte eller stoppe din iptables-firewall på din OpenSUSE 42.1, skal du skrive følgende

sudo / sbin / rcSuSEfirewall2 stop

For at starte det igen

sudo / sbin / rcSuSEfirewall2 start

Få alle lister over iptables-regler

For at kende alle de regler, der i øjeblikket er til stede og aktive i dine iprables, skal du blot åbne en terminal og skrive følgende.

sudo iptables -L

Hvis der ikke er nogen regler, der udgår på iptables, betyder det, at hvis der hidtil ikke er tilføjet nogen regler i din iptables-firewall, vil du se noget som nedenstående billede.

På dette billede ovenfor kan du se, at der er tre (3) kæder, og de er INPUT, FORWARD, OUTPUT, og der findes ingen regler. Jeg har faktisk ikke tilføjet en endnu.

Skriv følgende for at kende status for kæderne til din iptables-firewall.

sudo iptables -S

Med ovenstående kommando kan du lære, om dine kæder accepterer eller ej.

Ryd alle iptables-regler

For at rydde alle reglerne fra din iptables-firewall, skriv venligst følgende. Dette er normalt kendt som at skylle dine iptables-regler.

sudo iptables -F

Hvis du kun vil skylle INPUT-kæden eller en hvilken som helst individuel kæde, skal du udstede nedenstående kommandoer efter dine behov.

sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD

ACCEPT- eller DROP-kæder

For at acceptere eller droppe en bestemt kæde skal du udstede en af ​​følgende kommandoer på din terminal for at opfylde dine krav.

iptables - politik INPUT DROP

Ovenstående regel accepterer ikke noget, der kommer ind på den server. For at gendanne det igen til ACCEPT skal du gøre følgende

iptables - politik INPUT ACCEPT

Det samme gælder også for andre kæder

iptables --policy OUTPUT DROP
iptables - politik Fremadfald

Bemærk: Som standard er alle kæder af iptables (INPUT, OUTPUT, FORWARD) i ACCEPT-tilstand. Dette er kendt som standardkæde standardadfærd.

Tillader enhver port

Hvis du kører en webserver på din vært, skal du tillade din iptables-firewall, så din server lytter eller reagerer på port 80. Som standard kører webserver på port 80. Lad os gøre det så.

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

På ovenstående linje betyder A, at vi tilføjer en ny regel til iptables-listen. INPUT står for INPUT-kæden. P står for protokol og dport står for destinationsport. Som standard kører enhver webserver på port 80. På samme måde kan du også tillade SSH-port.

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Som standard kører SSH på port 22. Men det er god praksis ikke at køre SSH på port 22. Kør altid SSH på en anden port. For at køre SSH på en anden port skal du åbne / etc / ssh / sshd_config-filen på din yndlingseditor og ændre port 22 til en anden port.

Blokerer enhver port

Sig, at vi vil blokere port 135. Vi kan gøre det ved

sudo iptables -A INPUT -p tcp --dport 135 -j DROP

Hvis du vil blokere din server for at starte en SSH-forbindelse fra serveren til en anden vært / server, skal du udstede følgende kommando

sudo iptables -A OUTPUT -p tcp --dport 22 -j DROP

Ved at gøre det kan ingen bruge din sever til at starte en SSH-forbindelse fra serveren. OUPUT-kæden filtrerer og DROPer enhver udgående tcp-forbindelse mod andre værter.

Tillader specifik IP med Port

sudo iptables -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT

Her -s 0/0 står for enhver indgående kilde med IP-adresser. Så der er ingen måde, din server vil svare på en tcp-pakke, hvilken destinationsport er 22. Hvis du kun vil tillade en bestemt IP, skal du bruge følgende.

sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --port 22 -j ACCEPT

I ovenstående eksempel tillader du kun 12.12.12.12 IP-adresse at oprette forbindelse til port SSH. Hvile IP-adresser kan ikke oprette forbindelse til port 22. På samme måde kan du tillade det ved hjælp af CIDR-værdier. Såsom

sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --port 22 -j ACCEPT

Ovenstående eksempel viser, hvordan du kan tillade en hel IP-blok til at acceptere forbindelse på port 22. Det accepterer IP fra 12.12.12.1 til 12.12.12.255.

Hvis du vil blokere sådanne IP-adresser, skal du gøre det omvendte ved at erstatte ACCEPT med DROP som følger

sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --port 22 -j DROP

Så det tillader ikke at få forbindelse på port 22 fra 12.12.12.1 til 12.12.12.255 IP-adresser.

Blokerer ICMP

Hvis du vil blokere ICMP (ping) anmodning til og fra på din server, kan du prøve følgende. Den første blokerer for ikke at sende ICMP-ping-ekko-anmodning til en anden vært.

sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP

Prøv nu at pinge google.com. Din OpenSUSE-server kan ikke pinge google.com.

Hvis du vil blokere den indkommende ICMP (ping) ekko-anmodning for din server, skal du bare skrive følgende på din terminal.

sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP

Nu svarer den ikke på nogen ICMP-ping-ekko-anmodning. Sig, din server-IP-adresse er 13.13.13.13. Og hvis du ping ping den IP på din server, vil du se, at din server ikke reagerer på den ping-anmodning.

Blokerer MySql / MariaDB Port

Da Mysql holder din database, skal du beskytte din database mod vedhæftning udefra. Tillad kun din betroede applikationsserver IP-adresser at oprette forbindelse til din MySQL-server. At blokere andre

sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 3306 -m tilstand --state NEW, ETABLERET -j ACCEPT

Så det tager ikke nogen MySql-forbindelse undtagen 192.168.1.0/24 IP-blok. Som standard kører MySql på 3306-port.

Blokerer SMTP

Hvis du ikke kører nogen mailserver på din værtsserver, eller hvis din server ikke er konfigureret til at fungere som en mailserver, skal du blokere SMTP, så din server ikke sender spam eller e-mail til noget domæne. Du skal gøre dette for at blokere enhver udgående mail fra din server. For at gøre det,

sudo iptables -A OUTPUT -p tcp --dport 25 -j DROP

Bloker DDoS

Vi kender alle udtrykket DDoS. For at slippe af med det skal du udstede følgende kommando i din terminal.

iptables -A INPUT -p tcp --port 80 -m grænse - grænse 20 / minut - grænse-burst 100 -j ACCEPT

Du skal konfigurere den numeriske værdi til at opfylde dine krav. Dette er bare en standard at vedligeholde.

Du kan beskytte mere ved

ekko 1> / proc / sys / net / ipv4 / ip_forward echo 1> / proc / sys / net / ipv4 / tcp_syncookies echo 0> / proc / sys / net / ipv4 / conf / all / accept_redirects echo 0> / proc / sys / net / ipv4 / conf / all / accept_source_route echo 1> / proc / sys / net / ipv4 / conf / all / rp_filter echo 1> / proc / sys / net / ipv4 / conf / lo / rp_filter echo 1> / proc / sys / net / ipv4 / conf / lo / arp_ignore echo 2> / proc / sys / net / ipv4 / conf / lo / arp_announce echo 1> / proc / sys / net / ipv4 / conf / all / arp_ignore echo 2> / proc / sys / net / ipv4 / conf / all / arp_announce echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_all echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_broadcasts echo 30> / proc / sys / net / ipv4 / tcp_fin_timeout echo 1800> / proc / sys / net / ipv4 / tcp_keepalive_time echo 1> / proc / sys / net / ipv4 / tcp_window_scaling echo 0> / proc / sys / net / ipv4 / tcp_sack echo 1280> / proc / sys / net / ipv4 / tcp_max_syn_backlog

Blokerer portscanning

Der er hundrede mennesker derude for at scanne dine åbne porte på din server og forsøge at nedbryde din serversikkerhed. For at blokere det

sudo iptables -N blok-scanning
sudo iptables -A blok-scan -p tcp -tcp-flag SYN, ACK, FIN, RST RST -m grænse -begrænsning 1 / s -j RETURN
sudo iptables -A block-scan -j DROP

Her er blokscanning et navn på en ny kæde.

Blokering af dårlige porte

Det kan også være nødvendigt at blokere nogle dårlige porte til din server. Sådan kan du gøre dette.

badport = "135,136,137,138,139,445" sudo iptables -A INPUT -p tcp -m multiport --dport $ badport -j DROP sudo iptables -A INPUT -p udp -m multiport --dport $ badport -j DROP

Du kan tilføje flere porte alt efter dine behov.

Det er alt for i dag. Tak skal du have. Håber du nyder det.




Endnu ingen kommentarer

En samling nyttige oplysninger om Linux-operativsystemet og nye teknologier
Friske artikler, praktiske tip, detaljerede anmeldelser og guider. Føl dig hjemme i Linux-operativsystemets verden