• Как сделать Linux более безопасным?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    гуглите "linux hardening"
    Ответ написан
    Комментировать
  • Создал личный сервер в майнкрафт. после закрытия программы Putty, сервер закрывается (я полный ноль, все делал по гайдам), что делать?

    @rPman
    после авторизации в putty нужно запускать screen и уже в нем запускать сервер.
    Что бы подключиться позже к этому screen, нужно запускать его с опцией screen -rd (-d это закрытие уже открытого соединения с screen в другом окне или если оно 'повисло', например если закрыл putty не закрыв screen с помощью кнопок ctrl+a d)
    Ответ написан
    2 комментария
  • Провайдеры связи всегда в курсе всего, что происходит?

    У провайдера стоят как минимум 2 железяки СОРМ и ТСПУ, а как правило еще и свой dpi, кроме того пишутся логи nat и NetFlow, т.ч. да все в том или ином виде, как на ладони... А еще все пишут и операторы мессенджеров и соцсетей, да и операторы VPN, которые не хотят, чтобы их блочили тоже пишут и делятся, tor тоже при должном старании и стремлении разматывается. Всё вам правильно сказали, хотите анонимности - личные встречи а лучше закладки. Но если вам есть чего бояться, значит что-то вы делаете не так.
    Ответ написан
    1 комментарий
  • Какой Roadmap для системного администратора?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Первое, что нужно изучить настоящему системному администратору- это привить себе навык гуглить и самостоятельно размышлять над результатами поиска вместо того, чтобы задавать вот такие вопросы. И это не стёб, я вполне серьезно.
    Ответ написан
    3 комментария
  • Архитектура кластера баз данных для географически распределенного проекта?

    Eugene-Usachev
    @Eugene-Usachev
    Если "чат/мессенджер/что-то подобное", будет лежать очень много данных. То есть профили можно сохранить хоть в Postgres + Redis (шардированный по регионам), и иметь вполне себе хорошую производительность. Проблема будет именно с сообщениями.

    Если решать проблему по логике "почему бы не стремиться к 8 млрд пользователей", для профилей можно взять Aerospike или Tarantool. Оба решения имеют возможность шардирования по вторичным ключам, так что их можно разнести по разным регионам. Причём надо именно шардироваться, а не только реплицироваться. Таким образом, можно избежать "узких горлышек". В этом случае оба решения будут выдавать более миллиона запросов в секунду на один кластер с маленькой задержкой (скорее всего двухзначной в медиане) и не иметь единой точки отказа.

    С сообщениями сложнее, так как их будут петабайты. Тут советую не "изобретать велосипед" и взять ScyllaDB, как это сделал Discord. ScyllaDB работает с огромными массивами данных довольно быстро и прекрасно масштабируется. Ради двухзначных чисел задержки в медиане достаточно шардироваться по регионам.

    Выводы очень простые. Если "стремиться к 8 млрд пользователей" надо
    1 - использовать нереляционные СУБД
    2 - шардировать БД по регионам (тогда можно отказаться от очередей)
    3 - использовать кэширование "горячих" данных
    4 - использовать Write-Optimized СУБД для больших массивов данных.

    Если у Вас "8 млрд пользователей" Вы можете позволить себе по датацентру в каждом регионе, поэтому основной задачей является правильное шардирование. И ещё один совет. Если гнаться за производительностью, надо использовать не очереди сообщений, а многопоточные асинхронные серверы, которые "кучкуют" сообщения пачками, чтобы как можно реже обращаться по сети.
    Ответ написан
    1 комментарий
  • Возможно ли использовать модель LLAMA-405B на обычном железе 64GB + 8GB?

    @rPman
    Да, уже считал, и это действительно реально, с относительно небольшими затратами (16-20т.р.) если тебя устроит скорость исполнения в 15-30 секунд на токен (на твоем железе llama31-70b на процессоре и 64гб оперативке будет работать токен в 1-1.5 секунд).

    Необходимо собрать самый дешевый pcie nvme ssd программный raid0, купив контроллер pcie-x16 3.0 или 4.0 из четырех разъемов nvme либо четыре pcie-4x дешевых 3.0 и закупить самые дешевые nvme ssd диски от 128гб (со скоростями чтения от 2гбайт/сек).

    Затем собрать из них raid0 с чередованием (win/linux это поддерживают) и разместить на нем gguf файл. llama.cpp поддерживает загрузку файла с весами с диска, без выделения оперативной памяти (но она нужна на контекстное окно, в зависимости от его размера это будут десятки гигабайт). Файл будет считываться по кругу целиком, по разу на токен, а значит скорость будет определяться именно этим. 2гб/с*4 диска = 8гб/с, 256гб 4бит квантизация будет считываться за 32 секунды.

    Есть еще ограничения в скорости исполнения из-за процессора, но по уму, если бы была оперативная память то типовой десктопный процессор работал бы на скорости 15-20 секунд на токен.
    Ответ написан
    7 комментариев
  • Как в Linux пустить весь трафик через socks5 прокси?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Есть два вида странных людей:
    1. Желающие использовать VPN для определённых приложений.
    2. Желающие использовать прокси для всего трафика.

    В обоих случаях эти люди хотят использовать неподходящие инструменты, из-за чего и возникают сложности. Почему они так делают - вопрос риторический.
    Ответ написан
  • Как перенаправить трафик в 3proxy с локального http на локальный socks?

    смотря что именно надо, например

    auth iponly
    allow *
    parent 1000 socks5+ 127.0.0.1 порт логин пароль
    proxy


    или

    auth useronly
    allow *
    parent 1000 socks5+ 127.0.0.1 порт * *
    proxy


    если надо прокинуть логин/пароль переданные в http прокси в socks
    Ответ написан
    2 комментария
  • Могли ли меня взломать звонком в телеграмме?

    @Everything_is_bad
    50 на 50, при наличие шапочки из фольги, шанс 90%
    Ответ написан
    2 комментария
  • Что за киберзащитники?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Ну, тут надо начать с того - а действительно ли вы КИИ и действительно ли письмо пришло оттуда, откуда написано? А то на заборе написано XYZ, а за забором почему-то .wood
    Ответ написан
    Комментировать
  • Какой алгоритм поиска доказательств наличия spyware на Android?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Хм... полнолуние вроде не скоро...

    Есть интересная закономерность. Время от времени сюда набигает некто, рассказывает жуткую историю о том, что его взломали и он никак не может понять, кто и как это сделал - но упорно отказывается дать какие-либо детали, доказывающие то, что это было на самом деле, а не приглючилось ему по укурке :)

    Технически, описанное провернуть возможно. Наверное. Но это требует нехилых таких компетенций и не менее нехилых расходов - из-за обычного человека на такое вряд ли пойдут :)

    Какие, как говорится, Ваши доказательства? Все, что Вам "намекали" - вполне могли получить другими путями.
    Ответ написан
    9 комментариев
  • Существуют ли технологии блокировки записи с экрана в веб-технологиях?

    @Drno
    Ну скорее всего никак. Кому надо тот всё равно запишет, так или иначе.
    Например я могу запустить ОС в вриртуалке, открыть сайт, а видео записывать средствами управления виртуализацией.. например в Vbox такое есть)
    Ответ написан
    Комментировать
  • Существуют ли технологии блокировки записи с экрана в веб-технологиях?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Даже на закрытых плеерах с DRM эта защита не спасает. Ничто не помешает переткнуть кабель из монитора в карту видеозахвата. Или тупо поставить перед монитором камеру.
    Ответ написан
    Комментировать
  • Какой компилятор выбрать для C++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    gcc - компилятор языка си. Если вы хотите компилировать C++, то запускать надо g++.

    И вообще gcc - он в экосистеме линукс. Чтобы оно работало под виндой, то надо ставить специальную прослойку эмуляции экосистемы линукса, вроде mingv.

    Под виндой легче использовать компилятор от microsoft: msvc. Легче всего его поставить в комлекте с бесплатной версией visual studio.
    Ответ написан
    2 комментария
  • Аппаратный брандмауэр - нужен или нет в моём случае?

    CityCat4
    @CityCat4 Куратор тега Сетевое оборудование
    //COPY01 EXEC PGM=IEBGENER
    Стоит ли приобретать NGFW железку иностранных брендов, если заранее известно, что плюшки подписок невозможны?

    Разве только попонтоваться. Сегодня не подпадаете, завтра подпадете - кто знает, что там придумают завтра?
    если железо куплено на юрлицо в РФ, а подписки на другое юрлицо?

    Работать может и будет. А вот как это будет проводить ваша бухгалтерия - это уже совершенно отдельный вопрос...
    Если посмотреть в сторону отечественных решений (Usergate, Eltex, Ideco)

    Только не ideco :) Однажды меня попросили написать обзор на одну из моделей ideco, дали образ виртуалки, чтобы погонять. Ну я погонял, посмотрел, из чего оно состоит... и честно предупредил заказчика (а это был не ideco) - что положительный образ на это merde я написать не смогу, а отрицательный им наверное не нужен :D
    Это была куча обычных приложений типа squid, strongswan etc, слепленная в одно и сверху покрытая тооооооненьким слоем их оболочки.
    если в организации отсутствует отдел ИБ

    На двести рыл по идее он должен уже появиться. И как раз маршрутизаторы, средства удаленного доступа, всевозможные раздачи и задачи прав - это будет по его части.
    Ответ написан
    2 комментария
  • Какие БД используют крупнейшие торговые сети для хранения заказов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я полагаю, что такие магазины сохраняют всё, например в postgres или greenplum, а затем передают в аналитические базы (или пишут параллельно), типа в кликхаус или oracle?


    XX век прошел под флагом реляционных СУБД. Вокруг них строились все системы.
    Для любой банковской системы БД - абсолютная царица дизайна. Именно от нее шло
    техническое задание. От базы а не от Хибернейта и синтетических таблиц как щас.
    Таблицы любили. Вокруг них строили красивые теории. Модели. EAV. Подгоняли
    аппарат алгебры (Эдгар Кодд со своими формочками).

    В появлением NoSQL и стриминговых систем - пришлось всем признать что реляционка
    исчерпала возможность линейного роста. У Майкла Стоунбрейкера есть статья где
    он меряет БД под нагрузкой и доказывает что треть ресурсов CPU просто сгорает
    в блокировках и защелках и прочих механизмах синхронизации.

    Какой софт использует розничная торговля - сложно сказать. Там будет десяток систем которые
    работают просто всместе как Grid. Например сообщения от кассовых аппаратов и платежных
    систем могут в первую очередь падать в JMS/MQ систему. А уже потом процесситься и ложиться в
    БД операционного дня. И по проишествии периода - сливаться Warehouse и в BigData
    Есть еще вариант что в аналитику сразу попадают данные со стриминга. Я такое видел.
    И это не последняя часть стека. Аналитика в свою очередь является источником для всяких
    BI, витрин данных. ОЛАП-кубиков и прочее что любят смотреть и показывать на презентациях.
    С красивой инфографикой.

    Что использует Магнит - чорт его знает. Это можно поискать по всяким конференциям. Но само
    знание или название продуктов вам ни о чем не скажет. Если они используют допустим
    Kafka+Clickhouse - из этого не следует что вам это пригодится.

    Были странные архитектурные решения. Uber например пытался выжать максимальные мощности
    из Postgres и не смог. Перешел на MySQL. Видимо им было достаточно MyISAM и брали лишь
    только те фичи что надо.

    Facebook строил Rocksdb (Key-Value) с очень сильной оптимизацией по диску. Там уже было
    не R+Tree а другой тип дерева. Тоже видимо у конторы так "пригорело" что им надо было
    штучную NoSQL делать.

    СБЕР по слухам строил на Apache Ignite прослойку между Ораклом и клиентами потому что Оракл
    не справлялся с нагрузками. Впрочем я не могу это нигде доказать. Просто слышал в разговорах
    архитекторов. И это очень штучное и очень деликатоное решение. Другим оно может вообще не подойдет.
    Нужно много думать о механике инвалидации кешей.

    Хедж фонд BridgeWater строит свои хранилища ассетов на базе Amazon S3. Реально эти ребята пихают
    в С3 все что можно. И в этом есть своя стратегия. S3 стоит дешево. И масштабируется. Дешевле чем DBMS.

    Также, я думаю, что множество магазинов могут быть обслуживаться отдельными кластерами, чтобы работа всей сети не остановилась, если какая та БД выйдет из строя?

    Эту задачу тоже можно решать на разных уровнях. Мне нравится решение от Cassandra. Там все
    таблицы имеют 1-2 реплики. И убить всю систему в целом в принципе невозможно пока последний
    датацентр стоит. Но Кассандра платит за это отказом от consistency и вообще она считается не-реляционкой.
    Хотя базовый диалект SQL поддерживает. Фактически она - умный NoSQL c хорошим сетевым протоколом
    обхода сбоев и конфликтов. Кажется Netflix ее активно использует.

    Вобщем можно дизайнить системы по разному усиливая одни части и ослабляя другие.
    Это как тот треугольник дешево-медленно-дорого но в углах стоят разные качества. Например
    CAP-свойства систем. Или приоритеты. Тебе что важно. Быстро записать в БД платеж? Но при этом
    чтение оперативных данных потребует лагов. Или наоборот писать медленно зато чтоб все по ящичкам
    и по коробочкам лежало да и еще в разных копиях и вариациях.
    Ответ написан
    10 комментариев
  • Размещать ли связанный сайт на поддомене, как QNA Habr?

    opium
    @opium
    Просто люблю качественно работать
    Зависит от вашего сеоплана, от него и надо толкаться
    Тостер один из самых грешных примеров так как он был и в директории основного сайта и на отдельном домене и теперь на субдомене, это называется горе от ума, тостеру понятное дело только плохо и до какого нибудь стековерфлоу ему надо набрать популярность в тысячи раз
    Ответ написан
    1 комментарий
  • Хочу купить готовый сайт, как его проверить?

    vabka
    @vabka Куратор тега Веб-разработка
    Доход приносит не сайт, а бизнес. Сайт - один из активов этого бизнеса.
    Покупать соответственно нужно не "сайт", а юридическое лицо с конкретными активами.
    (условно, если это какой-то сайт, который продаёт ключи от игр - надо сразу получать контакты на поставщика этих ключей и инструкции, как разгребать сбои и спорные ситуации, ибо без всего этого ты на тот же самый доход не выйдешь)
    Далее уже смотреть на бухгалтерию и отчёты.
    Ответ написан
    3 комментария
  • Хочу купить готовый сайт, как его проверить?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

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

    Желательно, чтобы ответы на вышеперечисленные вопросы продавцом были где-то зафиксированы, а не только на честном слове и с верой в светлое будущее.
    Ответ написан
  • Как скачать целую ветку форума 4pda и скормить нейросети?

    @rPman
    4pda основан на ip.board, все загружается без танцев с бубном, только осторожно, без авторизации получаются другие страницы чуть в ином формате. Вот пример кода на основе simple_html_dom:
    <?php
    include('simple_html_dom.php');
    
    // ссылка на первую страницу темы
    define('START_URL','https://4pda.to/forum/index.php?showtopic=1084129');
    // количество страниц &st= из ссылки » в навигаторе по страницам
    define('PAGES_CNT',580);
    
    @mkdir('data');
    
    for($i=0;$i<=PAGES_CNT;$i+=20)
    {
    	// формируем url
    	$url=START_URL.($i==0?'':'&st='.$i);
    	// имя кеш файла чтобы не загружать повторно
    	$cache_fn='data/'.md5(START_URL).'.'.$i.'.html';
    	if(!file_exists($cache_fn))
    	{
    		// Загружаем страницу
    		$data=file_get_contents($url);
    		// сохраняем страницу в кеше
    		file_put_contents($cache_fn,$data);
    		// пауза между запросами к серверу для защиты его от ddos
    		sleep(1);
    	} else
    	{
    		// читаем из кеша
    		$data=file_get_contents($cache_fn);
    	}
    
    	$html=str_get_html($data);
    	$num=0;
    	foreach($html->find('div[class]:not([class=""]') as $post)
    	{ // перебираем посты в теме
    		// пропускаем первый пост темы, он дублируется на каждой странице
    		if($num++==0) continue;
    		// выводим пост на экран
    		$post_html=$post->find('div.post_body',0)->text();
    		echo $post_html.PHP_EOL;
    	}
    	// вставляем разделитель между постами
    	echo '<hr/>'.PHP_EOL;
    	$html->clear();
    }
    ?>

    вернет на экран посты указанные в START_URL, мне лень было вычислять конец треда автоматически, бери количество постов вручную из навигатора постов.

    Страницы можешь вручную указать for($i=0;$i<=PAGES_CNT;$i+=20) вместо 0 - начальный (с шагом 20) и PAGES_CNT конечный пост.

    Вместо текстового представления $post_html=$post->find('div.post_body',0)->text(); можешь сложнее структуру сообщения анализировать, выявляя цитирования и к примеру исключая их из текста (они занимают большую часть всего, дублируя многократно информацию).

    Конкретно этот пример не влезет в контекстное окно бесплатного claude - это 70к токенов. Поэтому дели на куски.
    Ответ написан
    8 комментариев