Installer og konfigurer ConfigServer Security & Firewall (CSF) i Linux


Hvis du ser på IT-relaterte stillingsannonser hvor som helst, vil du legge merke til en jevn etterspørsel etter sikkerhetsproffer. Dette betyr ikke bare at cybersikkerhet er et interessant fagfelt, men også et veldig lukrativt.

Med det i tankene vil vi i denne artikkelen forklare hvordan du installerer og konfigurerer ConfigServer Security & Firewall (også kjent som CSF for kort), en fullverdig sikkerhetspakke for Linux, og del et par typiske brukstilfeller. Du vil da kunne bruke CSF som brannmur og system for registrering av inntrenging/påloggingsfeil for å herde serverne du er ansvarlig for.

Uten ytterligere adieu, la oss komme i gang.

Installere og konfigurere CSF i Linux

For å begynne, vær oppmerksom på at Perl og libwww er en forutsetning for å installere CSF på noen av de støttede distribusjonene (RHEL > og CentOS, openSUSE, Debian og Ubuntu). Siden det skal være tilgjengelig som standard, kreves det ingen handling fra din side med mindre ett av de følgende trinnene returnerer en fatal feil (i så fall bruk pakkebehandlingssystemet til å installere de manglende avhengighetene).

yum install perl-libwww-perl
apt install libwww-perl

Trinn 1 – Last ned CSF

cd /usr/src
wget https://download.configserver.com/csf.tgz

Trinn 2 – Trekk ut CSF-tarballen

tar xzf csf.tgz
cd csf

Trinn 3 – Kjør CSF-installasjonsskriptet

Denne delen av prosessen vil sjekke at alle avhengigheter er installert, opprette de nødvendige katalogstrukturene og filene for webgrensesnittet, oppdage åpne porter og minne deg på å starte csf og lfd< demoner etter at du er ferdig med den første konfigurasjonen.

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

Den forventede utgangen av kommandoen ovenfor er som følger:

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

Trinn 4: Deaktiver brannmur og konfigurer CSF

Deaktiver brannmur hvis du kjører og konfigurer CSF.

systemctl stop firewalld
systemctl disable firewalld

Endre TESTING="1" til TESTING="0" (ellers vil lfd-demonen ikke starte) og liste tillatte innkommende og utgående porter som en kommadelt liste (henholdsvis TCP_IN og TCP_OUT) i /etc/csf/csf.conf som vist i utdataene nedenfor :

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"

Når du er fornøyd med konfigurasjonen, lagre endringene og gå tilbake til kommandolinjen.

Trinn 5 – Start på nytt og test CSF

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

På dette tidspunktet er vi klare til å begynne å sette opp brannmur- og inntrengningsdeteksjonsregler som diskutert neste.

Sette opp CSF og regler for inntrengingsdeteksjon

Først og fremst vil du inspisere gjeldende brannmurregler som følger:

csf -l

Du kan også stoppe dem eller laste dem på nytt med:

csf -f
csf -r

hhv. Husk å huske disse alternativene – du trenger dem etter hvert, spesielt for å sjekke etter at du har gjort endringer og startet csf og lfd på nytt.

Eksempel 1 – Tillate og forby IP-adresser

For å tillate innkommende tilkoblinger fra 192.168.0.10.

csf -a 192.168.0.10

På samme måte kan du nekte tilkoblinger som stammer fra 192.168.0.11.

csf -d 192.168.0.11

Du kan fjerne hver av reglene ovenfor hvis du ønsker å gjøre det.

csf -ar 192.168.0.10
csf -dr 192.168.0.11

Legg merke til hvordan bruken av -ar eller -dr ovenfor fjerner eksisterende tillat- og nekt-regler knyttet til en gitt IP-adresse.

Eksempel 2 – Begrensning av innkommende tilkoblinger etter kilde

Avhengig av den tiltenkte bruken av serveren din, vil du kanskje begrense innkommende tilkoblinger til et sikkert nummer på portbasis. For å gjøre det, åpne /etc/csf/csf.conf og søk etter CONNLIMIT. Du kan spesifisere flere porter; koblingspar atskilt med komma. For eksempel,

CONNLIMIT = "22;2,80;10"

vil bare tillate 2 og 10 innkommende tilkoblinger fra samme kilde til henholdsvis TCP-portene 22 og 80.

Eksempel 3 – Sende varsler via e-post

Det er flere varslingstyper du kan velge. Se etter EMAIL_ALERT-innstillinger i /etc/csf/csf.conf og sørg for at de er satt til "1" for å motta det tilknyttede varselet. For eksempel,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

vil føre til at et varsel sendes til adressen spesifisert i LF_ALERT_TO hver gang noen logger på via SSH eller bytter til en annen konto ved å bruke kommandoen su.

CSF-konfigurasjonsalternativer og bruk

Disse følgende alternativene brukes til å endre og kontrollere csf-konfigurasjon. Alle konfigurasjonsfilene til csf er plassert i katalogen /etc/csf. Hvis du endrer noen av de følgende filene, må du starte csf-demonen på nytt for å ta endringer.

  • csf.conf : Hovedkonfigurasjonsfilen for å kontrollere CSF.
  • csf.allow : Listen over tillatte IP-er og CIDR-adresser på brannmuren.
  • csf.deny : Listen over avviste IP-er og CIDR-adresser på brannmuren.
  • csf.ignore : Listen over ignorerte IP-er og CIDR-adresser på brannmuren.
  • csf.*ignore : Listen over ulike ignoreringsfiler for brukere, IP-er.

Fjern CSF-brannmuren

Hvis du vil fjerne CSF-brannmuren fullstendig, kjør bare følgende skript som ligger under katalogen /etc/csf/uninstall.sh.

/etc/csf/uninstall.sh

Kommandoen ovenfor vil slette CSF-brannmuren fullstendig med alle filene og mappene.

Sammendrag

I denne artikkelen har vi forklart hvordan du installerer, konfigurerer og bruker CSF som brannmur og system for inntrengningsdeteksjon. Vær oppmerksom på at flere funksjoner er skissert i csf.conf.

For eksempel, hvis du er i webhotellbransjen, kan du integrere CSF med administrasjonsløsninger som Cpanel, WHM eller det velkjente Webmin.

Har du spørsmål eller kommentarer til denne artikkelen? Send oss gjerne en melding ved å bruke skjemaet under. Vi ser frem til å høre fra deg!