У меня есть тысячи попыток нарушить мою систему в этом журнале от logwatch?

От man 7 regex:

Выражение скобки является списком символов, включенных в" []". …

… Для включения литерала '-', делают он первый или последний знак …. ll другие специальные символы, включая' \', теряют их специальное значение в рамках выражения скобки.

Попытка regexp с egrep дает ошибку:

$ echo "username : username usergroup" | egrep "^([a-zA-Z0-9\-_]+ : [a-zA-Z0-9\-_]+) (usergroup)$"
egrep: Invalid range end

Вот более простая версия, которая также дает ошибку:

$ echo 'hi' | egrep '[\-_]'
egrep: Invalid range end

С тех пор \ не является особенным, который является диапазоном, точно так же, как [a-z] был бы. Необходимо поместить Ваш - в конце, как [_-] или:

echo "username : username usergroup" | egrep "^([a-zA-Z0-9_-]+ : [a-zA-Z0-9_-]+) (usergroup)$"
username : username usergroup

Это должно работать независимо от Вашей libc версии (или в egrep или в ударе).

править: Это на самом деле зависит от Ваших настроек локали также. Страница справочника действительно предупреждает об этом:

Диапазоны очень зависимы от сортирующей последовательности, и портативные программы должны постараться не полагаться на них.

Например:

$ echo '\_' | LC_ALL=en_US.UTF8 egrep '[\-_]'
egrep: Invalid range end
$ echo '\_' | LC_ALL=C egrep '[\-_]'
\_

Конечно, даже при том, что это не сделало ошибки, это не делает то, что Вы хотите:

$ echo '\^_' | LC_ALL=C egrep '^[\-_]+$'
\^_

Это - диапазон, который в ASCII, включает \, [, ^, и _.

3
16.09.2014, 16:40
1 ответ

я попробую специально ответить на вопрос 3 здесь, так как кажется, что вы нашли конфигурационную часть fail2ban, которая отвечает на вопросы 1 и 2. Если Вы хотите усилить безопасность на SSH, я рекомендую следующее.

  1. Убедитесь, что строгий режим установлен на true
  2. Отключите логины root
  3. Измените SSH-порт
  4. Отключите логины паролей
  5. Используйте стук порта

Чтобы ответить на ваши вопросы, вам необходимо создать конфигурацию ssh в файле /etc/fail2ban/filter.d/ssh.conf и вставить следующее....

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

Если вы уже изменили свой порт, как я предлагал, вы можете установить номер порта здесь. Перезапустите fail2ban и протестируйте.

3
27.01.2020, 21:23

Теги

Похожие вопросы