DigitalOcean как замена хостингу. Как всё грамотно настроить?
Добрый день, я прошу совета и помощи. Продолжительное время хочу уйти от обычного хостера на DigitalOcean, но пугает одно — не знаю, хватит ли навыков настроить сервер, готовый к работе.
В общем, я в курсе как на ubuntu поднять apache+mysql+php, установить необходимые расширения и т.д. Но это всё очень базовые знания. На community digitalocean я читал много статей по настройке, но в большинстве они просто сделай то и то, базовые знания.
Так вот в чём вопрос — помогите мне пожалуйста, киньте в меня ссылками с информацией о том, как грамотно настроить сервер на Ubuntu на DigitalOcean, который заменит мне обычный хостинг (я пользуюсь сейчас reg.ru). Т.е. я как вижу себе — ставлю я apache+php+mysql, размещаю сайты в домашней директории созданного пользователя (~/www/{site1.ru,site2.ru.site3.ru}) и начинаю работу, но я уверен, это не безопасно и неправильно, надо что-то сделать ещё, а что я не знаю.
Во-первых, безопасность - это процесс, а не состояние.
Чтобы система была более-менее безопасной, нужно:
- быть в курсе существующих уязвимостей в используемом софте (как минимум следить за ubuntu security notices )
- ставить апдейты
- использовать достаточно стойкие пароли и периодически их менять
- отключать неиспользуемые сервисы
- если возможно, максимально ограничивать доступ по сети (например, не выставлять mysql на всеобщее обозрение)
- отключать неиспользуемые модули, плагины, расширения, фичи etc.
- делать бекапы
- всегда строго соблюдать принцип минимальных привилегий
- не подключаться к серверу с ненадежных систем (подключение с домашнего десктопа, на котором детишки гоняют пиратские игры, а вы смотрите "порно онлайн бесплатно без смс" - не очень хорошая идея).
Эти довольно простые советы в стиле КО на самом деле дают практически 100% защиту от "автоматических" взломов (имеются в виду боты, которые сканируют все подряд в поисках уязвимых систем и троянчики, вытаскивающие сохраненные пароли). Все остальное больше зависит от вашего кода, чем от каких-то настроек.
Воспользуйтесь vestacp. Все настроено из пакета. Единственная хостинг-панель которая не наводит тихий ужас в системе (не доставляет тонну мусорных библиотек и не хранит конфиги следуя инопланетной логике) - все разложено по полочкам.
на самом деле вопрос важный, но тут ответа практического не получите, т.к. статей много на эту тему, у меня например взломали сервер, через уязвимость в elastisearch (плохо настроил), и digitalocean закрыли сервер и сказали делай другой. добавлю, переходите на DO обязательно, а сразу же после полной настройки сервера - сделайте initial spanshot, а вообще круто будет если ещё и бэкапы включите.
я программист похапэ и в настройке серверов соображаю на уровне "апаче ис э кэпатал о грит британ", но не суть. Мануалов по настроке связки апача мускула и пхп в инете тонны. Я воспользовался одним из них и у меня ща в океане апач2+пхп5.5+мускул който версии+nodeJS и плюшки типа пхп май админа xdebugger для дев версий штук. Трудно было в тонкостях типа как заставить работать htaccess, но и с ними благополучно справился. Уходите от хостера и скилл начнет точиться;)
Дак в том то и дело, что я всё это умею и апач и пхп5 и мускл и плюшки типа пхпмайадмин и дебаггер и т.д. И даже в тонкостях типа как заставить работать htaccess я разбираюсь. Но сыкливо как-то все проекты переносить на digitalocean, вдруг там что-то пропустил или дыры в безопасности смешные. А проекты то крупные, тысячи людей и т.д.
@reffy ну, как вариант чтобы обезопасите себя чуть более чем полностью то можно сделать ssh тонель до своего компа, поставить ядреный пароль на ssh впринципе и закрыть вообще все что только можно наружу кроме 80 порта. тогда если получите взлом то можно будет смело винить только себя что что то на вашей стороне не так.
@reffy всемогущий гугл знает. гуглите что такое NAT, ssh tunnel . тунелирование нужно только для разработки и редактирования того что на сервере лежит, и если закрыть все за NAT то единственная точка входа к вам на сервер будет это 80 порт и ssh, тоесть останется бояться дыр в коде или того кто сможет спереть ключ от ssh
@reffy
-- ну вот я такую штуку уже делать не умею :) Закрывать порты и т.д.
Тогда придется почитать что нибудь про настройку iptables
напр. ru.wikibooks.org/wiki/Iptables
вот тут прямо ваш вопрос - "Закрыть все кроме 22, 80, 5432 портов через iptables" - Закрыть все кроме 22, 80, 5432 портов через iptables
Это будет всего несколько строк, но вы будете уверены, что контролируете доступ снаружи к своему серверу.
"размещаю сайты в домашней директории созданного пользователя" а как у вас это получилось? Я поднимал нечто подобное с дефолтных вариантов на DO, там нормальная директория сама собой ставится. У меня возникло пара вопросов как достаточно секурный ftp прикрутить, его по дефолту не было, так об этом нашлись несколько постов на форуме того же DO, если у вас сайт в домашней директории оказался из-за каких-то плясок с бубном, то попробуйте найти там же титориал, как это по уму сделать.
Просто используйте любую более менее адекватную панель.
Я рекомендую ISPManager. Один раз установили и дальше будете пользоваться вашим сервером как привычным хостингом.
Я вообще вам рекомендую ни чего самому не настраивать, а обратиться к фрилансу. Вы даже не представляете сколько народу за 10$ в час, знают всю кухню на зубок!
А свое время лучше тратить на дела более важные чем общение с железом.
Да обратиться то не проблема, я и 100$ выложу за грамотную настройку легко. Но дело в том, что я хочу сам разбираться во всём — почитать статьи грамотных людей, поглядеть как они настраивают, поучиться у них.
Если есть время, то можно почитать стандарт безопасности PCI DSS. Многое наверное будет чрезмерным для ваших условий, однако даст чёткое представление о том, какой по-хорошему должна быть безопасность.
На счёт настройки VPS за 10$ сомневаюсь, что толковый человек возьмётся. Я недавно брался делать такую работу, настраивал веб-сайт под 1 хост с wordpress, делал по своим уже отработанным шаблонам на debian/ubuntu. Занял процесс около 1,5 часов и стоимость получилась 30$. Все довольны.
Возможно продешевил, с другой стороны 20$/час - по-моему нормально.
как написали выше, ставьте vestacp, устанавливается одной командой, все работает "из коробки", уже потом гуглите про настройку iptables, для базы более чем достаточно
Я для себя проблему с хостингом решил так. Купил вечную лицензию панельки ISP manager. У своих знакомых https://ru-tld.ru/soft-ispsystem/
Поставил ее на centos. Сам сервер находится в хетцнере, но разницы нет, все равно на такой же виртуалке как в DO.
Немного пришлось помучиться с установкой, но мне помогли. Теперь без проблем создаю БД, Домены даже фтп аккаунты. В общем там есть все необходимое. Не уверен, что там все хорошо с безопасностью, но для меня это не критично в данный момент.