Я нашел решение своей проблемы. Это просто математическая проблема! Различные числа могут давать один и тот же результат. Так что между Linux и Solaris, член f_frsize имеет разное значение. Но это не имеет значения, потому что при преобразовании блоков в байты с помощью f_frsize в обеих операционных системах с помощью этой формулы, взятой из here:
static unsigned long kscale(unsigned long b, unsigned long bs)
{
return (b * (unsigned long long) bs + 1024/2) / 1024;
}
я получил тот же результат, что и при использовании команды df и в обеих операционных системах. Так что нет никакой реальной проблемы, только мое воображение :) Извините.
Используйте fail2ban, который использует брандмауэр для отключения доступа к ssh
(и, по желанию, к другим службам) после определенного количества неудачных попыток. По умолчанию он блокируется на 30 минут после 3 неудачных попыток, но настраивается с использованием (я полагаю) значения maxretry
.
Если вы используете shorewall в качестве брандмауэра, вы можете сделать это с помощью ограничения скорости соединения .
Вот пример конфигурации и объяснение:
############################################################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK
# PORT PORT(S) DEST LIMIT GROUP
#SECTION ESTABLISHED
#SECTION RELATED
SECTION NEW
ACCEPT net:192.168.1.11 $FW tcp ssh
ACCEPT net $FW tcp ssh - - 1/min:1
В приведенном выше описании есть два правила.
Первое правило всегда разрешает SSH-соединения с IP-адреса 192.168.1.11 из белого списка.
Второе правило ограничивает скорость SSH-соединений со всех адресов. Ограничение скорости установлено на 1 соединение в минуту. Ссылка выше описывает, как настроить ограничение скорости.
Согласно документации shorewall rules , порядок правил имеет значение:
Для любой конкретной пары зон (источник, место назначения) правила оцениваются в порядок, в котором они появляются в этом файле, и первое завершающее совпадение - это тот, который определяет размещение запроса. Все правила завершаются, кроме правил LOG и COUNT.
То есть, если срабатывает первое правило, то второе (ограничивающее скорость) правило не должно срабатывать.