Pull to refresh

Comments 33

В текущих реалиях еще и Xray-core

и nohup тоже часто полезен; хотя бы знать о нём.

Пароли по SSH? РуВДС угорает что ли?

Да за одну только такую мысль требуется публичное покаяние редактора или кто там причастен к делу.

Публичное покаяние на хабре не принято, тут принято писать еще одну статью-оправдание

Попробую скачать netdata. Полезная статья!

Эм, смена порта ssh? Отключение root по ssh? Вход по сертификатам?

Ну это наверно уже все знают. Хотя…

Я понимаю эти меры на крутом рабочем VPS, но зачем это на бюджетной вдске где крутится xray и заглушка? Ну вот стоит там 12-символьный не словарный пароль на ssh на 22 порту и fail2ban. В чем уязвимость?

Не то чтобы уязвимость... Тут больше речь идёт о "лучших практиках" , я думаю. Вход по сертификату в любом случае удобней, так зачем тогда оставлять вход по паролю - дело пары минут.

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

Напиши один раз плейбук на ансибле и раскатывай базу за десять секунд. Руками это делать в наше время стыдно

Статья не для тех кто разбирается в ключах и devops :)

Lynis всё расскажет что подхарденить

Как уже заметили в комментариях, помимо базовой минимальной настройки ssh (запрет входа для root, вход только сертификату), проверки установки tmux (как правило сейчас устанавливается по дефолту) я бы посоветовал вместо тяжеловесной для первой VDS Netdata ставить более легкий Beszel, а также обязательно устанавливать sysstat (только не забудьте настроить автозапуск сервиса) и хотя бы первое время и потом периодически запускать команду sar. Некоторые вопросы, глядя на статистику собранную этим старинным проверенным инструментом, отпадают сами собой.

Вот часто вижу в советах "запрет входа для root", но зачем?

Если крутится один сервис, то зачем ему отдельный юзер?

Если крутится много, то они все в докере и изолированы.

Я не настоящий сисадмин, но практика "не сиди под рутом", имхо, более полезна для десктопа, чем для сервера.

Или я что-то упускаю?

Хороший набор. Только fail2ban защищает примерно как замок на двери с открытой форточкой: брутфорс SSH закроет, а вот `PasswordAuthentication yes` в sshd_config останется открытой. Сначала ключи, потом fail2ban – не наоборот.

Ключи, ключи. Сколько раз использовал дефолтный пароль на ssh от провайдера VPS (а они генерируются достаточно длинные), ни разу такие сервера никто не ломал.

Вот тут я с вами полностью согласен. Все эти "best practice" не для тех, кто взял первую ВПС, а для профессионалов и систем с чувствительными данными. Профессионалы лезут везде со своими ключами, и не понимают, что только усложняют то, что усложнять не нужно. И то, что только отпугивают новичка сложностью. Вспоминая себя n лет назад, настраивающего первый 3xui на первой в жизни linux: и так страшно, и не понятно вообще ничего. Нейросетей нет, того кто объяснит нет. Везде "АААА, ключи!, АААА рут!, фэйлтубан!!, Гроб! Гроб, кладбище!... Взлом!". Отправить бы себе сообщение туда "чувак, не парься, поставь пароль подлиньше и побессмысленней".

В целом, новичкам не нужно всё это, или нужно преподнести это как опционал на будущее(если ему это вообще понадобится), просто, чтобы знал, что такое существует. А так, новичок просто должен знать что ему нужен надёжный пароль и всё.

По ключу, например, вход на машину с remnawave. А на ноды - пароль. Мои пароли 62 в 25 степени комбинаций(в принципе тут понятно из чего он состоит и какой длины), удачи, интернет, встретимся когда остынут белые карлики. А при взломе будет получено что? А голая машина с нодой, да на здоровье.

Свой КВН на своем ВПС - это просто, ребята, паранойя - лучший помощник, но только не нужно доводить до абсурда.

Снимать виртуалку за сто рублей чтобы половину ресурсов отдать под мониторинг и защиту от китайских ботнетов - классический путь самурая-девопса

у самурая-девопса есть свое железо, а это так, кохай-девопс

Зачем этот Fail2ban во все обзоры пихают для "защиты SSH"...

Мало того, что начиная с версии OpenSSH 9.8 появился встроенный механизм защиты от брутфорса и DDoS-атак. Так ещё одна строчка в конфиге AllowUsers username обломает ботов с порога.

у меня мой vps который не торчит нигде глобально стабильно по два айпишника в секунду банит фаилбан за попытку подбора пароля к ssh

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

просто обламывать с порога недостаточно. еще из забавного - если блочить все порты кроме нужных на vps (включая 22) то нагрузка на vps падает заметно, для дешевых это особо актуально так как краулеры своим дедосом до 10% cpu могут отжирать

Пара интересных замечаний.

  1. Fail2ban можно заменить на более продвинутый Crowdsec.

    Ест он не многим больше, удобнее. Да и в целом, иметь буквально базу зловредных ip лучше, чем составлять её с нуля.

  2. UFW не столько надстройка над iptables, сколько фронтэнд. А бэкэндом может быть и nftables. Это стоит хотя-бы упомянуть. Хотя конечно, новичку это может показаться и вовсе тёмным лесом.

В остальном, полезно. Хотя в интернете куча таких вот статей, информация в них может быть неактуальной, или вовсе опасной. Так что приятно видеть время от времени такие вот обновления, пусть даже в них и почти ничего не поменялось за последние 5-6 лет...

Digitalocean Еще для ubuntu 18 делал отличную шпаргалку (с пояснениями),которую дальше можно развивать так,как нужно под конкретные задачи

https://www.digitalocean.com/community/tutorials/ubuntu-18-04-ru

Digitalocean Еще для ubuntu 18 делал отличную шпаргалку

Сам себя не похвалишь — весь день, как оплеванный ходишь, да? 🤣

В гайде по азам буквально в первом же примере команды лишний пробел

Вместо htop можно использовать btop.

Вот такой
Вот такой

Иногда требуется посмотреть нагрузку на сеть - тогда nload.

Вот такой
Вот такой

ЗЫ Картинки взяты из выдачи Google.

Кремль в виде ASCII-графики напомнило )

Если iptables, то ufw не нужен. Для открыть/закрыть порты нет сложного синтаксиса.

еще мастхев тула https://github.com/tsl0922/ttyd - далеко не всегда ssh доступен. при подключении к публичным wifi, в корп сетях (очень часто), различного рода цензура и т.д.

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

Я бы добавил утилиту vnStat – для сбора и агрегации статистики потребления сетевого трафика

>при установке Docker правила UFW игнорируются.

А можно об этом поподробнее?

При указании портов как это показано в подавляющем большинстве примеров (“-p 8000:8000”) докер вешает порт на 0.0.0.0 хоста и пишет свои правила напрямую в iptables, что не попадает под ограничения, которые в тот же iptables пишет ufw.

Лечение зависит от того, для чего нужен порт. Как пример, если сервис в контейнере предполагается держать за условным nginx, который установлен как системный пакет, и который проксирует запросы на порт на локалхосте, то решение - биндить порт из контейнера на локалхост, т.е. “-p 127.0.0.1:8000:8000”. Если тот же nginx не в системе, а в соседнем контейнере, то можно завести отдельную сеть в докере и вешать контейнеры туда, тогда на хост вообще никаких портов не надо тащить.

Sign up to leave a comment.

Information

Website
ruvds.com
Registered
Founded
Employees
11–30 employees
Location
Россия
Representative
ruvds