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


Hvis du ser på it-relaterede jobannoncer hvor som helst, vil du bemærke en konstant efterspørgsel efter sikkerhedsmænd. Dette betyder ikke kun, at cybersikkerhed er et interessant studiefelt, men også et meget lukrativt felt.

Med dette i tankerne vil vi i denne artikel forklare, hvordan man installerer og konfigurerer ConfigServer Security & Firewall (også kendt som CSF for kort), en fuldstændig sikkerhedssuite til Linux, og deler et par typiske brugssager. Du vil derefter være i stand til at bruge CSF som et firewall og detekteringssystem for indtrængen/loginfejl til at hærde de servere, du er ansvarlig for.

Uden yderligere adieu, lad os komme i gang.

Installation og konfiguration af CSF i Linux

For at begynde skal du være opmærksom på, at Perl og libwww er en forudsætning for at installere CSF på en af de understøttede distributioner (RHEL og CentOS, openSUSE, Debian og Ubuntu). Da det skulle være tilgængeligt som standard, er der ingen handling påkrævet fra din side, medmindre et af følgende trin returnerer en fatal fejl (i så fald skal du bruge pakkehåndteringssystemet til at installere de manglende afhængigheder).

# 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

Denne del af processen kontrollerer, at alle afhængigheder er installeret, opretter de nødvendige biblioteksstrukturer og filer til webgrænsefladen, opdager aktuelt åbne porte og minder dig om at genstarte csf- og lfd-dæmoner, når du er færdig med den oprindelige konfiguration.

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

Den forventede output fra ovenstående kommando 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

Deaktiver firewalld, hvis du kører og konfigurerer CSF.

# systemctl stop firewalld
# systemctl disable firewalld

Skift TESTING = "1" til TESTING = "0" (ellers starter lfd-dæmonen ikke) og liste tilladte indgående og udgående porte som en kommasepareret liste (Henholdsvis TCP_IN og TCP_OUT) i /etc/csf/csf.conf som vist i nedenstående output:

# 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 tilfreds med konfigurationen, skal du gemme ændringerne og vende tilbage til kommandolinjen.

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

På dette tidspunkt er vi klar til at starte opsætningen af firewall- og indtrængningsregistreringsregler som beskrevet næste.

Opsætning af CSF- og indtrængningsregistreringsregler

Først og fremmest vil du gerne inspicere de nuværende firewallregler som følger:

# csf -l

Du kan også stoppe dem eller genindlæse dem med:

# csf -f
# csf -r

henholdsvis. Sørg for at huske disse muligheder - du har brug for dem, når du går videre, især for at kontrollere, efter du har foretaget ændringer og genstart csf og lfd.

For at tillade indgående forbindelser fra 192.168.0.10.

# csf -a 192.168.0.10

På samme måde kan du nægte forbindelser, der stammer fra 192.168.0.11.

# csf -d 192.168.0.11

Du kan fjerne hver af ovenstående regler, hvis du ønsker det.

# csf -ar 192.168.0.10
# csf -dr 192.168.0.11

Bemærk, hvordan brugen af -ar eller -dr ovenfor fjerner eksisterende tilladelses- og afvisningsregler tilknyttet en given IP-adresse.

Afhængigt af den påtænkte brug af din server, kan du begrænse indgående forbindelser til et sikkert nummer på portbasis. For at gøre dette skal du åbne /etc/csf/csf.conf og søge efter CONNLIMIT. Du kan angive flere porte; forbindelsespar adskilt med kommaer. For eksempel,

CONNLIMIT = "22;2,80;10"

tillader kun 2 og 10 indgående forbindelser fra den samme kilde til henholdsvis TCP-porte 22 og 80.

Der er flere alarmtyper, som du kan vælge. Se efter EMAIL_ALERT-indstillinger i /etc/csf/csf.conf, og sørg for, at de er indstillet til "1" for at modtage den tilknyttede alarm. For eksempel,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

vil få en advarsel til den adresse, der er angivet i LF_ALERT_TO, hver gang nogen med succes logger ind via SSH eller skifter til en anden konto ved hjælp af kommandoen su.

CSF-konfigurationsindstillinger og -brug

Disse følgende muligheder bruges til at ændre og kontrollere csf-konfiguration. Alle konfigurationsfiler for csf findes under/etc/csf-biblioteket. Hvis du ændrer en af følgende filer, skal du genstarte csf-dæmonen for at foretage ændringer.

  • csf.conf: Hovedkonfigurationsfilen til styring af CSF.
  • csf.allow: Listen over tilladte IP'er og CIDR-adresser på firewallen.
  • csf.deny: Listen over afviste IP'er og CIDR-adresser på firewallen.
  • csf.ignore: Listen over ignorerede IP'er og CIDR-adresser i firewallen.
  • csf. * ignorere: Listen over forskellige ignorere filer fra brugere, IP'er.

Fjern CSF Firewall

Hvis du vil fjerne CSF-firewall helt, skal du bare køre følgende script under /etc/csf/uninstall.sh-biblioteket.

# /etc/csf/uninstall.sh

Ovenstående kommando sletter CSF-firewall fuldstændigt med alle filer og mapper.

I denne artikel har vi forklaret, hvordan man installerer, konfigurerer og bruger CSF som et firewall- og indbrudsdetekteringssystem. Bemærk, at flere funktioner er beskrevet i csf.conf.

For eksempel, hvis du er i webhosting-forretningen, kan du integrere CSF med styringsløsninger såsom Webmin.

Har du spørgsmål eller kommentarer til denne artikel? Du er velkommen til at sende os en besked ved hjælp af nedenstående formular. Vi ser frem til at høre fra dig!