CentOS 7.6 почему так себя ведут hosts.deny и hosts.allow?

Ось CentOS 7.6
Задача - разрешить любые коннекты к серверу только из заданных стран.
Что сделал:
В файле hosts.deny прописал ALL: ALL и больше там никаких правил нет
В файле hosts.allow прописал ALL: ALL: spawn /opt/geoip.sh %a и так же там больше никаких записей нет.
Файл /opt/geoip.sh содержит такое:
#!/bin/bash

# UPPERCASE space-separated country codes to ACCEPT
ALLOW_COUNTRIES="RU UA"

if [ $# -ne 1 ]; then
  echo "Usage:  `basename $0` <ip>" 1>&2
  exit 0 # return true in case of config issue
fi

COUNTRY=`/usr/bin/geoiplookup $1 | awk -F ": " '{ print $2 }' | awk -F "," '{ print $1 }' | head -n 1`

[[ $COUNTRY = "IP Address not found" || $ALLOW_COUNTRIES =~ $COUNTRY ]] && RESPONSE="ALLOW" || RESPONSE="DENY"

if [ $RESPONSE = "ALLOW" ]
then
  logger "$RESPONSE connection from $1 ($COUNTRY)"
  exit 0
else
  logger "$RESPONSE connection from $1 ($COUNTRY)"
  exit 1
fi


В итоге имею: при подключении по ssh в лог пишется коннект, страна и работает все как надо,
При подключении к веб серверу на 80 или 443 порт никаких записей в логе и никаких запретов, как будто никаких правил нет. Что я делаю не так?
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
martin74ua
@martin74ua
Linux administrator
https://ubuntuforums.org/showthread.php?t=784404

например вот поэтому. Апач не использует эти файлы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы