Как стать автором
Обновить

Комментарии 24

Идея вообщем-то хорошая тем, что можно получить некое решение по безопасности "из коробки", но бесполезная.
Перекидывать входядий траф в докер, а из докера в апп или в вебрут, который модет лежать где угодно — сомнительное удовольствие полное бесполезности.
Особенно если хайлоад или стрим.
Если хочется запарониться или усилить секурность, не нужно усложнять. Достаточно вынести реверс нгикс на отдельный впс (кстати не обязательно супермощный, достаточно 4 вцпу, 4гб памяти для обработки до 10м запросов в сутки — исходя из личного опыта).
Либо ставить нгикс фронтом на сервер + докеры, где крутится апп или сайт.


Как засекурить нгикс — полон интернет информации, начиная от всем известного стековерфлоу.
Ксли кратко:
1) ботов по user agent отправлять на 40x
2) сканеров по регэкспам (think, cgi,setup, phpmy,dbadm,sysadm,mstohash,install, backup.tgz и тд) отправлять туда же + отдельно в лог, который отдавать fail2ban
3) тупо забанить через blackhole все спам ip (списки спамовых черных ip можно найти в инете)
4) гео бан, например весь CN или точечно по китайским подсетям
5) limit rates на запросы и отдачу контента


Вся инфа по настройке находится в гугле, в целом все не так сложно настроить самостоятельно.

1) ботов по user agent отправлять на 40x

Люди деньги на раскрутку проекта тратят, гуглю и яндексу серьезные суммы заносят, а вы предлагаете банить роботов.
Если сайт магазин то банить ботов плохая идея.

Мне вот интересен ход мыслей тех, кто «банит ботов по UA». Если бот не скрывает от вас того, что он бот, то он и robots.txt уважает — правильнее ему там всё сказать.

Про защиту от ботов, как у CloudFlare, было бы интересно почитать в виде отдельной статьи.
Защита CloudFlare от DDOS «подождите 5 сек сейчас все будет» обходится (потому что и рассчитана от DDOS).

Если на уровне докажите что не робот, это эффективнее, но раздражает.
А можно попросить Вас HowTo написать как поставить Linux-Ngnix-MariaDB-PHP7- на последней версии Debian 10 + защита сервера+ кэширование + настройка бэкапов и восстановление из них + HTTPS LetsENCript + HTTP/2 (и всё это желательно с комментариями что делаем, зачем и почему) — в розницу это всё описано, но как правило для разных версий ПО + каждый админ всё настраивает немного по своему, получатся разнобой.
Есть некоторое количество начинающих админов которым VPS нужна для форума, СMS и т.п. квалификации нормально настроить всё это хозяйство нет :(
Хостинг для вас уже сделал такую услугу, просто приобретите работающий проект на вордпресе или что там у вас.
Зачем минусовать, ведь цены даже у владельцев блога не самые высокие и там всё есть. А каждые пол года писать однотипные статьи, практически превратится в желтуху.
Интересно, когда vdsina успел превратиться в ruvds…
Посылаю голову пеплом, мой косяк, простите.
начинающие админы никогда не познают дзен не пройдя путь самурая.
вы просите не научить, а тупо под ключ настроить конкретное решение, заточенное под вас.
Есть некоторое количество начинающих админов которым VPS нужна для форума, СMS и т.п. квалификации нормально настроить всё это хозяйство нет :(


Для таких админов давным давно существует очень распространенная услуга виртуального хостинга (не путать с виртуальным сервером). Это услуга стала широко распространенной даже раньше, чем VDS.
И тут у ваннаби сисадмина подламывают сам докер
Сделали бы приписку что ли, что это только тупой пример и так делать не надо
if ($host = www.website1.com) {
      proxy_pass http://192.168.42.10$request_uri;
}


If is Evil

Почему?

Сама по себе тема достаточно интересная, но гифка в полторы минуты и if-ы сильно портят впечатление о статье.
Пользуемся на проекте 3 месяца. Почти каждый пуш автора bunkerized nginx в докер регистри ломает обратную совместимость, к сожалению пока сыровато, чтобы использовать в серьезных проектах. Версионирования нет, поэтому единственная возможность — форкнуть рабочую версию в свой регистри и тянуть стабильный образ оттуда.
а можно не скромный вопрос, зачем там внутри докера QEMU?

Он вроде через него виртуализацию делает, по крайней мере в качестве фолбэка в osx

Он вроде через него виртуализацию делает, по крайней мере в качестве фолбэка в osx


В Linux докер ранее всегда был всего лишь контейнером. Какая виртуализация, о чем это вы?

А в OSX ранее всегда был именно виртуальной машиной. И под Windows тоже. Точнее Linux-ом в виртуализации внутри которого уже запускался в контейнере Докер как в Linux.

Что то изменилось в последних версиях Докера?

Понятия не имею. Я видел его только с виртуалкой.
И тут я понял что вопрос у вас получился маленько двоякий — внутри докера в смысле внутри контейнера с nginx или в поставке с самим докером/исходниках докера.

Понятия не имею. Я видел его только с виртуалкой.


Docker изначально разработан для эксплуатации на серверах Linux.
И там он запускается в легковесных контейнерах. Которые куда как легче полноценных виртуальных машин.

А под Windows и MacOSX приходится запускать Docker в виртуалках вынужденно и только для целей отладки. Для «боевой» эксплуатации Docker в этих операционных системах не предназначен.

Отвратительная статья.

— Как сделать nginx безопасным?
— Поставьте вот этот Docker-контейнер.
— Всё?
— Да.
— А подробнее как-то нет? Теория какая-то, примеры, как это в контейнере устроено?
— Нет, а зачем? Вам мало собранного Docker'а? Сейчас разбираться в любых вопросах не модно, надо пользоваться готовыми Docker-контейнерами.

И вишенкой на торте if'ы в конфиге nginx.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий