Возможный дубликат:
Как я могу аудировать пользователей и попытки доступа к SSH на моем сервере?
Недавно мне пришлось отдать мой Ubuntu 12.10 root пароль одному из моих друзей, чтобы он мог SSH в мою систему и отправить мне некоторые файлы. Теперь он мой друг, и я ему доверяю, поэтому я не отказался поделиться своим паролем. И впоследствии я его сменил.
Но меня просто поразило, как я могу просмотреть все команды, которые были выполнены каким-то другим пользователем, удаленно вошедшим в мою систему (очевидно, не моим другом. Я имею в виду вообще). В какой степени они могут получить доступ к моим данным (особенно к моим паролям, например, я использую Last Pass, так что могут ли они получить доступ к паролям моих учетных записей?)? И если они откроют любой браузер после входа в мою систему, будет ли у них доступ ко всем моим паролям, если я сохранил их, используя опцию "запомнить пароль", предоставляемую chrome
Также какие меры предосторожности я должен принять, когда я позволяю кому-то удаленно войти в мою систему, и как я могу отследить различные команды, используемые ими, или изменения, которые они сделали в моей системе. Также есть ли простой способ получить уведомление, когда кто-то входит в мою систему, помимо проверки файла /var/log/auth.log
Была подобная проблема, которая ударила меня после чтения этого вопроса здесь на AskUbuntu и проверке моего VPS, только для наблюдения огромного количества попыток грубой силы. Это - когда я решил принять меры.
Теперь согласно вопросу я связался с, если требуется видеть, отказавшие попытки входа в систему на машине по ssh (могли бы быть попытки грубой силы или что-либо), попытайтесь ввести это:
grep sshd.\*Failed /var/log/auth.log | less
Если вывод состоит из нескольких строк, который является многими попытками грубой силы, особенно если они произошли между короткими интервалами, Вы могли бы хотеть сделать следующие части действия:
Чтобы сделать это, откройте файл, расположенный в/etc/ssh/sshd_config с Вашим любимым редактором, как это vim /etc/ssh/sshd_config
.
1. Попытайтесь переместить ssh от порта 22: Теперь найдите строку, которая читает:
# What ports, IPs and protocols we listen for
Port 22
и прокомментируйте Порт 22 и используйте любого, кого Вы могли бы любить. Пример:
# What ports, IPs and protocols we listen for
# Port 22
Port 28934
Please remember that ports below 1024 need special (root) permission.
Я не знаю, как это могло вмешаться в него, но я просто говорю.
2. Отключите Корневые логины через ssh: Так как корневое имя пользователя предсказуемо и обеспечивает полный доступ к Вашей системе, обеспечивание беспрепятственного доступа в эту учетную запись по SSH неблагоразумно. Найдите чтение строки PermitRootLogin и установите его на нет.
PermitRootLogin no
3. Отключите аутентификацию по паролю: Генерируйте и используйте ключи SSH для вхождения в систему. Без включенных паролей взломщики должны будут предположить (или кража) Ваш закрытый ключ SSH для получения доступа к серверу. Что-то, что очень очень трудно. Продолжите находить строку, которая читает PasswordAuthentication и устанавливает его на нет
PasswordAuthentication no
! ПРЕДУПРЕЖДЕНИЕ! Прежде, чем сделать так, консультируйтесь с этим руководством здесь по тому, как настроить аутентификацию сертификата.
Примечание: После создания использования изменений sudo /etc/init.d/ssh restart
. Соединяться с другим портом через использование ssh: ssh username@hostname.com -p <port_number>
.
Проверьте это руководство по тому, как настроить чрезвычайно мощный и эффективный брандмауэр, который интегрируется в Linux, IPTables.
Тот, который я использую лично и быстро прихожу на ум, является Fail2Ban. Fail2ban будет контролировать Ваши файлы журнала для неудавшихся попыток входа в систему. После того, как IP-адрес превысил максимальное количество попыток аутентификации, это будет заблокировано на сетевом уровне, и событие будет зарегистрировано /var/log/fail2ban.log
. Устанавливать его: sudo apt-get install fail2ban
Существует команда Linux, названная history
, который позволяет Вам видеть, какие команды были введены вплоть до той точки. Попытайтесь ввести history
в терминале для получения для наблюдения всех команд до той точки. Могло помочь, были ли Вы корнем.
Искать конкретную попытку команды: history | grep command-name
Перечислять все команды после ssh: fc -l ssh
Можно также отредактировать команды с помощью vi (не попробовали его энергия, хотя я предполагаю, что это работает также): fc -e vi
Можно также удалить историю: history -c
Примечание: Если Вы не поклонник команды history
существует также файл в Вашем корневом каталоге (cd ~
), названный .bash_history (если Вы используете удар), что Вы можете cat
видеть все, что было введено в оболочке удара.
SSH не полностью безопасен в своей конфигурации по умолчанию.
<час>, Если Вы обеспечиваете пароль , чтобы позволить удаленному пользователю соединяться через SSH с Вашим компьютером, эти права должны быть , отменил для остановки продолжающегося доступа.
Изменение Вашего пароля делает НЕ , отменяют эти права.