Comments 33
А если потом нужно будет переехать на другой сервер, то опять вручную нужно будет всё это делать? Я далёк от devops-технологий, но думал, что может Asible какой-нибудь можно использовать для такого.
Так можно всё настроить, сделать образ, скачать его или скопировать куда-нибудь. Потом из образа в пару кликов на любом другом VPS развернуть.
Не думаю, что для базовой настройки Линукса торчащего в интернет нужно прибегать к Ансиблю, сама настройка минут 15-20 занимает
Уже писали, а если новый vps организовывать потребовалось. А если до экспериментировала я? А если там docker с целой инфраструктурой. Тогда 20 минут растянутся в несколько часов и головных болей. А Когда есть ансибл , то все разворачивается за час, причем ты можешь заниматься чем-то другим
Если вы уже обжились на этой vps и затем стоит задача переехать на новый - можно как один из вариантов просто сделать копию, скачать и развернуть ее на другом серваке, ну или через clonezilla условную, прибегать к Ansible и его playbook'ам имеет место быть если есть изначально понимание, что подобную конфигурацию нужно будет на нескольких устройствах делать. Но статья не про это, она именно про разовую настройку на одном конкретном VPS.
На случай если вы доэкспериментировались - можно делать бэкапы и снапшоты, про что в статье написано. Это в том числе спасет от потери докера с целой инфраструктурой
А если потом нужно будет переехать на другой сервер, то опять вручную нужно будет всё это делать?
Когда мне надоело каждый раз делать одно и тоже на новеньких ВПС, я взял в руки Дипсик и сказал ему - давай создадим скрипт который будет настраивать мои чистые ВПС.
В результате увлекательного общения (без шуток) у меня появился скрипт который достаточно запустить один раз на ВПС-ке и я получаю готовый продукт)
Этот скрипт устанавливает нужный часовой пояс, ставит русскую локаль, раскрашивает терминал, обновляет систему, настраивает баннер входа с кучей полезной информации, настраивает ключи, SSH, root и пользователей, устанавливает нужный софт, настраивает fail2ban, отключает ipv6, настраивает фаер, автоматические обновления безопасности, утилиты мониторинга и опционально предлагает установить и настроить Crowdsec или Maltrail вместо Fail2Ban.
Получился монструозный интерактивный скрипт который потом я планирую разбить на три части)
Очень кстати увлекательное занятие! Дипсик иногда подкидывает идеи до которых я сам не допер-бы)
У меня так все и разворачивается, и не только vps, и не только линукс
Статья написана ии и не преследует цели поделится реальным опытом.
Нарвался на такую проблему:
Запустил себе виртуалку на Oracle Cloud, SSH работает, а другие порты - не работают (80, 443...).
Настроил в их cloud: network security groups (NSGs), security lists... Всё равно порты недоступны.
На самой виртуалке Ubuntu - firewall не запущен.
Оказалось, что Oracle в образы Ubuntu уже "включает" какой-то конфиг iptables, который по умолчанию блокирует большинство портов. Решилось вот этой командой:
sudo iptables -I INPUT -j ACCEPT
Смешались в кучу кони, люди.
Очередной копирайтер, учит админить vps; - "Делай так!" и будет тебе несчастье
Увидел список древних вредных советов.
1) Забудьте в 2025 году для нового сервера об iptables! Используйте nftables.
2) Net-tools на той же свалке истории.
3) Перестаньте лезть руками в системные конфигурационные файлы! Например sshd_config. Для пользовательских настроек есть папка sshd_config.d. Кладите туда свои настройки. (Там еще полезно KbdInteractiveAuthentication no)
4) Перестаньте ломать сетевые стандарты и переносить ssh порт! Сканер его все равно найдет за секунды.
Не сказал бы, что советы "древние и вредные"
1) nftables это хорошо, более гибкий все дела, но iptables это классика, которая более распространена и им точно еще несколько лет будут пользоваться
2)с net-tools тоже что и про iptables
3) если все делать по инструкции, то все будет хорошо
4) Смена стандартных портов на нестандартные - правила хорошего тона, если админ не меняет порты торчащие наружу на нестандартные, то к нему вопросы возникают
Ну не скажите. Я ради эксперимента перенес SSH в динамический диапазон и посмотрел сколько раз его просканят. 2222 конечно так себе, но стоит переносить хотя бы за список популярных в nmap. Сканер не будет на каждом хосте сканить 65к портов.
В остальном согласен
Отличная, структурированная и понятная статья! Видно, что автор продумал пошаговый путь от чистого VPS до базовой готовности к продакшену - особенно приятно, что внимание уделено не только установке, но и безопасности и резервированию.
Для начинающих это действительно хороший ориентир, а при небольшом расширении в сторону автоматизации и продвинутых практик hardening можно будет сделать полноценное «руководство к действию».
Спасибо за материал - читается легко и с пользой. Успехов в развитии темы! 👏
Статья хорошая, как и написано в заголовке "для начинающих". Понятно, что если вы админите несколько лет, то здесь вы для себя ничего нового не найдете, но для тех кто только встает на этот путь - плюс одна полезная лаконичная статья по базовой настройке линукса торчащего напрямую в интернет
Зачем устанавливать iptables и ipset если используете ufw ?
Вместо порта 22 используйте нестандартный (например, 2222)
В каждой второй статье вижу совет сменить порт на "нестандартный", например 2222. Боты уже должны сканировать и его так же часто, как дефолтный.
Не понимаю, зачем ставить Fail2ban (да и полом логи смотреть у него), если root пользователь на admin поменяли, порт входа ssh сменили, root отключили? Всё равно существует вероятность взлома по ssh?
Как установить и настроить VPS-сервер: чек-лист для начинающих