Задать вопрос
  • Резко снизилась скорость сети через VPS, что может быть?

    @ElxkoT
    Для проверки ограничений протокола можно попробовать сделать тест через iperf по прямым адресам и через тоннель, сравнить результаты.
    В случае проблем с подключением до сервера без тоннеля, замерить потери до него через утилиты вроде WinMTR и в зависимости от того, на каком узле происходят потери, с результатами обращаться в техподдержку провайдера или хостера.
    В случае проблем с подключением только при использовании VPN, попробовать настроить VPN другого типа
    Ответ написан
    Комментировать
  • Как установить нужную версии aiogram PyCharm?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    $ cd /d project
    $ python -m venv venv
    $ venv\Scripts\activate
    $ pip install aiogram==2.25.2
    $ pip install aiohttp==3.8.1

    Либо, попробуйте более старую версию aiohttp:
    $ pip install aiogram==2.25.2
    $ pip install aiohttp==3.7.4

    Затем, под виртуальным окружением (как под грибами), запускаем скрипт, визуально, это будет выглядеть примерно так:
    user@PC C:\project
    $ venv\Scripts\activate
    (venv) user@PC C:\project
    $ python main.py

    P.S. команды под Windows, для Linux некоторые из них будут слегка отличаться.
    Ответ написан
    3 комментария
  • Gateway fallback, или как сделать VRRP на коленке?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Берёте keepalived и натягиваете на него нужные скрипты с модификацией маршрутов.
    Ответ написан
    2 комментария
  • Как взламывают БД (MongoDB)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Не факт, что взламывают именно базу напрямую. Возможно скомпроментирован сервер, и в нем уже висит какой-то бекдор, через который ходят и вашу базу от имени локального mongo юзера коцают.
    Ответ написан
    Комментировать
  • Как взламывают БД (MongoDB)?

    mikes
    @mikes
    нарисуйте схему взаимодействия компонентов приложения и что именно торчит от него в публичной части. будут понятны векторы атак.

    вангую что ломают вас не через субд как таковую (хотя держать ее с доступом извне странно) а через приложение. где то там есть возможность проводить инъекции и тд
    Ответ написан
    Комментировать
  • Windows 2019 terminal server два вопроса по AppLocker, и по смене пароля ползователя?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Яндекс-браузер - так и ставится в профиль пользователя. А поставить его крайне настойчиво предлагает сам Яндекс при посещени поисковика...

    С AppLocker есть проблема легкого обхода, тут даже на хабре были статьи. Плюс там надо делать хэш, а это значит что даже Хром и Edge при каждом обновлении будет выпадать из белого списка...
    Тем не менее - этот вопрос решается и решение не техническое, а организационное. Запрещаете приказом, знакомите с приказом, включаете при необходимости в положение о премировании, должностную инструкцию, трудовой договор.
    Потом делаете аудит и снижаете премию пойманным, с публикацией приказа внутри организации, чтоб остальным было неповадно. Рецидивистам делаете дисциплинарные взыскания и увольнения. И проблема решается - пусть и не техническими методами. В том числе с кадрами типа "ой, а оно само, я ничего не делалала, я в этом ничего не понимаю".

    Не очень хорошо, но можно сделать скрипт, пробегающий профили и всем исполяемым файлам (.exe, .com, .msi, .msp, .bat, .scr, .js, .dll), навешивает аттрибут запрет исполнения. При этом отбираете у профиля пользователя полные права на файлы профиля (только в разрезе смены прав и выполнения), и удаляете права для создателя файла. Потребуется немного в политиках объяснить системе, что без полных прав тоже приемлемо. Тогда скачать они смогут, запустить нет. При этом нужно запрещать создание папок на диске С и запрещать исполнение файлов на других сетевых ресурсах.
    Можно поиметь проблем с совместимостью с ПО, надо тщательно тестировать.

    Отключать проверку пароля на уровне сети - крайне опасная затея. Т.к. терминальная сессия становиться доступна без пароля и соответственно все уязвимости доступны злоумышленникам в полной мере. Особенно если она "светит" наружу.

    Система напоминает о скорой замене, по умолчанию за две недели, но многие пользователи обладают выборочной слепотой и не видят уведомление. Попробуйте настроить скрипт рассылки ИМ писем, когда пароль заканчивается и что его пора сменить. А для особо запущенных случаев, если не хотите, чтоб каждое утро у вас начиналось со смены паролей - есть жестокий способ - при обращении пользователя меняйте ему пароль, но на серийники от Windows XP или что-то подобное. После пары вводов такого пароля - они сразу и резко научаются их менять и перестают забывать (кроме отпусков).

    Еще не забывайте про утекшие пароли, через которые вам однажды занесут шифровальщика. Раньше такой проблемы не было, сейчас она очень острая. При чем атаковать вас будет не вирус, а человек оборудованный головным мозгом. Поэтому на внешних терминалах обязательно прикручивайте двухфакторку. Тот же MultiOTP бесплатен, и умеет дружить с Active Directory. А на смартфоне он совместим с кучей программ, вплоть до Google Authenticator.
    Уж если вам так хочется решить проблему паролей - сделайте их бессрочными, разрешите сохранять на клиентских устройствах, но оставьте проверку одноразового ПИН-кода из аутентикатора.
    Тогда пользователь при подключении введет пароль, поставит галку "сохранить", а дальше будет заходить фактически только по ПИНу, украсть который нереально (ну пока что).

    З.Ы.
    По возможности завязывайте с серверами 2019, 2016, 2012 и т.д. Сейчас актуален 2022. На 2019 уже начинается "проблема Windows XP".
    Ответ написан
    1 комментарий
  • Насколько реализуемо сделать бота анонимайзер?

    Wispik
    @Wispik
    А какие способы и направления нужны, если все в вопросе расписано?
    Получаешь ботом сообщение в одном чате -> отправляешь его в другой чат. Всё!
    Ответ написан
    1 комментарий
  • Какие можно посмотреть курсы/уроки по практике на rust?

    vabka
    @vabka Куратор тега Rust
    Оставлю шутки, про "выучил раст" в стороне и пойду по порядку, тем более что судя по недавним вопросам - заявление крайне смелое.

    0. По хорошему стоит подтянуть математику, тк она помогает абстрактно мыслить, а без этого в разработке будет крайне тяжело. (Опять же по соседним вопросам - математика не дотягивает даже до 9 класса мбоу сош).
    В принципе на этом моменте тебе больше не нужно будет задавать подобные вопросы.

    1. Проверь, что ты действительно прочитал хотябы растбук и понял его.

    2. Определись с тем, что ты будешь делать.
    Смотри что тебе больше нравится в индустрии и тем, где тебе будет приемлимо заработать. Тут решишь, что тебе приятнее - крипта, фриланс, свой какой-то мини бизнес, или найм в какую-то крупную компанию.

    3. Найди библиотеки, фреймворки для этого. Читай документацию, смотри примеры, делай какой-нибудь личный проект для практики. Сделай до завершённого состояния.

    4. На этом шаге можно уже смело пытаться заработать в п2

    Всё очень абстрактно, тк сильно зависит от того, что ты сам хочешь.
    В принципе за пару лет вполне реально управиться.

    PS: в последнее время мне нравятся видосы decrusting ... от чела https://youtube.com/@jonhoo?si=9VbtXlH4dgdCrwQ-
    Три часа непрерывного разбора всех абстракций какой-то библиотеки
    Ответ написан
    Комментировать
  • Как сделать делать демо доступ к сайту на Django без абуза со стороны юзера?

    @iljaGolubev
    3. Отдельные сервера для демо. Без "регистрации и смс" валидации почты, телефона и чего там ещё на основном. Хард-ресет демо окружения каждые X минут (удаление сессий, очистка баз).
    И пусть себе играются пока могут.

    4. Общий юзер для всех demo / demo@mail
    Ответ написан
    Комментировать
  • Как сделать делать демо доступ к сайту на Django без абуза со стороны юзера?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    логин demo(demo@site.ru) пароль qwerty или demo
    Внутри сам решишь чего этой учетке можно.

    Все остальное раздражает. Хочу за 15 секунд попасть во внутрь, а не делать какие-то действия связанные с персональными данными

    Можешь у своих пользователей сделать состояние (подписка истекла), только реальный ее может продлить, а демке это запрещено
    Ответ написан
    Комментировать
  • Сложная маршрутизация на linux роутере. Как правильно готовить policy based routing?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    По поводу этого лучше всего начать с LARTC HOWTO.

    Если кратко, маршрутищация в iproute2 устроена так. Есть несколько таблиц маршрутизации, из которых 3 есть всегда (local, main, default), но можно создать ещё. По правилам (команда ip rule) перебираются таблицы, подходящие под условия, в соответствии с приоритетами (preference, первое число в выводе команды). И в каждой таблице есть свои маршруты. Таблицу local изменять нельзя и перед ней ничего маршрутизировать нельзя (это можно обойти через nat в PREROUTING, но это уже другой вопрос).

    Самый простой вариант - это source routing. Впервые мне это понадобилось, когда я подключил дома второго провайдера с внешним IP, и мне потребовалось отвечать с обоих внешних адресов со всего интернета. Делается так:

    1. В /etc/iproute/rt_tables описываем псевдонимы для новых таблиц (необязательно - можно использовать числовые идентификаторы - но так удобнее). Например, 10 - isp1, 20 - isp2.

    2. Задаём правила, которые приведут к выбору таблицы в зависимости от source address:

    ip rule add pref 10 from IP1 lookup isp1
    ip rule add pref 20 from IP2 lookup isp2

    3. В каждую таблицу добавим маршрут default через нужного оператора:

    ip route add default via GATEWAY1 table isp1
    ip route add default via GATEWAY2 table isp2

    4. В таблице main (которая используется по умолчанию, если не указать таблицу в команде явно) описываем маршрут "по умолчанию" - через того оператора, через которого будет идти исходящий трафик (не ответный на входящий), в данном случае пусть будет isp1:

    ip route add default via GATEWAY1

    Всё это иногда можно в той или иной степени засунуть в конфиги сети (зависит от дистрибутива Linux весьма существенно), а иногда приходится делать скриптами, в том числе, возможно, вызываемыми через hook системы инициализации сети (я, например, обновлял маршрутизацию через postup-хук dhcp-клиента и из скрипта, который поднимал pptp-vpn).

    В дальнейшем всё это обросло кучей других особенностей, например, ip rule fwmark по меткам, которые ставилилсиь в iptables по connmark и иногда другим условиям, но это уже следующий уровень сложности и более специфичне задачи. И LARTC HOWTO почитать всё равно рекомендую, ибо там основа основ и все гуру по нему учились.
    Ответ написан
    3 комментария
  • Почему Python не видит библиотеку?

    @Everything_is_bad
    import SpeechRecognition
    вот откуда ты взял этот код? Сам придумал? Открой доки SpeechRecognition и почитай как его использовать. И это надо делать сразу, перед тем как бежать сюда
    Ответ написан
    Комментировать
  • Как правильно разбить csv файл?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Прочитать файл построчно, разбить каждую строку по разделителю, условным оператором проверить, что первый элемент начинается с "example", в истинном блоке записать строку в один файл, в ложном в другой. Либо примерно то же, но с помощью спискового включения с группировкой.
    Ответ написан
    Комментировать
  • Как найти проблему в локальной сети?

    @Gansterito
    Нужно начать со структурирования сети:
    1) Убрать гирлянды, каждый коммутатор должен быть включен в один центральный "агрегатор", лучше L3.
    2) Сегментировать L2 домены с помощью VLAN.
    3) Настроить механизмы Loopback detection/Storm control и пр.
    4) Настроить DHCP Snooping/IP Source Guard и пр. для ограничения статических IP.
    5) Мониторинг: опрос всех устройств по SNMP, сбор логов по SYSLOG.
    Ответ написан
    Комментировать
  • Почему VS Code не распознает, что функция вернет tuple?

    Vindicar
    @Vindicar
    RTFM!
    Потому что оба оверлоада неразличимы - они ОБА показывают один аргумент типа bool.
    И да, а если аргумент не указан, что вернёт функция? Из твоего кода это неясно вообще, так как у тебя два противоречащих варианта.
    Тебе надо что-то типа...
    @overload
    @classmethod
    def get_mac_address(cls, with_gateway: typing.Literal[False] = False) -> str:
        ...
    @overload
    @classmethod
    def get_mac_address(cls, with_gateway: typing.Literal[True]) -> tuple[str, str]:
        ...
    @classmethod
    def get_mac_address(cls, with_gateway: bool = False) -> typing.Union[str, tuple[str, str]]:
        ...
    Ответ написан
    3 комментария
  • Где у меня дыра в SMTP?

    ValdikSS
    @ValdikSS
    Запустите mailq и посмотрите, что за письма и от кого у вас в очереди. Далее смотрите заголовки в самих файлах писем, в них будет IP-адрес источника.

    Если источник 127.0.0.1, то могу предположить, что у вас на этом сервере установлен некий прокси (HTTP/SOCKS), разрешающий доступ в локальную сеть, и письма отправляют через прокси, а postfix считает их локальными и не требует аутентификации — это довольно типичная мисконфигурация.

    Если прокси нет, быть может, у вас включена маршрутизация общая, маршрутизация в localhost (net.ipv4.conf.*.route_localnet), в таком случае соседи по датацентру также могут маршрутизировать вам трафик в 127.0.0.1 (это нетипичная и редкая конфигурация, но иногда такое может встречаться [1], [2]).
    Ответ написан
    2 комментария
  • Как настроить проброс ARP пакетов (ARP-proxy) через OpenVPN туннель Mikrotik-Mikrotik?

    @agpecam
    Мы не знаем достоверно как "обнюхиваются" приложение и телевизор. Broadcast-arp - это может быть просто следствием пробы определенных портов. Ок, если предположить, что приложение ищет в сети устройства определенного производителя по первым 3 октетам MAC, то значит оно сканирует все IP подсети, к которой подключено. Иных способов, кроме ARP запрос who has IP... для получения MAC протокол ARP не предполагает. В этом случае, во-первых, у вас телевизор в другой подсети, а во-вторых ARP-proxy на такой запрос ответит своим MAC, а не MAC телевизора с закономерными последствиями. Если ищет перебором IP : some port и в приложении нет возможности задать не свою подсеть - результат тот же.
    Вам по сути нужно поместить сети офисов в один L2 сегмент, т. е. на микротиках сделать OpenVPN mode: ethernet, внести tap интерфейсы в bridge локальной сети и дать понять приложению, что удаленная сеть находится с ним в одном L2 сегменте, например, с помощью DHCP option 121, т. е. переделать всю сеть ради телевизора. Оно вам надо?
    Ответ написан
    1 комментарий
  • Как настроить webhook для бота aiogram 3 и nginx?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Код на python использует polling, причём тут вебхуки? Для вебхуков надо web app сделать, который их принимает. Вот в документации пример: https://docs.aiogram.dev/en/latest/dispatcher/webh... и там же есть образец настройки nginx.
    Ответ написан
    Комментировать
  • Стоит ли идти на практику в компанию?

    Wispik
    @Wispik
    Почему часто ставится вопрос или то или то? Почему нельзя совмещать? Никто не мешает ходить на практику, а в свободное время делать свой пет проект (условно по тем же выходным). Тем более пет проект - это не фултайм работа, а хобби.
    Плюсы практики это общение с людьми, которые умеют писать код. И как ответили выше уйти можно всегда
    Ответ написан
    Комментировать
  • Стоит ли идти на практику в компанию?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если это официальный найм с записью в трудовой, то идти не задумываясь. Сейчас тысячи обладателей вышки месяцами дерутся за вакансии, готовые работать даже бесплатно ради получения первой записи в трудовую.
    Ответ написан
    Комментировать