How to install CrowdSec Firewall Bouncer on FreeBSD
 · 3 min read
This tutorial will give you all the needed configuration steps to have an up and running firewall protection with Crowdsec Agent on FreeBSD systems.
Packages installation#
- Update the current package database and install the following packages. Make sure your systems is configured with a FreeBSD official repository either latestorquaterly
pkg -vvv|awk '/Repositories:/,/}/'Repositories:  FreeBSD: {     url             : "pkg+http://pkg.FreeBSD.org/FreeBSD:12:amd64/latest",    enabled         : yes,...You can edit the repository config file by editing /etc/pkg/FreeBSD.conf. By default, it should have been setup correctly during the OS installation.
sudo pkg updatesudo pkg install crowdsec crowdsec-firewall-bouncerFirewall Configuration#
- The FreeBSD firewall pfis not loaded by default, you need to load the kernel module:
sudo kldload pf- Enable it in your /etc/rc.confpermanently:
pf_enable="YES"In order to be able to block and drop traffic, you need to append this minimal /etc/pf.conf configuration in your pf rules:
# create crowdsec tabletable <crowdsec-blacklists> persist
# create crowdsec6 tabletable <crowdsec6-blacklists> persist
block drop in quick from <crowdsec-blacklists> to anyblock drop in quick from <crowdsec6-blacklists> to anyFor more details on the firewall configuration, you could refer to the pf.conf(5) man pages.
- Reload the rules and check config
sudo pfctl -f /etc/pf.confsudo pfctl -srsudo service pf checksudo service pf statusAgent Configuration#
- Copy the sample config:
sudo cp /usr/local/etc/crowdsec/config.yaml.sample /usr/local/etc/crowdsec/config.yamlReview the YAML settings in the file and updates accordingly.
- Enable it in your /etc/rc.conf:
crowdsec_enable="YES"crowdsec_config="/usr/local/etc/crowdsec/config.yaml"crowdsec_flags=" -info"- Start the service Crowdsec Agent
sudo service crowdsec startsudo service crowdsec status- List your current machine Agent settings
crowdsec-cli machines list------------------------------------------------------------------------------------------------------------- NAME                                              IP ADDRESS  LAST UPDATE           STATUS  VERSION         ------------------------------------------------------------------------------------------------------------- 7fb0531dc09a40d288299c8377d6cfe5nJtGyC7TFsUR3XYZ  127.0.0.1   2021-07-22T09:41:47Z  ✔️       v1.1.1-freebsd -------------------------------------------------------------------------------------------------------------Bouncer Configuration#
- Copy the sample config
sudo cp /usr/local/etc/crowdsec-firewall-bouncer/crowdsec-firewall-bouncer.yaml.sample /usr/local/etc/crowdsec-firewall-bouncer/crowdsec-firewall-bouncer.yaml- Add the new bouncer and it will generate the token for <your_api_key> to use
crowdsec-cli bouncers add --name freebsd-pf-bouncer- Edit the YAML settings in the file. Make sure the bouncer backend modeispf(automatically set at installation time).api_urlandapi_keyare mandatory to be set.
api_url: http://localhost:8080/api_key: <your_api_key>- List your current bouncers config
$ crowdsec-cli bouncers list--------------------------------------------------------------------------------------------------------- NAME                IP ADDRESS  VALID  LAST API PULL         TYPE                       VERSION         --------------------------------------------------------------------------------------------------------- freebsd-pf-bouncer  127.0.0.1   ✔️      2021-07-22T09:59:33Z  crowdsec-firewall-bouncer  v0.0.13-freebsd ---------------------------------------------------------------------------------------------------------- Enable it in your /etc/rc.conf:
crowdsec_firewall_enable="YES"- Start the service Crowdsec Firewall
sudo service crowdsec_firewall startsudo service crowdsec_firewall statusScenarios, Parsers and Collections#
- Use the following scenarios, parsers and collections from the Hub:
sudo crowdsec-cli scenarios install crowdsecurity/ssh-bfsudo crowdsec-cli parsers install crowdsecurity/sshd-logssudo crowdsec-cli parsers install crowdsecurity/syslog-logssudo crowdsec-cli collections install crowdsecurity/sshd - Restart the crowdsec agent
sudo service crowdsec restartYou should now benefit from the Crowdsec signals from the community and your own and be protected against malevolant behaviour.