Как я могу проверять пользователей и попытки доступа к SSH на моем сервере?

У меня была такая же проблема после установки Ubuntu 15.10. Переустановка bash-completion работала для меня:

sudo apt-get install --reinstall bash-completion
26
задан 15 October 2010 в 20:58

55 ответов

Хавьер уже ответил на этот вопрос: /var/log/auth.log. Я нашел замечательную статью об этом здесь. Если ваши пользователи не имеют доступа к корню, ваши файлы журналов должны быть безопасными. Вы можете попытаться создать некоторые пользовательские правила в файле sudoers, чтобы ограничить доступ к вашим пользователям и каким образом. Также вы можете увеличить уровень журнала для демона sshd.
3
ответ дан 31 July 2018 в 11:35

Немного перебор, но вы можете увидеть все, что запускается в вашей системе, используя «соединитель событий процесса»:

http://www.outflux.net/blog/archives/ 2010/07/01 / отчетно-все-Execs /

4
ответ дан 2 August 2018 в 04:31
  1. Хавьер уже ответил на этот вопрос: /var/log/auth.log
  2. Я нашел замечательную статью об этом здесь .
  3. Если ваши пользователи не имеют доступа к корню, ваши файлы журналов должны быть безопасными. Вы можете попытаться создать некоторые пользовательские правила в файле sudoers, чтобы ограничить доступ к вашим пользователям и каким образом. Также вы можете увеличить уровень журнала для демона sshd.
3
ответ дан 2 August 2018 в 04:31

Помимо входа в систему, нет надежного способа отслеживать / регистрировать действия пользователей после входа в систему, предполагая, что у них есть базовые знания Linux, они смогут отключить ведение журнала оболочки или просто запустить команды из других оболочек (например, python).

Вместо этого вы должны быть консервативны относительно предоставления доступа ssh, действительно ли они действительно нужны? Не очень часто предоставляется доступ к SSH, если вы не находитесь в оболочке, предоставляющей бизнес.

3
ответ дан 2 August 2018 в 04:31

[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ] Я понимаю, что опаздываю на вечеринку, но я хотел бы вставить ответ, который я дал на другой вопрос , потому что я чувствую, что он может предложить хорошее понимание читателям, и этот вопрос, похоже, является отправной точкой для базовой информации ssh.

. Была аналогичная проблема, которая поразила меня после чтения этого вопроса здесь на AskUbuntu и проверки моего VPS, только чтобы увидеть bazillion попыток грубой силы. Именно тогда я решил принять меры.

Теперь в соответствии с вопросом, с которым я связался, если вы хотите увидеть неудачные попытки входа в систему на вашем компьютере по ssh (могут быть попытки грубой силы или что-то еще), попробуйте ввести следующее:

  grep sshd. \ * Failed /var/log/auth.log |  less  

Если вывод состоит из нескольких строк, то это много попыток грубой силы, особенно если они произошли между короткими интервалами, вы можете сделать следующие действия:

Измените конфигурационный файл ssh

. Для этого откройте файл, расположенный в / etc / ssh / sshd_config, с вашим любимым редактором, например vim / etc / ssh / sshd_config .

1. Попробуйте переместить ssh из порта 22: Теперь найдите строку, которая читает:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для порта 22  

и комментарий выйдите из порта 22 и используйте любого, кого вы можете. Пример:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для # Port 22 Port 28934  

Пожалуйста, помните, что для портов ниже 1024 требуется специальное (корневое) разрешение , Я не знаю, как это могло бы помешать ему, но я просто говорю.

2. Отключить корневые логины через ssh: поскольку имя пользователя root является предсказуемым и обеспечивает полный доступ к вашей системе, предоставление неограниченного доступа к этой учетной записи через SSH неразумно. Найдите строку, читающую PermitRootLogin, и установите ее равным.

  PermitRootLogin no  

3. Отключить аутентификацию паролей. Создайте и используйте SSH-ключи для входа в систему. Без использования паролей злоумышленники должны угадать (или украсть) ваш закрытый ключ SSH, чтобы получить доступ к вашему серверу. Что-то очень сложное. Продолжайте искать строку, которая читает PasswordAuthentication, и не присваивает ей значение

  PasswordAuthentication no  

! ПРЕДУПРЕЖДЕНИЕ! Прежде чем это сделать, обратитесь к этому руководству здесь о том, как настроить аутентификацию сертификата.

ПРИМЕЧАНИЕ. После внесения изменений используйте sudo / etc / init. d / ssh restart . Чтобы подключиться к другому порту через ssh, используйте: ssh username@hostname.com -p & lt; port_number & gt; .

Настройка брандмауэра

Пожалуйста, d3] это руководство о том, как настроить чрезвычайно мощный и эффективный брандмауэр, интегрированный в Linux, IPTables.

Сценарии установки, которые помогут вам с безопасностью

One что я использую лично и быстро приходит в голову Fail2Ban . Fail2ban будет отслеживать ваши файлы журналов для неудачных попыток входа в систему. После того, как IP-адрес превысил максимальное количество попыток аутентификации, он будет заблокирован на сетевом уровне, и событие будет зарегистрировано в /var/log/fail2ban.log . Чтобы установить его: sudo apt-get install fail2ban

Проверить историю команд с помощью ssh

Существует команда linux с именем history , который позволяет вам видеть, какие команды были введены до этой точки. Попробуйте ввести history в терминал, чтобы просмотреть все команды до этой точки. Это может помочь, если вы были root.

Для поиска конкретной команды попробуйте: history | grep command-name

Чтобы просмотреть все команды после ssh: fc -l ssh

Вы также можете редактировать команды с помощью vi (haven ' t попытался использовать vim, хотя я полагаю, что это работает также): fc -e vi

Вы также можете удалить историю: history -c [ ! d46]

ПРИМЕЧАНИЕ. Если вы не являетесь поклонником команды history , в вашем домашнем каталоге также есть файл cd ~ ), называемый .bash_history ( если вы используете bash), вы можете cat видеть все, что было введено в оболочке bash.

6
ответ дан 2 August 2018 в 04:31

Немного перебор, но вы можете увидеть все, что запускается в вашей системе, используя «соединитель событий процесса»:

http://www.outflux.net/blog/archives/ 2010/07/01 / отчетно-все-Execs /

4
ответ дан 4 August 2018 в 21:05
  1. Хавьер уже ответил на этот вопрос: /var/log/auth.log
  2. Я нашел замечательную статью об этом здесь .
  3. Если ваши пользователи не имеют доступа к корню, ваши файлы журналов должны быть безопасными. Вы можете попытаться создать некоторые пользовательские правила в файле sudoers, чтобы ограничить доступ к вашим пользователям и каким образом. Также вы можете увеличить уровень журнала для демона sshd.
3
ответ дан 4 August 2018 в 21:05

Помимо входа в систему, нет надежного способа отслеживать / регистрировать действия пользователей после входа в систему, предполагая, что у них есть базовые знания Linux, они смогут отключить ведение журнала оболочки или просто запустить команды из других оболочек (например, python).

Вместо этого вы должны быть консервативны относительно предоставления доступа ssh, действительно ли они действительно нужны? Не очень часто предоставляется доступ к SSH, если вы не находитесь в оболочке, предоставляющей бизнес.

3
ответ дан 4 August 2018 в 21:05

[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ] Я понимаю, что опаздываю на вечеринку, но я хотел бы вставить ответ, который я дал на другой вопрос , потому что я чувствую, что он может предложить хорошее понимание читателям, и этот вопрос, похоже, является отправной точкой для базовой информации ssh.

. Была аналогичная проблема, которая поразила меня после чтения этого вопроса здесь на AskUbuntu и проверки моего VPS, только чтобы увидеть bazillion попыток грубой силы. Именно тогда я решил принять меры.

Теперь в соответствии с вопросом, с которым я связался, если вы хотите увидеть неудачные попытки входа в систему на вашем компьютере по ssh (могут быть попытки грубой силы или что-то еще), попробуйте ввести следующее:

  grep sshd. \ * Failed /var/log/auth.log |  less  

Если вывод состоит из нескольких строк, то это много попыток грубой силы, особенно если они произошли между короткими интервалами, вы можете сделать следующие действия:

Измените конфигурационный файл ssh

. Для этого откройте файл, расположенный в / etc / ssh / sshd_config, с вашим любимым редактором, например vim / etc / ssh / sshd_config .

1. Попробуйте переместить ssh из порта 22: Теперь найдите строку, которая читает:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для порта 22  

и комментарий выйдите из порта 22 и используйте любого, кого вы можете. Пример:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для # Port 22 Port 28934  

Пожалуйста, помните, что для портов ниже 1024 требуется специальное (корневое) разрешение , Я не знаю, как это могло бы помешать ему, но я просто говорю.

2. Отключить корневые логины через ssh: поскольку имя пользователя root является предсказуемым и обеспечивает полный доступ к вашей системе, предоставление неограниченного доступа к этой учетной записи через SSH неразумно. Найдите строку, читающую PermitRootLogin, и установите ее равным.

  PermitRootLogin no  

3. Отключить аутентификацию паролей. Создайте и используйте SSH-ключи для входа в систему. Без использования паролей злоумышленники должны угадать (или украсть) ваш закрытый ключ SSH, чтобы получить доступ к вашему серверу. Что-то очень сложное. Продолжайте искать строку, которая читает PasswordAuthentication, и не присваивает ей значение

  PasswordAuthentication no  

! ПРЕДУПРЕЖДЕНИЕ! Прежде чем это сделать, обратитесь к этому руководству здесь о том, как настроить аутентификацию сертификата.

ПРИМЕЧАНИЕ. После внесения изменений используйте sudo / etc / init. d / ssh restart . Чтобы подключиться к другому порту через ssh, используйте: ssh username@hostname.com -p & lt; port_number & gt; .

Настройка брандмауэра

Пожалуйста, d3] это руководство о том, как настроить чрезвычайно мощный и эффективный брандмауэр, интегрированный в Linux, IPTables.

Сценарии установки, которые помогут вам с безопасностью

One что я использую лично и быстро приходит в голову Fail2Ban . Fail2ban будет отслеживать ваши файлы журналов для неудачных попыток входа в систему. После того, как IP-адрес превысил максимальное количество попыток аутентификации, он будет заблокирован на сетевом уровне, и событие будет зарегистрировано в /var/log/fail2ban.log . Чтобы установить его: sudo apt-get install fail2ban

Проверить историю команд с помощью ssh

Существует команда linux с именем history , который позволяет вам видеть, какие команды были введены до этой точки. Попробуйте ввести history в терминал, чтобы просмотреть все команды до этой точки. Это может помочь, если вы были root.

Для поиска конкретной команды попробуйте: history | grep command-name

Чтобы просмотреть все команды после ssh: fc -l ssh

Вы также можете редактировать команды с помощью vi (haven ' t попытался использовать vim, хотя я полагаю, что это работает также): fc -e vi

Вы также можете удалить историю: history -c [ ! d46]

ПРИМЕЧАНИЕ. Если вы не являетесь поклонником команды history , в вашем домашнем каталоге также есть файл cd ~ ), называемый .bash_history ( если вы используете bash), вы можете cat видеть все, что было введено в оболочке bash.

6
ответ дан 4 August 2018 в 21:05
  1. Хавьер уже ответил на этот вопрос: /var/log/auth.log
  2. Я нашел замечательную статью об этом здесь .
  3. Если ваши пользователи не имеют доступа к корню, ваши файлы журналов должны быть безопасными. Вы можете попытаться создать некоторые пользовательские правила в файле sudoers, чтобы ограничить доступ к вашим пользователям и каким образом. Также вы можете увеличить уровень журнала для демона sshd.
3
ответ дан 6 August 2018 в 04:35

Немного перебор, но вы можете увидеть все, что запускается в вашей системе, используя «соединитель событий процесса»:

http://www.outflux.net/blog/archives/ 2010/07/01 / отчетно-все-Execs /

4
ответ дан 6 August 2018 в 04:35

Помимо входа в систему, нет надежного способа отслеживать / регистрировать действия пользователей после входа в систему, предполагая, что у них есть базовые знания Linux, они смогут отключить ведение журнала оболочки или просто запустить команды из других оболочек (например, python).

Вместо этого вы должны быть консервативны относительно предоставления доступа ssh, действительно ли они действительно нужны? Не очень часто предоставляется доступ к SSH, если вы не находитесь в оболочке, предоставляющей бизнес.

3
ответ дан 6 August 2018 в 04:35

[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ] Я понимаю, что опаздываю на вечеринку, но я хотел бы вставить ответ, который я дал на другой вопрос , потому что я чувствую, что он может предложить хорошее понимание читателям, и этот вопрос, похоже, является отправной точкой для базовой информации ssh.

. Была аналогичная проблема, которая поразила меня после чтения этого вопроса здесь на AskUbuntu и проверки моего VPS, только чтобы увидеть bazillion попыток грубой силы. Именно тогда я решил принять меры.

Теперь в соответствии с вопросом, с которым я связался, если вы хотите увидеть неудачные попытки входа в систему на вашем компьютере по ssh (могут быть попытки грубой силы или что-то еще), попробуйте ввести следующее:

  grep sshd. \ * Failed /var/log/auth.log |  less  

Если вывод состоит из нескольких строк, то это много попыток грубой силы, особенно если они произошли между короткими интервалами, вы можете сделать следующие действия:

Измените конфигурационный файл ssh

. Для этого откройте файл, расположенный в / etc / ssh / sshd_config, с вашим любимым редактором, например vim / etc / ssh / sshd_config .

1. Попробуйте переместить ssh из порта 22: Теперь найдите строку, которая читает:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для порта 22  

и комментарий выйдите из порта 22 и используйте любого, кого вы можете. Пример:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для # Port 22 Port 28934  

Пожалуйста, помните, что для портов ниже 1024 требуется специальное (корневое) разрешение , Я не знаю, как это могло бы помешать ему, но я просто говорю.

2. Отключить корневые логины через ssh: поскольку имя пользователя root является предсказуемым и обеспечивает полный доступ к вашей системе, предоставление неограниченного доступа к этой учетной записи через SSH неразумно. Найдите строку, читающую PermitRootLogin, и установите ее равным.

  PermitRootLogin no  

3. Отключить аутентификацию паролей. Создайте и используйте SSH-ключи для входа в систему. Без использования паролей злоумышленники должны угадать (или украсть) ваш закрытый ключ SSH, чтобы получить доступ к вашему серверу. Что-то очень сложное. Продолжайте искать строку, которая читает PasswordAuthentication, и не присваивает ей значение

  PasswordAuthentication no  

! ПРЕДУПРЕЖДЕНИЕ! Прежде чем это сделать, обратитесь к этому руководству здесь о том, как настроить аутентификацию сертификата.

ПРИМЕЧАНИЕ. После внесения изменений используйте sudo / etc / init. d / ssh restart . Чтобы подключиться к другому порту через ssh, используйте: ssh username@hostname.com -p & lt; port_number & gt; .

Настройка брандмауэра

Пожалуйста, d3] это руководство о том, как настроить чрезвычайно мощный и эффективный брандмауэр, интегрированный в Linux, IPTables.

Сценарии установки, которые помогут вам с безопасностью

One что я использую лично и быстро приходит в голову Fail2Ban . Fail2ban будет отслеживать ваши файлы журналов для неудачных попыток входа в систему. После того, как IP-адрес превысил максимальное количество попыток аутентификации, он будет заблокирован на сетевом уровне, и событие будет зарегистрировано в /var/log/fail2ban.log . Чтобы установить его: sudo apt-get install fail2ban

Проверить историю команд с помощью ssh

Существует команда linux с именем history , который позволяет вам видеть, какие команды были введены до этой точки. Попробуйте ввести history в терминал, чтобы просмотреть все команды до этой точки. Это может помочь, если вы были root.

Для поиска конкретной команды попробуйте: history | grep command-name

Чтобы просмотреть все команды после ssh: fc -l ssh

Вы также можете редактировать команды с помощью vi (haven ' t попытался использовать vim, хотя я полагаю, что это работает также): fc -e vi

Вы также можете удалить историю: history -c [ ! d46]

ПРИМЕЧАНИЕ. Если вы не являетесь поклонником команды history , в вашем домашнем каталоге также есть файл cd ~ ), называемый .bash_history ( если вы используете bash), вы можете cat видеть все, что было введено в оболочке bash.

6
ответ дан 6 August 2018 в 04:35
  1. Хавьер уже ответил на этот вопрос: /var/log/auth.log
  2. Я нашел замечательную статью об этом здесь .
  3. Если ваши пользователи не имеют доступа к корню, ваши файлы журналов должны быть безопасными. Вы можете попытаться создать некоторые пользовательские правила в файле sudoers, чтобы ограничить доступ к вашим пользователям и каким образом. Также вы можете увеличить уровень журнала для демона sshd.
3
ответ дан 7 August 2018 в 22:45

Помимо входа в систему, нет надежного способа отслеживать / регистрировать действия пользователей после входа в систему, предполагая, что у них есть базовые знания Linux, они смогут отключить ведение журнала оболочки или просто запустить команды из других оболочек (например, python).

Вместо этого вы должны быть консервативны относительно предоставления доступа ssh, действительно ли они действительно нужны? Не очень часто предоставляется доступ к SSH, если вы не находитесь в оболочке, предоставляющей бизнес.

3
ответ дан 7 August 2018 в 22:45

Немного перебор, но вы можете увидеть все, что запускается в вашей системе, используя «соединитель событий процесса»:

http://www.outflux.net/blog/archives/ 2010/07/01 / отчетно-все-Execs /

4
ответ дан 7 August 2018 в 22:45

[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ] Я понимаю, что опаздываю на вечеринку, но я хотел бы вставить ответ, который я дал на другой вопрос , потому что я чувствую, что он может предложить хорошее понимание читателям, и этот вопрос, похоже, является отправной точкой для базовой информации ssh.

. Была аналогичная проблема, которая поразила меня после чтения этого вопроса здесь на AskUbuntu и проверки моего VPS, только чтобы увидеть bazillion попыток грубой силы. Именно тогда я решил принять меры.

Теперь в соответствии с вопросом, с которым я связался, если вы хотите увидеть неудачные попытки входа в систему на вашем компьютере по ssh (могут быть попытки грубой силы или что-то еще), попробуйте ввести следующее:

  grep sshd. \ * Failed /var/log/auth.log |  less  

Если вывод состоит из нескольких строк, то это много попыток грубой силы, особенно если они произошли между короткими интервалами, вы можете сделать следующие действия:

Измените конфигурационный файл ssh

. Для этого откройте файл, расположенный в / etc / ssh / sshd_config, с вашим любимым редактором, например vim / etc / ssh / sshd_config .

1. Попробуйте переместить ssh из порта 22: Теперь найдите строку, которая читает:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для порта 22  

и комментарий выйдите из порта 22 и используйте любого, кого вы можете. Пример:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для # Port 22 Port 28934  

Пожалуйста, помните, что для портов ниже 1024 требуется специальное (корневое) разрешение , Я не знаю, как это могло бы помешать ему, но я просто говорю.

2. Отключить корневые логины через ssh: поскольку имя пользователя root является предсказуемым и обеспечивает полный доступ к вашей системе, предоставление неограниченного доступа к этой учетной записи через SSH неразумно. Найдите строку, читающую PermitRootLogin, и установите ее равным.

  PermitRootLogin no  

3. Отключить аутентификацию паролей. Создайте и используйте SSH-ключи для входа в систему. Без использования паролей злоумышленники должны угадать (или украсть) ваш закрытый ключ SSH, чтобы получить доступ к вашему серверу. Что-то очень сложное. Продолжайте искать строку, которая читает PasswordAuthentication, и не присваивает ей значение

  PasswordAuthentication no  

! ПРЕДУПРЕЖДЕНИЕ! Прежде чем это сделать, обратитесь к этому руководству здесь о том, как настроить аутентификацию сертификата.

ПРИМЕЧАНИЕ. После внесения изменений используйте sudo / etc / init. d / ssh restart . Чтобы подключиться к другому порту через ssh, используйте: ssh username@hostname.com -p & lt; port_number & gt; .

Настройка брандмауэра

Пожалуйста, d3] это руководство о том, как настроить чрезвычайно мощный и эффективный брандмауэр, интегрированный в Linux, IPTables.

Сценарии установки, которые помогут вам с безопасностью

One что я использую лично и быстро приходит в голову Fail2Ban . Fail2ban будет отслеживать ваши файлы журналов для неудачных попыток входа в систему. После того, как IP-адрес превысил максимальное количество попыток аутентификации, он будет заблокирован на сетевом уровне, и событие будет зарегистрировано в /var/log/fail2ban.log . Чтобы установить его: sudo apt-get install fail2ban

Проверить историю команд с помощью ssh

Существует команда linux с именем history , который позволяет вам видеть, какие команды были введены до этой точки. Попробуйте ввести history в терминал, чтобы просмотреть все команды до этой точки. Это может помочь, если вы были root.

Для поиска конкретной команды попробуйте: history | grep command-name

Чтобы просмотреть все команды после ssh: fc -l ssh

Вы также можете редактировать команды с помощью vi (haven ' t попытался использовать vim, хотя я полагаю, что это работает также): fc -e vi

Вы также можете удалить историю: history -c [ ! d46]

ПРИМЕЧАНИЕ. Если вы не являетесь поклонником команды history , в вашем домашнем каталоге также есть файл cd ~ ), называемый .bash_history ( если вы используете bash), вы можете cat видеть все, что было введено в оболочке bash.

6
ответ дан 7 August 2018 в 22:45
  1. Хавьер уже ответил на этот вопрос: /var/log/auth.log
  2. Я нашел замечательную статью об этом здесь .
  3. Если ваши пользователи не имеют доступа к корню, ваши файлы журналов должны быть безопасными. Вы можете попытаться создать некоторые пользовательские правила в файле sudoers, чтобы ограничить доступ к вашим пользователям и каким образом. Также вы можете увеличить уровень журнала для демона sshd.
3
ответ дан 10 August 2018 в 10:51

Немного перебор, но вы можете увидеть все, что запускается в вашей системе, используя «соединитель событий процесса»:

http://www.outflux.net/blog/archives/ 2010/07/01 / отчетно-все-Execs /

4
ответ дан 10 August 2018 в 10:51

Помимо входа в систему, нет надежного способа отслеживать / регистрировать действия пользователей после входа в систему, предполагая, что у них есть базовые знания Linux, они смогут отключить ведение журнала оболочки или просто запустить команды из других оболочек (например, python).

Вместо этого вы должны быть консервативны относительно предоставления доступа ssh, действительно ли они действительно нужны? Не очень часто предоставляется доступ к SSH, если вы не находитесь в оболочке, предоставляющей бизнес.

3
ответ дан 10 August 2018 в 10:51

[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ] Я понимаю, что опаздываю на вечеринку, но я хотел бы вставить ответ, который я дал на другой вопрос , потому что я чувствую, что он может предложить хорошее понимание читателям, и этот вопрос, похоже, является отправной точкой для базовой информации ssh.

. Была аналогичная проблема, которая поразила меня после чтения этого вопроса здесь на AskUbuntu и проверки моего VPS, только чтобы увидеть bazillion попыток грубой силы. Именно тогда я решил принять меры.

Теперь в соответствии с вопросом, с которым я связался, если вы хотите увидеть неудачные попытки входа в систему на вашем компьютере по ssh (могут быть попытки грубой силы или что-то еще), попробуйте ввести следующее:

  grep sshd. \ * Failed /var/log/auth.log |  less  

Если вывод состоит из нескольких строк, то это много попыток грубой силы, особенно если они произошли между короткими интервалами, вы можете сделать следующие действия:

Измените конфигурационный файл ssh

. Для этого откройте файл, расположенный в / etc / ssh / sshd_config, с вашим любимым редактором, например vim / etc / ssh / sshd_config .

1. Попробуйте переместить ssh из порта 22: Теперь найдите строку, которая читает:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для порта 22  

и комментарий выйдите из порта 22 и используйте любого, кого вы можете. Пример:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для # Port 22 Port 28934  

Пожалуйста, помните, что для портов ниже 1024 требуется специальное (корневое) разрешение , Я не знаю, как это могло бы помешать ему, но я просто говорю.

2. Отключить корневые логины через ssh: поскольку имя пользователя root является предсказуемым и обеспечивает полный доступ к вашей системе, предоставление неограниченного доступа к этой учетной записи через SSH неразумно. Найдите строку, читающую PermitRootLogin, и установите ее равным.

  PermitRootLogin no  

3. Отключить аутентификацию паролей. Создайте и используйте SSH-ключи для входа в систему. Без использования паролей злоумышленники должны угадать (или украсть) ваш закрытый ключ SSH, чтобы получить доступ к вашему серверу. Что-то очень сложное. Продолжайте искать строку, которая читает PasswordAuthentication, и не присваивает ей значение

  PasswordAuthentication no  

! ПРЕДУПРЕЖДЕНИЕ! Прежде чем это сделать, обратитесь к этому руководству здесь о том, как настроить аутентификацию сертификата.

ПРИМЕЧАНИЕ. После внесения изменений используйте sudo / etc / init. d / ssh restart . Чтобы подключиться к другому порту через ssh, используйте: ssh username@hostname.com -p & lt; port_number & gt; .

Настройка брандмауэра

Пожалуйста, d3] это руководство о том, как настроить чрезвычайно мощный и эффективный брандмауэр, интегрированный в Linux, IPTables.

Сценарии установки, которые помогут вам с безопасностью

One что я использую лично и быстро приходит в голову Fail2Ban . Fail2ban будет отслеживать ваши файлы журналов для неудачных попыток входа в систему. После того, как IP-адрес превысил максимальное количество попыток аутентификации, он будет заблокирован на сетевом уровне, и событие будет зарегистрировано в /var/log/fail2ban.log . Чтобы установить его: sudo apt-get install fail2ban

Проверить историю команд с помощью ssh

Существует команда linux с именем history , который позволяет вам видеть, какие команды были введены до этой точки. Попробуйте ввести history в терминал, чтобы просмотреть все команды до этой точки. Это может помочь, если вы были root.

Для поиска конкретной команды попробуйте: history | grep command-name

Чтобы просмотреть все команды после ssh: fc -l ssh

Вы также можете редактировать команды с помощью vi (haven ' t попытался использовать vim, хотя я полагаю, что это работает также): fc -e vi

Вы также можете удалить историю: history -c [ ! d46]

ПРИМЕЧАНИЕ. Если вы не являетесь поклонником команды history , в вашем домашнем каталоге также есть файл cd ~ ), называемый .bash_history ( если вы используете bash), вы можете cat видеть все, что было введено в оболочке bash.

6
ответ дан 10 August 2018 в 10:51
  1. Хавьер уже ответил на этот вопрос: /var/log/auth.log
  2. Я нашел замечательную статью об этом здесь .
  3. Если ваши пользователи не имеют доступа к корню, ваши файлы журналов должны быть безопасными. Вы можете попытаться создать некоторые пользовательские правила в файле sudoers, чтобы ограничить доступ к вашим пользователям и каким образом. Также вы можете увеличить уровень журнала для демона sshd.
3
ответ дан 13 August 2018 в 17:25

Немного перебор, но вы можете увидеть все, что запускается в вашей системе, используя «соединитель событий процесса»:

http://www.outflux.net/blog/archives/ 2010/07/01 / отчетно-все-Execs /

4
ответ дан 13 August 2018 в 17:25

Помимо входа в систему, нет надежного способа отслеживать / регистрировать действия пользователей после входа в систему, предполагая, что у них есть базовые знания Linux, они смогут отключить ведение журнала оболочки или просто запустить команды из других оболочек (например, python).

Вместо этого вы должны быть консервативны относительно предоставления доступа ssh, действительно ли они действительно нужны? Не очень часто предоставляется доступ к SSH, если вы не находитесь в оболочке, предоставляющей бизнес.

3
ответ дан 13 August 2018 в 17:25

[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ] Я понимаю, что опаздываю на вечеринку, но я хотел бы вставить ответ, который я дал на другой вопрос , потому что я чувствую, что он может предложить хорошее понимание читателям, и этот вопрос, похоже, является отправной точкой для базовой информации ssh.

. Была аналогичная проблема, которая поразила меня после чтения этого вопроса здесь на AskUbuntu и проверки моего VPS, только чтобы увидеть bazillion попыток грубой силы. Именно тогда я решил принять меры.

Теперь в соответствии с вопросом, с которым я связался, если вы хотите увидеть неудачные попытки входа в систему на вашем компьютере по ssh (могут быть попытки грубой силы или что-то еще), попробуйте ввести следующее:

  grep sshd. \ * Failed /var/log/auth.log |  less  

Если вывод состоит из нескольких строк, то это много попыток грубой силы, особенно если они произошли между короткими интервалами, вы можете сделать следующие действия:

Измените конфигурационный файл ssh

. Для этого откройте файл, расположенный в / etc / ssh / sshd_config, с вашим любимым редактором, например vim / etc / ssh / sshd_config .

1. Попробуйте переместить ssh из порта 22: Теперь найдите строку, которая читает:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для порта 22  

и комментарий выйдите из порта 22 и используйте любого, кого вы можете. Пример:

  # Какие порты, IP-адреса и протоколы мы прослушиваем для # Port 22 Port 28934  

Пожалуйста, помните, что для портов ниже 1024 требуется специальное (корневое) разрешение , Я не знаю, как это могло бы помешать ему, но я просто говорю.

2. Отключить корневые логины через ssh: поскольку имя пользователя root является предсказуемым и обеспечивает полный доступ к вашей системе, предоставление неограниченного доступа к этой учетной записи через SSH неразумно. Найдите строку, читающую PermitRootLogin, и установите ее равным.

  PermitRootLogin no  

3. Отключить аутентификацию паролей. Создайте и используйте SSH-ключи для входа в систему. Без использования паролей злоумышленники должны угадать (или украсть) ваш закрытый ключ SSH, чтобы получить доступ к вашему серверу. Что-то очень сложное. Продолжайте искать строку, которая читает PasswordAuthentication, и не присваивает ей значение

  PasswordAuthentication no  

! ПРЕДУПРЕЖДЕНИЕ! Прежде чем это сделать, обратитесь к этому руководству здесь о том, как настроить аутентификацию сертификата.

ПРИМЕЧАНИЕ. После внесения изменений используйте sudo / etc / init. d / ssh restart . Чтобы подключиться к другому порту через ssh, используйте: ssh username@hostname.com -p & lt; port_number & gt; .

Настройка брандмауэра

Пожалуйста, d3] это руководство о том, как настроить чрезвычайно мощный и эффективный брандмауэр, интегрированный в Linux, IPTables.

Сценарии установки, которые помогут вам с безопасностью

One что я использую лично и быстро приходит в голову Fail2Ban . Fail2ban будет отслеживать ваши файлы журналов для неудачных попыток входа в систему. После того, как IP-адрес превысил максимальное количество попыток аутентификации, он будет заблокирован на сетевом уровне, и событие будет зарегистрировано в /var/log/fail2ban.log . Чтобы установить его: sudo apt-get install fail2ban

Проверить историю команд с помощью ssh

Существует команда linux с именем history , который позволяет вам видеть, какие команды были введены до этой точки. Попробуйте ввести history в терминал, чтобы просмотреть все команды до этой точки. Это может помочь, если вы были root.

Для поиска конкретной команды попробуйте: history | grep command-name

Чтобы просмотреть все команды после ssh: fc -l ssh

Вы также можете редактировать команды с помощью vi (haven ' t попытался использовать vim, хотя я полагаю, что это работает также): fc -e vi

Вы также можете удалить историю: history -c [ ! d46]

ПРИМЕЧАНИЕ. Если вы не являетесь поклонником команды history , в вашем домашнем каталоге также есть файл cd ~ ), называемый .bash_history ( если вы используете bash), вы можете cat видеть все, что было введено в оболочке bash.

6
ответ дан 13 August 2018 в 17:25

Другие вопросы по тегам:

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