IP-адреса, запрещенные в /etc/hosts.allow, появляются в /etc/csf/csf.deny?
Я модифицирую свой /etc/hosts.allow
подать как
sshd : 192.168.0.0/255.255.255.0 : allow
sshd : xxx.xxx.xxx.* : allow
sshd : ALL : deny
(где xxx представляет мои действительные номера IP-адресов, а подстановочный знак * представляет полный диапазон 0-255), затем перезапустите sshd и веб-сервер Apache. На следующей неделе я наблюдаю, как IP-адреса из других стран продолжают появляться в /etc/csf/csf.deny
,
116.31.116.15 # lfd: (sshd) Failed SSH login from 116.31.116.15 (CN/China/-): 5 in the last 300 secs ...
Правильно ли мое ожидание, что в IP-адресах отказано hosts.allow
файл не должен даже отображаться с экраном входа в систему, чтобы попытаться войти в систему, и, следовательно, записи в журнале csf.deny доказывают, что мой файл hosts.allow не выполняет то, что я хочу?
Или меня вводит в заблуждение общее сообщение об ошибке (5 in the last 300 secs
) потому что на самом деле эти IP-адреса фактически не пытались ввести имя пользователя и пароль 5 раз?
Моя цель состоит в том, чтобы не дать не утвержденным IP-адресам возможность даже ввести имя пользователя и пароль. Как я могу сказать, что достигаю этого или нет?
Что я должен ожидать, что файл csf.deny покажет, когда его IP фактически запрещен?
1 ответ
csf.deny
используется межсетевым экраном ConfigServer, и перечисленные там IP-адреса вообще не смогут подключаться к серверу.
Если IP находится в csf.deny
файл, это означает, что он заблокирован в брандмауэре сервера на всех портах и не будет отображаться ни с каким экраном входа ни в одну из служб, поскольку он никогда не установит соединения с сервером.
5 за последние 300 секунд, означает, что они не прошли процесс аутентификации, что привело их в черный список в CSF. Возможно, они ввели неверные учетные данные или вообще не получили приглашение на вход, если разрешены только ключи SSH.
положить IP в hosts.allow
позволит ему подключиться к службе, которую вы там указали, но им все равно нужно будет ввести правильные учетные данные для подключения к серверу.
IP-адреса, которые не указаны как разрешенные, должны быть представлены следующим сообщением:
ssh_exchange_identification: Connection closed by remote host
Я считаю, что это будет рассматриваться как неудачный вход в систему, если они попытаются подключиться к SSH, в любом случае они попадут в csf.deny, если они достигнут предела неудачного входа в систему. Они установят соединение с портом SSH, но не смогут аутентифицировать себя из-за запретного правила, и CSF увидит его как неудачный вход в систему.
Лучшим вариантом блокировки SSH для не перечисленных IP-адресов будет полная блокировка его в CSF, как описано в конце этого поста.
В дополнение к csf.deny, важные файлы также csf.allow
, а также csf.ignore
,
csf.allow
разрешит соединения с указанного IP на любом исходном порту, к любому порту назначения.
csf.ignore
будет игнорировать любые неудачные действия из списка IP, он не будет подвергаться ограничениям на неудачные входы в систему или соединения.
Вы можете удалить IP из csf.deny
с csf -dr IP
и внесите это в белый список csf.allow
с csf -a IP
Если вы хотите полностью заблокировать SSH для неподтвержденных IP-адресов и хотите избежать csf.deny
рост из-за неудачных входов в систему SSH, вы можете полностью заблокировать порт SSH, 22, если вы его не изменили, удалив его из строки TCP_IN в csf.config
,
После того, как вы что-то изменили в csf.config
нужно перезапустить CSF с csf -r
перезагрузить файл конфигурации.
Это заблокирует порт 22 для всех IP-адресов, кроме IP-адресов, перечисленных в csf.allow.
Удалив порт 22 из TCP_IN в csf.config
и положить ваши IP-адреса в csf.allow
, вы разрешите только те IP-адреса для подключения к порту 22, любой другой IP-адрес не будет представлен с любым именем входа SSH, но при попытке подключения к SSH будет получено сообщение о превышении времени ожидания.
Если вы введете только IP в csf.allow
, он будет разрешен для всех портов, но вы можете указать один порт только с расширенной фильтрацией порта +ip.
Положить это в csf.allow
разрешит подключения к порту 22 с IP, даже если порт 22 не разрешен в csf.config
,
tcp:in:d=22:s=x.x.x.x