Config Server Firewal в сокращениии как CSF.
CSf чаще всего использует как приложение брандмауэра для защиты серверов Linux.
CSF имеет широкий спектр возможностей для управления брандмауэром Linux через командную строку и из панели управления.
Установка csf включает предварительно настроенные конфигурации и пользовательские интерфейсы панели управления для cPanel, DirectAdmin и Webmin.
В этой статье рассматривается способ установки CSF на OpenSUSE 42.1.
Установка CSF
Прежде чем начать процесс установки, вам нужно перейти в каталог, в который вы хотите загрузить пакет.
Для этой цели выполните следующую команду:
# cd/usr/src/
Затем, загрузите CSF, используя команду wget следующим образом:
# wget https://download.configserver.com/csf.tgz --2017-11-16 12:56:02-- https://download.configserver.com/csf.tgz Resolving download.configserver.com (download.configserver.com)... 85.10.199.177 Connecting to download.configserver.com (download.configserver.com)|85.10.199.177|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1546204 (1.5M) [application/x-gzip] Saving to: ‘csf.tgz’ 100%[=================================================================================================>] 1,546,204 22.2KB/s in 64s 2017-11-16 12:57:07 (23.6 KB/s) - ‘csf.tgz’ saved [1546204/1546204]
После этого вам нужно извлечь пакет, выполнив следующую команду:
# tar -xzf csf.tgz
Затем перейдите в извлеченный каталог, используя следующую команду:
# cd csf/
Далее, вы можете установить CSF, выполнив приведенную ниже команду:
# sh install.sh Selecting installer... Running csf generic installer Installing generic csf and lfd Check we're running as root Checking Perl modules... Configuration modified for SuSE settings /etc/csf/csf.conf ...Perl modules OK mkdir: created directory ‘/etc/csf’ . . . . ‘csf/configserver.css’ -> ‘webmin/csf/images/configserver.css’ ‘csf/csf-loader.gif’ -> ‘webmin/csf/images/csf-loader.gif’ ‘csf/csf.svg’ -> ‘webmin/csf/images/csf.svg’ ‘csf/csf_small.png’ -> ‘webmin/csf/images/csf_small.png’ ‘csf/jquery.min.js’ -> ‘webmin/csf/images/jquery.min.js’ ‘csf/loader.gif’ -> ‘webmin/csf/images/loader.gif’ ‘/etc/csf/csfwebmin.tgz’ -> ‘/usr/local/csf/csfwebmin.tgz’ Installation Completed
После установки вы должны проверить, есть ли у вас необходимые модули iptables. И для этого вам нужно запустить следующую команду.
# perl /usr/local/csf/bin/csftest.pl Testing ip_tables/iptable_filter...open3: exec of /sbin/iptables -I OUTPUT -p tcp --dport 9999 -j ACCEPT
Настройка CSF
Мы установили CSF в тестовом режиме, чтобы он не обеспечивал полную защиту вашего сервера от атак.
Для отключения режима тестирования вы должны настроить CSF в соответствии с вашим требованием.
Итак, откройте файл конфигурации.
# vim /etc/csf/csf.conf
И измените режим тестирования, просто изменив переменную с TESTING = “1” на “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” # Allow incoming UDP ports UDP_IN = “20,21,53” # Allow incoming UDP ports # to allow traceroute add 33434:33523 to the list UDP_OUT =”20,21,53,113,123”
Далее запустите свой сервис csf и проверьте его статус:
# systemctl start csf # systemctl status csf csf.service - ConfigServer Firewall & Security - csf Loaded: loaded (/usr/lib/systemd/system/csf.service; enabled) Active: active (exited) since Thu 2017-11-16 13:04:54 IST; 1s ago Process: 11434 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS) Main PID: 11434 (code=exited, status=0/SUCCESS) Nov 16 13:04:54 linuxhelp csf[11434]: ACCEPT udp opt -- in !lo out * 8.8.4.4 -> 0.0.0.0/0 udp dpt:53 Nov 16 13:04:54 linuxhelp csf[11434]: ACCEPT tcp opt -- in !lo out * 8.8.4.4 -> 0.0.0.0/0 tcp dpt:53 Nov 16 13:04:54 linuxhelp csf[11434]: ACCEPT udp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 udp spt:53 Nov 16 13:04:54 linuxhelp csf[11434]: ACCEPT tcp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 tcp spt:53 Nov 16 13:04:54 linuxhelp csf[11434]: ACCEPT udp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 udp dpt:53 Nov 16 13:04:54 linuxhelp csf[11434]: ACCEPT tcp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 tcp dpt:53 Nov 16 13:04:54 linuxhelp csf[11434]: LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0 Nov 16 13:04:54 linuxhelp csf[11434]: LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0 Nov 16 13:04:54 linuxhelp csf[11434]: *WARNING* TESTING mode is enabled - do not forget to disable it in the configuration Nov 16 13:04:54 linuxhelp systemd[1]: Started ConfigServer Firewall & Security - csf.
Опции в CSF
Если вы хотите разрешить IP-адрес, вы должны запустить параметр -a, за которым следует IP.
# csf -a 192.168.7.219
Примечанние. Добавление 192.168.7.219 в csf.allow только в режиме TESTING (не iptables ACCEPT)
Затем откройте файл csf.allow
# vim /etc/csf/csf.allow
Вы увидите IP-адрес, который был добавлен
192.168.7.219 # Manually allowed: 192.168.7.219 (Unknown) – Thu Nov 16 13:06:58 2017
Если вы хотите удалить этот IP-адрес из списка разрешений, используя параметр -ar вместе с IP-адресом.
# csf -ar 192.168.7.219 Removing rule... iptables: Bad rule (does a matching rule exist in that chain?). ACCEPT all opt -- in !lo out * 192.168.7.219 -> 0.0.0.0/0 iptables: Bad rule (does a matching rule exist in that chain?). ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.7.219
Вы также можете проверить, удалено ли оно:
# vim /etc/csf/csf.allow
Если вы хотите запретить IP-адрес, вы должны просто использовать параметр -d следующим образом:
# csf -d 192.168.7.219 Adding 192.168.7.219 to csf.deny and iptables DROP... iptables: No chain/target/match by that name. DROP all opt -- in !lo out * 192.168.7.219 -> 0.0.0.0/0
Вы можете проверить, добавлен ли запрещенный IP-адрес в файл csf.deny:
# vim /etc/csf/csf.deny 192.168.7.219 # Manually denied: 192.168.7.219 (Unknown) - Thu Nov 16 13:11:24 2017
Вы можете удалить запрещенный IP-адрес из файла csf.deny, выполнив опцию dr:
Вы можете сделать выборку IP-адреса, запустив опцию -g:
# csf -g 192.168.7.219 Chain num pkts bytes target prot opt in out source destination DENYIN 1 0 0 DROP all -- !lo * 192.168.7.219 0.0.0.0/0 DENYOUT 1 0 0 LOGDROPOUT all -- * !lo 0.0.0.0/0 192.168.7.219 csf.deny: 192.168.7.219 # Manually denied: 192.168.7.219 (Unknown) - Thu Nov 16 13:11:24 2017
Вы также можете полностью отключить csf, используя опцию x:
# csf -x Flushing chain `INPUT' Flushing chain `FORWARD' Flushing chain `OUTPUT' Flushing chain `PREROUTING' Flushing chain `INPUT' Flushing chain `OUTPUT' Flushing chain `POSTROUTING' csf and lfd have been disabled
Вы можете включить отключенный CSF с помощью опции -e:
# csf -e DROP tcp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:23 DROP udp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 udp dpt:23 DROP tcp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:67 DROP udp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 udp dpt:67 DROP tcp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:68 DROP udp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 udp dpt:68 DROP tcp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:111 . . . . lfd.service - ConfigServer Firewall & Security - lfd Loaded: loaded (/usr/lib/systemd/system/lfd.service; enabled) Active: active (running) since Thu 2017-11-16 13:14:37 IST; 9ms ago Process: 11993 ExecStart=/usr/sbin/lfd (code=exited, status=0/SUCCESS) Main PID: 12001 (lfd - starting) CGroup: /system.slice/lfd.service └─12001 lfd - starting Nov 16 13:14:36 linuxhelp systemd[1]: Starting ConfigServer Firewall & Security - lfd... Nov 16 13:14:37 linuxhelp systemd[1]: Started ConfigServer Firewall & Security - lfd. csf and lfd have been enabled
Если вы хотите проверить конфигурацию IPv4 iptables, запустите параметр -l:
# csf -l Chain INPUT (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT tcp -- !lo * 8.8.4.4 0.0.0.0/0 tcp dpt:53 2 0 0 ACCEPT udp -- !lo * 8.8.4.4 0.0.0.0/0 udp dpt:53 3 0 0 ACCEPT tcp -- !lo * 8.8.4.4 0.0.0.0/0 tcp spt:53 4 0 0 ACCEPT udp -- !lo * 8.8.4.4 0.0.0.0/0 udp spt:53 Chain PREROUTING (policy ACCEPT 7 packets, 697 bytes) num pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 3 packets, 234 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 8 packets, 519 bytes) num pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 8 packets, 519 bytes) num pkts bytes target prot opt in out source destination
Вы можете запустить службу csf с помощью команды -s:
# csf -s Flushing chain `INPUT' Flushing chain `FORWARD' Flushing chain `OUTPUT' Flushing chain `ALLOWIN' Flushing chain `ALLOWOUT' Flushing chain `DENYIN' Flushing chain `DENYOUT' ACCEPT udp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 udp spt:53 ACCEPT tcp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 tcp spt:53 ACCEPT udp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 udp dpt:53 ACCEPT tcp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 tcp dpt:53 LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0 LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0
Вы можете перезапустить службу csf, выполнив команду с параметром -r:
# csf -r Flushing chain `INPUT' Flushing chain `FORWARD' Flushing chain `OUTPUT' Flushing chain `ALLOWIN' Flushing chain `ALLOWOUT' Flushing chain `DENYIN' Flushing chain `DENYOUT' ACCEPT udp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 udp spt:53 ACCEPT tcp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 tcp spt:53 ACCEPT udp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 udp dpt:53 ACCEPT tcp opt -- in * out !lo 0.0.0.0/0 -> 8.8.4.4 tcp dpt:53 LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0 LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0