Pull to refresh

DEV-Server или как не надо его настраивать

Здравствуй, %хабрачитатель%!

В данной теме мы поговорим об отладочных\дев серверах. Допустим, у вас есть проект и его надо отладить или создать сервер для демо(как в нашем примере). В свое время очень многие поплатились наплевательским отношением к подобным машинам, но, думалось мне, те времена, когда и трава зеленее и… уже давно прошли, НО.
Наткнулся я на Ajenti и в частности на их Demo Server. Как показал беглый осмотр все происходит от рута, также мы знаем что рестор происходит раз в час. Попробовал apt-get install irssi и тут удивлению уже не было предела. Сервер никак и ничем не ограничен.



Но может все таки сервер не выпустит за пределы, и создатели лишь забыли исключить репозитории? Вводим

/join irc.dogm.net

/j %channel_name%

И тут сбываются все опасения:



Выпив кофе и закурив запускаем на установку eggdrop:



Бот запустился и работает.

Эх, чем черт не шутит, давайте установим VPN с сервером. Для этого используем OpenVPN:



Опустим, что все установилось канал был поднят и т.д.
Фактически сервер работает так, как нам надо, мы можем сделать с ним все. Нужно запустить флуд бота\прокси\всечтоугодно — пожалуйста, и через час не останется даже логов.
А ведь можно даже скомпрометировать и саму демо — зайти и изменить код на хттпсервере на деструктивный (аля фишинг), написать скрипт и раз в час он будет соединятся с данным демосервером и...

Мораль сей басни такова:

1)Держите свой дев\демо сервер в таком же хорошо настроенном состоянии, как и продакшн.
2)Полностью ограничивайте его доступ в сеть.
3)Никогда, никогда не давайте вашем скриптам рут доступа.

О последнем пункте и еще паре уязвимостях уже в коде, также на примере скорее всего Ajenti да поймут и простят меня ее создатели мы поговорим чуть позже.

За сим, дорогая публика, откланяюсь.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.