5

У меня было несколько проблем с безопасностью на моем сервере, потому что некоторые пользователи SSH вызывали проблемы.

Поэтому я хотел бы:

  • Отслеживание пользовательских входов и выходов
  • Отслеживайте активность этих пользователей SSH, чтобы обнаружить любую вредоносную активность
  • Запретить пользователям удалять журналы

4 ответа4

9

У демона ssh, sshd , многое из этого встроено и включено. Вот несколько примеров строк из /var/log/secure на моем компьютере (имена и IP-адреса изменены):

Sep  7 08:34:25 myhost sshd[6127]: Failed password for illegal user root from 62.75.999.999 port 52663 ssh2
Sep  7 08:34:26 myhost sshd[7253]: User root not allowed because listed in DenyUsers
Sep  7 08:34:28 myhost sshd[7253]: Failed password for illegal user root from 62.75.999.999 port 53393 ssh2
Sep  7 11:55:18 myhost sshd[11672]: Accepted password for gooduser from 98.999.26.41 port 43104 ssh2
Sep  7 23:01:28 myhost sshd[22438]: Did not receive identification string from 999.56.32.999
Sep  8 06:31:30 myhost sshd[21814]: Accepted password for gooduser from 98.999.26.41 port 5978 ssh2

В этом примере показана пара попыток кого-то ssh зайти на эту машину от имени root - обе были отклонены, поскольку root запрещен. Это также показывает успешный вход в систему пользователем с именем "gooduser".

Чтобы точно настроить то, что вы видите и в каком файле, прочитайте больше на справочной странице sshd_config - в частности, параметры LogLevel и SyslogFacility.

3

Следуя ответу Дуга Харриса (и отвечая только на часть вашего вопроса - похоже, именно так я и работаю), пакет Logwatch будет отправлять вам ежедневную сводку по количеству журналов сервера, включая журнал SSHd. Я получаю сводку о том, кто успешно вошел в систему через SSH, сколько раз и откуда, а также о том, какие IP-адреса пытались войти в систему безуспешно и какие учетные данные они использовали. Если кто-то пытается использовать SSH-атаку грубой силой на хосте, где я разрешаю аутентификацию по паролю (это делается очень долго, я стараюсь избегать этого, предпочитая вместо этого ключи RSA, но клиент всегда прав и не всегда понимает аутентификацию с открытым ключом). , Тем не мение.)

Чтобы установить Logwatch (который представляет собой просто набор фильтров Perl для переваривания различных форматов журналов) в Ubuntu, используйте apt-get install logwatch а затем отредактируйте /etc/cron.daily/00logwatch , заменив --output mail на --mailto you@yourdomain.com . Вы получите один в день. Вы можете добавить больше флагов, чтобы настроить, какие журналы фактически читает Logwatch.

3

Одним из наиболее полных способов отслеживания пользователей является использование auditd. Это способ уровня ядра отслеживать все, что вам нужно для аудита. Он должен быть связан с Ubuntu Server и, если он еще не запущен, должен запускаться с помощью sudo service auditd start .

Для этого есть множество примеров конфигурации в /usr/share/doc/auditd/ или что-то похожее на это, и, конечно, если вы изучите руководство Google для audd, вы будете вознаграждены многими, многими учебниками.

Отчеты, созданные с помощью audd, хранятся в каталоге /var/log/audit/ . Они также могут быть проанализированы для более удобочитаемой формы с помощью таких инструментов, как aureport и ausearch, которые также должны быть уже включены в Ubuntu Server.

2

Я бы не стал выдавать ssh-аккаунты, особенно людям типа distro-groups.

Вот пара вещей:

  • наконец, дает вам историю недавних выходов из системы.
  • Укрепите историю bash, чтобы предотвратить уничтожение истории команд http://sock-raw.org/papers/bash_history

Можно ли объединить файлы истории в bash?

Insert the command shopt -s histappend in your .bashrc. 
This will append to the history file instead of overwriting it.
Also in your .bashrc, insert

PROMPT_COMMAND="$PROMPT_COMMAND;history -a; history -n"

and the history file will be re-written and re-read each time
bash shows the prompt.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .