Назад | Перейти на главную страницу

Совет по учетной записи root и портам ubuntu server

Я недавно запустил веб-сайт, который был в сети всего 2 дня, только что проверил auth.log, и уже было несколько попыток входа в систему с IP-адреса в Азии.

Я изменил пароль своей учетной записи на более безопасный, и теперь меня беспокоит учетная запись root и наличие открытых портов?

Относительно учетной записи root: было бы неплохо изменить имя учетной записи root на что-то совершенно случайное, о чем мог бы знать только я? Поскольку большинство попыток предпринимается для пользователя root, наличие имени пользователя - это уже половина успеха? Это хорошая или плохая идея?

Что касается портов: следует ли мне закрывать порты для FTP и SSH и открывать их только тогда, когда я сам хочу подключиться к серверу, это то, что обычно делается? Есть ли способ ограничить SSH-соединения одним IP-адресом и разрешить только одно соединение за раз?

Я не совсем уверен, что делать, буду признателен за любой совет, который вы дадите!

Относительно учетной записи root: было бы неплохо изменить имя учетной записи root на что-то совершенно случайное, о чем мог бы знать только я? Поскольку большинство попыток предпринимается для пользователя root, наличие имени пользователя - это уже половина успеха? Это хорошая или плохая идея?

Я думаю, что это плохая идея, просто запретите доступ для учетной записи root и используйте вместо этого sudo / su

Стоит ли закрывать порты для FTP и SSH

прежде всего вы должны изменить порт по умолчанию 21/22, например, foe 2121/2222

и открывать их только тогда, когда я сам хочу подключиться к серверу, это то, что обычно делается

да, это нормальная практика. Вы можете попробовать использовать стучать демон

# yum info knock
Name        : knock
Arch        : x86_64
Version     : 0.5
Release     : 3.el6.rf
Size        : 33 k
Repo        : rpmforge
Summary     : Port-knocking server
URL         : http://www.zeroflux.org/knock/
License     : GPL
Description : knockd is a port-knock server. It listens to all traffic on an ethernet
            : interface, looking for special "knock" sequences of port-hits. A client
            : makes these port-hits by sending a TCP (or UDP) packet to a port on the
            : server. This port need not be open -- since knockd listens at the link-
            : layer level, it sees all traffic even if it's destined for a closed port.
            :
            : When the server detects a specific sequence of port-hits, it runs a
            : command defined in its configuration file. This can be used to open up
            : holes in a firewall for quick access.

Второй пункт Alex_hha: запретить вход в систему как root. Это означает, что злоумышленники должны угадать / украсть ваше имя пользователя И ваш пароль, что лучше, чем просто угадать пароль root. Другая часть, которую я хотел бы добавить, - это использовать ssh-ключи, потому что тогда им нужно украсть файл на вашем компьютере, что, надеюсь, сложнее, чем кража пароля от какой-нибудь плохо защищенной веб-службы. См. Статью Github о том, как настроить ключи SSH:

https://help.github.com/articles/working-with-ssh-key-passphrases

Было бы неплохо изменить имя учетной записи root на что-то совершенно случайное, о котором знал бы только я? Поскольку большинство попыток предпринимается для пользователя root, наличие имени пользователя - это уже половина успеха? Это хорошая или плохая идея?

Для ОС гораздо более безопасным решением было бы вообще запретить root-доступ к SSH. Вы должны войти в систему как непривилегированный пользователь, у которого есть возможность su или sudo. Также весь доступ по ssh должен осуществляться с помощью закрытого ключа, а не паролей.

Если вы заинтересованы в сокращении объема трафика, который поступает в результате этих попыток взлома, вы можете запустить ssh на нестандартном порту (это не мера безопасности, но это эффективный метод, чтобы оставаться незамеченными и сохранять некоторые нежелательный трафик от попадания в вашу машину).

Также вы можете использовать такую ​​услугу, как http://www.fail2ban.org/ который будет отслеживать неудачные попытки входа в систему и блокировать IP-адреса.

Для доступа на уровне приложений (таких как CMS и т. Д.) Хорошо, если вы можете держаться подальше от URL-адресов по умолчанию (например, / admin или / administrator) и запускать нестандартные порты, что несколько скрывает вас от радаров. Это не повышает безопасность, но, опять же, может увести большую часть трафика из этих областей.

Мудрый безопасный отказ от имени пользователя по умолчанию (admin / root и т. Д.) И паролей по умолчанию - хорошая идея. Также с входами в CMS / приложения, ограничение I.P и использование методов, подобных fail2ban, являются хорошей идеей.

Что касается портов: следует ли мне закрывать порты для FTP и SSH и открывать их только тогда, когда я сам хочу подключиться к серверу, это то, что обычно делается? Есть ли способ ограничить SSH-соединения одним IP-адресом и разрешить только одно соединение за раз?

  • Ограничение доступа к определенным IP-адресам - хорошая идея
  • Если бы вы были параноиком, вы могли бы открывать порты только тогда, когда вам нужно их использовать, однако это может быть неудобно для реализации
  • Вы можете ограничить доступ к порту, на котором работает SSH, через брандмауэр.
  • Вы можете ограничить доступ к службе SSH через sshd_config, что-то вроде AllowUsers user @ ip