Namestite in konfigurirajte ConfigServer Security & Firewall (CSF) v Linuxu


Če kjer koli pogledate objave delovnih mest, povezanih z IT, boste opazili stalno povpraševanje po varnostnih strokovnjakih. To ne pomeni le, da je kibernetska varnost zanimivo področje študija, ampak tudi zelo donosno.

S tem v mislih bomo v tem članku razložili, kako namestiti in konfigurirati ConfigServer Security & Firewall (na kratko tudi CSF), celovit varnostni paket za Linux, in deliti nekaj tipičnih primerov uporabe. Nato boste lahko CSF uporabili kot požarni zid in sistem za odkrivanje vdorov/napak pri prijavi za utrjevanje strežnikov, za katere ste odgovorni.

Brez dodatnega adieua, začnimo.

Namestitev in konfiguriranje CSF v Linuxu

Najprej upoštevajte, da sta Perl in libwww predpogoj za namestitev CSF na katero koli od podprtih distribucij (RHEL in CentOS, openSUSE, Debian in Ubuntu). Ker bi moralo biti privzeto na voljo, z vaše strani ni potrebno nobeno dejanje, razen če eden od naslednjih korakov vrne usodno napako (v tem primeru uporabite sistem za upravljanje paketov, da namestite manjkajoče odvisnosti).

# yum install perl-libwww-perl
# apt install libwww-perl
# cd /usr/src
# wget https://download.configserver.com/csf.tgz
# tar xzf csf.tgz
# cd csf

Ta del postopka bo preveril, ali so vse odvisnosti nameščene, ustvaril potrebne imeniške strukture in datoteke za spletni vmesnik, zaznal trenutno odprta vrata in vas opomnil, da znova zaženete demone csf in lfd, ko končate z začetno konfiguracijo.

# sh install.sh
# perl /usr/local/csf/bin/csftest.pl

Pričakovani rezultat zgornjega ukaza je naslednji:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Onemogočite firewalld, če se izvaja, in konfigurirajte CSF.

# systemctl stop firewalld
# systemctl disable firewalld

Spremenite TESTING =\"1 \" v TESTING =\"0 \" (sicer se demon lfd ne bo zagnal) in dovoljena dohodna in odhodna vrata navedite kot seznam, ločen z vejicami (TCP_IN oziroma TCP_OUT) v /etc/csf/csf.conf, kot je prikazano v spodnjem izhodu:

# Testing flag - enables a CRON job that clears iptables incase of
# configuration problems when you start csf. This should be enabled until you
# are sure that the firewall works - i.e. incase you get locked out of your
# server! Then do remember to set it to 0 and restart csf when you're sure
# everything is OK. Stopping csf will remove the line from /etc/crontab
#
# lfd will not start while this is enabled
TESTING = "0"

# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Ko ste zadovoljni s konfiguracijo, shranite spremembe in se vrnite v ukazno vrstico.

# systemctl restart {csf,lfd}
# systemctl enable {csf,lfd}
# systemctl is-active {csf,lfd}
# csf -v

Na tej točki smo pripravljeni začeti nastavljati požarni zid in pravila za odkrivanje vdorov, kot je opisano v nadaljevanju.

Določitev pravil CSF in odkrivanja vdorov

Najprej boste želeli pregledati trenutna pravila požarnega zidu:

# csf -l

Prav tako jih lahko ustavite ali jih znova naložite z:

# csf -f
# csf -r

oz. Ne pozabite si zapomniti teh možnosti - med potjo jih boste potrebovali, zlasti za preverjanje po spremembah in ponovnem zagonu csf in lfd.

Dovolite dohodne povezave od 192.168.0.10.

# csf -a 192.168.0.10

Podobno lahko zavrnete povezave, ki izvirajo iz 192.168.0.11.

# csf -d 192.168.0.11

Vsako od zgornjih pravil lahko odstranite, če želite.

# csf -ar 192.168.0.10
# csf -dr 192.168.0.11

Upoštevajte, kako zgornja uporaba -ar ali -dr odstrani obstoječa pravila dovoljenja in zavrnitve, povezana z danim naslovom IP.

Odvisno od predvidene uporabe vašega strežnika boste morda želeli omejiti dohodne povezave na varno številko na podlagi vrat. Če želite to narediti, odprite /etc/csf/csf.conf in poiščite CONNLIMIT. Določite lahko več vrat; pari povezav, ločenih z vejicami. Na primer,

CONNLIMIT = "22;2,80;10"

bo dovoljeval le 2 in 10 dohodnih povezav iz istega vira do vrat TCP 22 oziroma 80.

Izbirate lahko med več vrstami opozoril. Poiščite nastavitve EMAIL_ALERT v /etc/csf/csf.conf in se prepričajte, da so nastavljene na \"1 \" , da prejmete povezano opozorilo. Na primer,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

bo povzročilo, da bo opozorilo poslano na naslov, naveden v LF_ALERT_TO vsakič, ko se nekdo uspešno prijavi prek SSH ali preklopi na drug račun z ukazom su.

Možnosti konfiguracije CSF in uporaba

Te možnosti se uporabljajo za spreminjanje in nadzor konfiguracije csf. Vse konfiguracijske datoteke csf se nahajajo v imeniku /etc /csf. Če spremenite katero koli od naslednjih datotek, boste morali znova zagnati demon csf, da spremenite spremembe.

  • csf.conf: glavna konfiguracijska datoteka za nadzor CSF.
  • csf.allow: Seznam dovoljenih naslovov IP in CIDR v požarnem zidu.
  • csf.deny: Seznam zavrnjenih naslovov IP in CIDR na požarnem zidu.
  • csf.ignore: Seznam prezrtih naslovov IP in CIDR na požarnem zidu.
  • csf.*ignore: Seznam različnih ignoriranih datotek uporabnikov, IP -jev.

Odstranite požarni zid CSF

Če želite v celoti odstraniti požarni zid CSF, zaženite naslednji skript v imeniku /etc/csf/uninstall.sh.

# /etc/csf/uninstall.sh

Zgornji ukaz bo popolnoma izbrisal požarni zid CSF z vsemi datotekami in mapami.

V tem članku smo razložili, kako namestiti, konfigurirati in uporabiti CSF kot požarni zid in sistem za zaznavanje vdorov. Upoštevajte, da je več funkcij opisanih v csf.conf.

Če na primer poslujete s spletnim gostovanjem, lahko CSF integrirate z rešitvami za upravljanje, kot je Webmin.

Imate vprašanja ali pripombe o tem članku? Pošljite nam sporočilo preko spodnjega obrazca. Veselimo se vaših odzivov!