Задать вопрос
  • Как системному администратору свичнуться в 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 комментария
  • Как корректно добавлять каталоги в linux для пользователя?

    @SunTechnik
    Без пример конфига и не зная, что у Вас задублировалось, можно только гадать о том, что происходит реально.

    Пример настроек, с комментариями, приведены тут:
    https://www.altlinux.org/Pam_mount

    Надо учесть, что в Linux отличается идеология монтирования сетевых ресурсов от Windows.

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

    В Linux - диски монтируются в систему. Пользователь инициирует подключение, но все подключенные диски видны всем пользователям, которые залогинены в систему (в том числе и по ssh).
    Ответ написан
    3 комментария
  • Где на самом деле лежит и как называется файл hosts в windows?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Битность программ не совпадает с виндой. 32-битный Notepad++ не видит папку etc, 64-битный - видит.

    Ваша фраза: "новые (относительно) ищет", видимо, говорит о том же.

    В 64-битной версии Windows папка C:\Windows\System32 содержит 64-битные файлы и библиотеки. Однако, если вы запускаете 32-битное приложение, такое как 32-битная версия Notepad++, Windows перенаправляет запросы к этой папке в C:\Windows\SysWOW64, где находятся 32-битные версии библиотек.
    Это означает, что 32-битное приложение не сможет увидеть или получить доступ к файлам в C:\Windows\System32, включая папку etc, если оно пытается открыть ее через стандартный интерфейс.
    Ответ написан
    3 комментария
  • Как правильно бэкапить в этом случае?

    @Misteg
    Пофайловвй бэкап нужен для восстановления при дизастере? Нет, такой бэкап не подойдет.
    Если нужно восстановить как было (прям всё) - тогда проще делать снимок lvm и его отправлять на сервер бэкапов. Потом с этого же снимка можно раскатать все.
    Но все же, докер директории я бы не бэкапил, а этом же прелесть докера - взял и развернул где угодно тоже самое приложение. Если в контейнер смонтированы директории с какими-то файлами - бэкапить эти директории. Если это база в докере - бэкапить средствами базы.
    Ответ написан
    6 комментариев
  • Почему возникает ошибка ERR_HTTP2_PROTOCOL_ERROR 200?

    @RuComMarket Автор вопроса
    Битрикс FullStack разработчик
    сам разобрался, может кому пригодится
    отключил касперского и все заработало
    Ответ написан
    Комментировать
  • Какая программа восстановления данных может не показывать существующие файлы?

    @Refguser Автор вопроса
    Решения для бизнеса: от создания ИМ до...
    Путём перебора и экспериментов выяснил, что этим функционалом обладает Recuva.
    Но у меня при восстановлении не сохранялась структура каталога - оказалось нужно внимательнее смотреть настройки. Отметил нужный чекбокс - всё восстанавливается как надо (конечно из того, что можно).

    Более того из всех программ сборки 2k10 только она видела то, чего не видели другие программы (R-Studio, несколько разновидностей Active@, и ещё парочку.)
    Ответ написан
    4 комментария