Zoeken op website

Installeer en configureer ConfigServer Security & Firewall (CSF) onder Linux


Als je ergens naar IT-gerelateerde vacatures kijkt, zul je een constante vraag naar beveiligingsprofessionals opmerken. Dit betekent niet alleen dat cybersecurity een interessant, maar ook zeer lucratief vakgebied is.

Met dat in gedachten leggen we in dit artikel uit hoe u ConfigServer Security & Firewall (ook wel kortweg CSF genoemd), een compleet beveiligingspakket voor Linux, en deel een paar typische gebruiksscenario's. U kunt CSF dan gebruiken als firewall en detectiesysteem voor inbraak-/inlogfouten om de servers waarvoor u verantwoordelijk bent, te beveiligen.

Laten we, zonder verder adieu, aan de slag gaan.

CSF installeren en configureren onder Linux

Houd er om te beginnen rekening mee dat Perl en libwww een vereiste zijn om CSF te installeren op een van de ondersteunde distributies (RHEL > en CentOS, openSUSE, Debian en Ubuntu). Omdat het standaard beschikbaar zou moeten zijn, is er geen actie van uw kant vereist, tenzij een van de volgende stappen een fatale fout retourneert (gebruik in dat geval het pakketbeheersysteem om de ontbrekende afhankelijkheden te installeren).

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

Stap 1 – Download CSF

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

Stap 2 – Extraheer de CSF-tarball

tar xzf csf.tgz
cd csf

Stap 3 – Voer het CSF-installatiescript uit

Dit deel van het proces controleert of alle afhankelijkheden zijn geïnstalleerd, creëert de benodigde mapstructuren en bestanden voor de webinterface, detecteert momenteel open poorten en herinnert u eraan om csf en lfd< opnieuw te starten daemons nadat u klaar bent met de initiële configuratie.

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

De verwachte uitvoer van de bovenstaande opdracht is als volgt:

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

Stap 4: Schakel Firewall uit en configureer CSF

Schakel firewalld uit als deze actief is en configureer CSF.

systemctl stop firewalld
systemctl disable firewalld

Wijzig TESTING="1" in TESTING="0" (anders zal de lfd daemon niet starten) en vermeld de toegestane inkomende en uitgaande gegevens ports als een door komma's gescheiden lijst (respectievelijk TCP_IN en TCP_OUT) in /etc/csf/csf.conf, zoals weergegeven in de onderstaande uitvoer :

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"

Als u tevreden bent met de configuratie, slaat u de wijzigingen op en keert u terug naar de opdrachtregel.

Stap 5 – Start en test CSF opnieuw

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

Op dit punt zijn we klaar om te beginnen met het instellen van firewall- en inbraakdetectieregels, zoals hierna wordt besproken.

Regels voor CSF en inbraakdetectie instellen

Allereerst wilt u de huidige firewallregels als volgt inspecteren:

csf -l

Je kunt ze ook stoppen of herladen met:

csf -f
csf -r

respectievelijk. Zorg ervoor dat u deze opties onthoudt. U zult ze gaandeweg nodig hebben, vooral om te controleren nadat u wijzigingen heeft aangebracht en csf en lfd opnieuw hebt opgestart.

Voorbeeld 1 – IP-adressen toestaan en verbieden

Om inkomende verbindingen van 192.168.0.10 toe te staan.

csf -a 192.168.0.10

Op dezelfde manier kunt u verbindingen weigeren die afkomstig zijn van 192.168.0.11.

csf -d 192.168.0.11

U kunt elk van de bovenstaande regels verwijderen als u dat wilt.

csf -ar 192.168.0.10
csf -dr 192.168.0.11

Merk op hoe het gebruik van -ar of -dr hierboven de bestaande regels voor toestaan en weigeren verwijdert die aan een bepaald IP-adres zijn gekoppeld.

Voorbeeld 2 – Beperking van inkomende verbindingen per bron

Afhankelijk van het beoogde gebruik van uw server, wilt u mogelijk inkomende verbindingen op poortbasis beperken tot een veilig nummer. Open hiervoor /etc/csf/csf.conf en zoek naar CONNLIMIT. U kunt meerdere poorten opgeven; verbindingsparen gescheiden door komma's. Bijvoorbeeld,

CONNLIMIT = "22;2,80;10"

staat alleen 2 en 10 inkomende verbindingen toe van dezelfde bron naar respectievelijk TCP-poorten 22 en 80.

Voorbeeld 3 – Waarschuwingen verzenden via e-mail

Er zijn verschillende waarschuwingstypen waaruit u kunt kiezen. Zoek naar EMAIL_ALERT instellingen in /etc/csf/csf.conf en zorg ervoor dat deze zijn ingesteld op "1" om de bijbehorende waarschuwing te ontvangen. Bijvoorbeeld,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

zorgt ervoor dat er elke keer dat iemand met succes inlogt via SSH of overschakelt naar een ander account met de opdracht su, een waarschuwing wordt verzonden naar het adres dat is opgegeven in LF_ALERT_TO.

CSF-configuratieopties en gebruik

Deze volgende opties worden gebruikt om de csf-configuratie te wijzigen en te controleren. Alle configuratiebestanden van csf bevinden zich in de map /etc/csf. Als u een van de volgende bestanden wijzigt, moet u de csf-daemon opnieuw opstarten om de wijzigingen door te voeren.

  • csf.conf: het belangrijkste configuratiebestand voor het besturen van CSF.
  • csf.allow: de lijst met toegestane IP-adressen en CIDR-adressen op de firewall.
  • csf.deny: de lijst met geweigerde IP-adressen en CIDR-adressen in de firewall.
  • csf.ignore: de lijst met genegeerde IP-adressen en CIDR-adressen in de firewall.
  • csf.*ignore: de lijst met verschillende negeerbestanden van gebruikers, IP's.

Verwijder CSF-firewall

Als u de CSF firewall volledig wilt verwijderen, voert u gewoon het volgende script uit in de map /etc/csf/uninstall.sh.

/etc/csf/uninstall.sh

Met de bovenstaande opdracht wordt de CSF-firewall volledig gewist, inclusief alle bestanden en mappen.

Samenvatting

In dit artikel hebben we uitgelegd hoe u CSF als firewall en inbraakdetectiesysteem installeert, configureert en gebruikt. Houd er rekening mee dat meer functies worden beschreven in csf.conf.

Als u bijvoorbeeld actief bent in de webhostingbranche, kunt u CSF integreren met beheeroplossingen zoals Cpanel, WHM of het bekende Webmin.

Heeft u vragen of opmerkingen over dit artikel? Stuur ons gerust een bericht via onderstaand formulier. Wij horen graag van u!