Задать вопрос
  • В какой контейнер ставить сертификат Lent`Encrypt в NGINX-front или NGINX-backend?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Во первых для вашего определения того, что вы называете "фронт" есть официальный термин - реверс прокси.
    И конечно же сертификаты должны быть на нем.
    Ответ написан
    Комментировать
  • Как оценить сложность проекта и найти грамотных исполнителей?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Если для написания тз у вас не хватает компетенций, то для начала сделайте юзерстори и/или майндмап. Распишите все возможные действия пользователя + желательно самые простые картинки как это +- выглядит и как работает. Во первых оцEните объем работ, во вторых откроете для себя кучу нюансов различного характера, в третьих с этим уже можно идти к более-менее адекватной команде за ПРИМЕРНЫМ ценником.

    Более простой путь - тыкнуть пальцем в готовое решение и сказать "хочу такое". Минус - скорее всего как при реализации так и при приеме вы можете упустить часть функционала (что впрочем может случиться и в первом варианте), так же, в любом случае административная часть чужого проекта вам будет недоступна и ее нужно будет описывать самому.

    Ну и третий путь, скажем так, совсем кривая дорожка - взять готовые решения, кои всегда существуют для популярных задач. Плюсы - дешево и быстро. Минус - скорее всего качество околоплинтусное.
    Ответ написан
    Комментировать
  • Как оценить сложность проекта и найти грамотных исполнителей?

    @Everything_is_bad
    Программисты тут самое простое, ищешь специалиста который способен организовать их работу, он тебе все и расскажет. Основная проблема тут куча выплат, вот реши сначала эту проблему с юристами и бухгалтерией, это не так просто как кажется на первый взгляд.
    Ответ написан
    Комментировать
  • Как оценить сложность проекта и найти грамотных исполнителей?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Оценить можно не идею. Оценить можно ТЗ.
    Если ТЗ подробное, достаточное чтобы по нему взять и работать, то оценить сможет любой разработчик, который имеет опыт в фрилансе (имеется в виду разработчик, который умеет посчитать работу в часах, потому что те, кто работает просто на зарплату, и задачи ему дают сверху, обычно не сможет быстро оценить).

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

    Вы вот можете предположить сколько стоит дом построить. Но вряд ли сходу скажете, сколько берет архитектор, который этот дом просчитывает, а архитектор собственно и делает основную часть ТЗ, по которой уже можно и стоимость материалов рассчитать и количество работы прикинуть.

    Короче наймите специалиста для составления ТЗ и ориентировочной стоимости. Может быть этот же специалист вам потом и задачу выполнит. А может посчитаете, что слишком дорого.
    Ответ написан
    Комментировать
  • Как проверять файлы в S3 хранилище?

    @vitaly_il1
    DevOps Consulting
    Я в AWS использую https://aws.amazon.com/blogs/apn/amazon-s3-malware... Amazon S3 Malware Scanning Using Trend Micro Cloud One
    Ответ написан
    Комментировать
  • Как проверять файлы в S3 хранилище?

    @rPman
    Сохраняя сразу в s3 хранилище, увеличиваешь стоимость в ~два раза (каждый файл будет загружен и выгружен, т.е. дважды), а у амазона к примеру стоимость сетевого трафика грустная. И да, проверить по кусочкам файл не получится, антивирусу файл нужен целиком. В принципе на сколько я знаю есть s3fs-fuse - файловая система где файлы грузятся с s3 прозрачно, возможно, если антивирус не проверяет все типы файлов, а проверяемый является архивом, то это может дать какой то бонус, но нужно еще удостовериться что эта файловая система так умеет... да и не стоит так усложнять все.

    Оперативка дороже диска, примерно на порядок (особенно с ростом размера файлов), с другой стороны до сотен мегабайт хватит держать файл в оперативке. Не вижу особой проблемы складывать файл на диск, проверять его и только после этого заливать в хранилище. Поэтому складывай на диск, проверяй, можешь параллельно запустить сохранение в s3 (потом прервешь или удалишь загруженное, если обнаружишь вирус).

    docker не про безопасность а про изоляцию (для организации специфический версий библиотек), он не нужен именно для проверки файла на вирусы
    Ответ написан
  • Почему падают сайты 502/504?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    Дома с переломом ноги
    Пока пришли к теории, что 5-6 секунд это много для получения ответа

    Если нет никакой индикации, что что-то происходит (ничего не крутится, не вертится, не мигает, не обновляется) - я считаю, что какая-то фигня, закрываю вкладку и открываю заново.

    Сайт еще не закончил предыдущий запрос, а ему уже прилетел новый. Старый воркер еще ждет, удерживает память под данные (которые уже никому не нужны), апач задействует новый воркер - вот Вам и сотни воркеров, которые выедают всю память...
    Ответ написан
    3 комментария
  • Как системному администратору свичнуться в Devops-инженеры?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    Хорошему сисадмину, фактически, достаточно найти компанию с налаженными девопс-практиками. Среднему - подтянуться до хорошего.

    https://roadmap.sh/devops в помощь
    Ответ написан
    Комментировать
  • Как системному администратору свичнуться в Devops-инженеры?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Начать надо с того, что нужно научиться гуглить, прежде чем задавать какие-либо вопросы, особенно такие.
    И это вовсе не шутка - человеку, не умеющему самостоятельно искать ответы на вопросы, будет трудно быть devops инженером.
    Ответ написан
    Комментировать
  • Регистрация по номеру телефона?

    @knigaman
    Первый запрос = принимаем на сервере номер телефона, генерируем токен (случайная строка длиной, предположим, 64 символа - цифры, буквы большие и маленькие), отправляем его на клиент. Генерируем код доступа, отправляем его смской на телефон. В зависимости от логики можем и не отправлять (если допустим у нас метод для логина а такого юзера еще нет (он еще не зарегистрирован)).

    Второй запрос = отправляем с клиента токен (тот 64 символьный полученный от сервера) и строку с кодом из смс. Проверяем на сервере токен и код из смс, если все ок - пускаем в аккаунт.

    Примечания:
    1) токены и сами попытки входа должны жить определенное количество времени, предположим 5 минут.
    2) попытки ввода кода (неправильные вводы) должны быть ограничены разумным числом (ну допустим 5 попыток)
    3) если можно то лучше код сделать длиннее - хотя бы 6 цифр, а лучше 8 и более.
    4) попытки входа в аккаунт можно ограничить, но тогда будет можно абузить эту "фичу" и блокировать вход чувакам, тут выбираем меньшее из зол исходя из бизнес требований
    5) можно экономить на смсках и доставлять код в последних цифрах номера / голосовой озвучкой, отправлять в вк, ватсап, телеграм, вайбер

    500 айкью примечания для кое какой защиты от слива бюджета:
    1) можно юзать капчу (можно не всегда а когда начинается аномалия по отправке кодов - всплеск количества отправок)
    2) как уже и говорил разделение входа и регистрации
    3) ставим бот защиту от какого нибудь сервиса по защите от ддос/бот атак
    4) иногда можно не отправить код а отправить клиенту респонс что код отправлен, если клиент вводит код - скорее всего это атака. человек же запросит код повторно (потому что он тупо ему не пришел)
    5) иногда можно отправить код не сразу а через предположим, 30 секунд - если ввели код раньше - значит что-то не так
    Ответ написан
    9 комментариев
  • Почему не получается выйти в инет через WireGuard из под виртуалки?

    @Drno
    Как указали в коменте надо на сервере -
    включить форвардинг в ядре -
    echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
    sysctl -p

    Включить masquerade для WAN интерфейса на сервере -
    iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

    Ну и не забыть отключить фаерволл - ufw disable
    Ответ написан
    Комментировать
  • Как мне защитить файл подключения к бд?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    <?php
    $mysecret = 'supersecret';

    Минимальный совет из "PHP Правильный путь" звучит как храните свои конфиги хотя бы в виде php файлов.
    Предположим, что мы сохранили такой скрипт в корне www.
    При правильной настройке сервера посетитель увидит пустой экран по урлу //your.site/script.php
    так как в нашем файле нет команд вывода.
    В первой строке полный синтаксис, в варианте "<?" может случиться ситуация показа исходного текста, если сшорт таги отключены. И остается риск того, что php отвалиться и будет показываться исходный код.

    Обще принятой практикой сейчас считается подход, когда все исходные файлы лежат выше диретории www рут.
    В самой директории только один скрипт точки входа (index.php)

    Ваши пароли скорее утекут по другой причине, чем из-за того, что к скрипту обратяться на прямую.

    Вы используете eval c данными от пользователя или на сайте можно загружать через форму файлы.
    На шаред хостинге ошиблись с разделением прав для ftp.

    У Вас используются системы контроля версий кода и конфиги не добавлены в игнорируемые.
    Ответ написан
  • Как мне защитить файл подключения к бд?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Такие файлы кладут вне директории, которую обслуживает веб-сервер. Примерно так:
    ./db.php
    ./public/index.php

    В db.php вы подключаетесь, реквизиты храните в нём же или в .env-файле рядом (или ещё как-то), а в настройках веб-сервера в качестве корневой директории указана public. Тогда через него невозможно будет обратиться к "секретному" файлу.
    (есть ещё всякие уязвимости, которые делают такую защиту всё же не стопроцентной, но они далеко за рамками данного вопроса).
    Ответ написан
    6 комментариев
  • Как создать docker-контейнер в проекте на Yii2, в котором бы работал cron?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Почитать "Запуск cron внутри Docker-контейнера" и разочароваться.

    Почитать про "supercronic" воодушевиться и добавить supercronic в образ с backend, затем из образа backend запустить контейнер, собственно, с backend и из этого же образа запустить supercronic в соседнем контейнере, в котором и будет выполняться целевая команда по расписанию заданному в crontab
    Ответ написан
    1 комментарий
  • Как перенсти ОС с HDD на SSD?

    hint000
    @hint000
    у админа три руки
    Можно ли из под Windows перенести
    Не надо из под Windows. Надо из самого Debian.
    1.1. через sfdisk выгрузить дамп таблицы разделов HDD в текстовый файл;
    1.2. поправить размеры разделов (если несколько разделов ext4, то с учетом их заполненности), чтобы суммарно влезло на 120 ГБ (на самом деле нужно через fdisk -l проверить точный размер SSD в мегабайтах; возможно, там чуть меньше, чем 120 ГБ);
    1.3. через sfdisk залить исправленную таблицу разделов на SSD;
    2. сделать обычное пофайловое копирование ext4-разделов с HDD на SSD, а лучше потоковое копирование через tar (dd не годится, потому что размеры разделов уменьшились);
    3. скопировать через dd первый сектор диска, в который обычно ставится grub;
    4. если есть раздел EFI, то его целиком скопировать через dd;
    5. PROFIT
    Когда у вас Linux, то для такого переноса даже не требуется cпециальное ПО, всё можно сделать стандартными средствами Linux.

    P.S. Не помешает перед копированием файлов перемонтировать файловые системы на HDD в режиме read-only.
    Ответ написан
    Комментировать
  • Как освободить место на диске облачного сервера Ubuntu 24.04 LTS 64-bit?

    @Esm322 Автор вопроса
    vreitech pfg21 Adamos Всем спасибо. Проблема оказалось в том, что докер не удалил остановленные контейнеры
    Ответ написан
    2 комментария
  • Как освободить место на диске облачного сервера Ubuntu 24.04 LTS 64-bit?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Магическая команда (из под рута), чистящая все логи всех контейнеров docker
    truncate -s 0 /var/lib/docker/containers/*/*-json.log

    А после этого изучать, как ограничить объем логов docker в /etc/docker/daemon.json, который по умолчанию не лимитирован.
    Ответ написан
    Комментировать
  • Как освободить место на диске облачного сервера Ubuntu 24.04 LTS 64-bit?

    @pfg21
    ex-турист
    Обычно хлам складывают в /var. К примеру почистить /var/log от старых файлов

    На будущее поставить ncdu
    Запускать sudo ncdu -x /

    /dev/sda1 это виртуальный файл, представляющий себя раздел на носителе, содержащий файловую структуру корня системы (прописано в Mounted on)

    п.с. а Линукс необходимо изучать....
    Ответ написан
    Комментировать
  • Почему busybox wget не работает, пока не запустить вручную openssl?

    @junecover Автор вопроса
    Сам спросил, сам и отвечу.
    Лишний раз подтвердилась народная мудрость, чтобы найти ответ, надо правильно сформулировать вопрос. Гугл помог найти решение по запросу "busybox wget is shitty". Я не силён в английском, поэтому не стану углубляться семантику этих слов. Кому надо, тот сам поймёт.

    Теперь ближе к теме.

    У busybox wget есть давняя неисправнось в некой сущности "Support HTTPS using internal TLS code". Попросту говоря эта часть безнадёжно устарела и не работает в 2025 году.
    Решение проблемы:
    Скомпилировать busybox с отключённой опцией
    -> Networking Utilities
        -> wget (41 kb) (WGET [=y])
          FEATURE_WGET_HTTPS [=n]

    и со включённой опцией "Try to connect to HTTPS using openssl"
    -> Networking Utilities
        -> wget (41 kb) (WGET [=y])
          FEATURE_WGET_OPENSSL [=y]


    И ещё добавить алиас:
    alias wget='wget --no-check-certificate'
    Тогда busybox-овский wget станет сам без лишних пинков работать с https.

    Почему так? Ве́домо только разработчикам busybox.
    Ответ написан
    2 комментария
  • Что за странный трафик при просмотре онлайн кино на серверах лордфилм?

    Daemon23RUS
    @Daemon23RUS
    с телефона образуется сначала множество DNS-запросов к несуществующим доменам типа f03ef30f-719a-4fa6-b084-4682851d9698.local

    Bonjour/Avahi мультикаст DNS (mDNS)
    Вполне прогнозируемое поведение, посмотреть а нет ли случаем в ближайшем окружении мультикаста с просматриваемым контентом.
    а затем многочисленные UDP-подключения к самым разным IP-адресам и портам >10000
    скорее всего пиринг
    Ответ написан
    2 комментария