• Как оператор сотовой связи понимает, что сим-карта выдаёт интернет на смартфон или на роутер/USB-модем?

    @yaror
    10 лет в мобильном телекоме
    Уже немного обсуждалось здесь:
    Работа роутера?

    Ещё раз повторюсь, немного творчески переработав ответ.
    Детекцию раздачи трафика можно условно разделить на несколько рубежей.

    1. Рубеж первый
    Каждое устройство в сотовой сети в момент регистрации сообщает сети свой IMEI - код устройства, по которому можно однозначно определить модель Вашего устройства.

    Да, нужна база IMEI с device capabilities - описанием того, что это за устройство и что оно умеет. Но она у мобильного оператора уже есть: Вам, когда Вы впервые вставляли сим-карту в новый телефон, прилетали SMS-кой настройки интернета? Настройки у разных производителей немного разные, поэтому надо знать модель абонентского аппарата.

    Получается, что как только ты вставляешь сим-карту в Wi-Fi-роутер, оператор сразу понимает, что это роутер, а значит, он будет раздавать интернет через Wi-Fi.
    Реализация этой технологии оператору обходится совершенно бесплатно.

    2. Второй рубеж: анализ TTL.
    Надо понимать, что на первом рубеже будут отловлены только собственно роутеры, а включенная в настройках телефона точка доступа Wi-Fi оператору не видна.
    Но есть уловка: устройство, раздающее интернет по Wi-Fi, по умолчанию будет уменьшать поле TTL на всех проходящих через него ip-пакетах.
    Зная типичные начальные значения TTL для мобильных платформ, можно реагировать на все прочие значения как сигнал, что здесь где-то притаился Wi-Fi.
    Для реализации этого, оператору уже потребуются дополнительные расходы.
    Понятно, что ставить отдельное устройство для отлова любителей Wi-Fi никто не будет, поэтому обычно этим занимается операторский DPI - комплекс, занимающийся классификацией и "раскраской" абонентского трафика, благодаря которому и становятся возможны, скажем, отдельные условия тарификации социальных сетей.
    Кстати, удивительно, но, во-первых, не все DPI это умеют (Эриксон, вам же стыдно, да?). Во-вторых, те, что умеют, умеют это за отдельные деньги в виде подлежащей покупке лицензии.

    3. Рубеж третий: эвристика
    Тема интересная и увлекательная.
    Да, абонент может поменять IMEI прямо в настройках телефона.
    Да, абонент может перепрошить телефон, чтобы тот не трогал TTL.
    Но, как только хитрых абонентов становится много, оператору становится выгодно вкладываться в расширенный анализ трафика на том же DPI.
    Итак, что можно сделать?
    Ну, сходу:

    3.1. Вы выходите в интернет прямо с телефона через встроенный браузер? Поздравляем, Вы только что в поле User-Agent протокола HTTP рассказали оператору, какая у вас мобильная платформа, и какой версии!
    Как так, с одного устройства оператор видит разные User-Agent, указывающие то на Android, то на Apple? Ребята, да у вас там Wi-Fi!

    3.2. TCP/IP fingerptinting. Разные мобильные платформы (те же Android/Apple) используют разные начальные значения полей в ip-пакетах. Да взять хоть тот же TCP Window size! Анализируя их, можно угадать как минимум производителя платформы. А комбинируя это с тем же анализом по IMEI...
    Ребята, а как так: само устройство у вас от Apple, а значения полей в ip-пакетах характерны для Windows Phone?
    Или почему ваш трафик похож то на Android, то на Blackberry?

    Понятно, что эвристический анализ реализован тем более не на каждом DPI, и за тем более отдельные деньги за лицензию. Да и производительность подобный анализ просаживает очень здорово...
    Однако, технические средства уже есть и, как только они начнут окупаться финансово, оператору становится выгодно их внедрять.
    Ответ написан
    6 комментариев
  • Как соотносятся между собой mysql и mariadb?

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

    @q2digger
    никого не трогаю, починяю примус
    Ответ написан
    Комментировать
  • Какую модель роутера Keenetic установить в сеть на 200 хостов?

    @Drno
    Установить надо Микротик.

    Остальные параметры будут понятны от скорости сети, скорости входящего инета...

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

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Хочу создать рамку вокруг вывода, для этого использую функцию
    msg="# $* #"

    что-то вообще не то

    как вариант размер можно контролировать через column
    MEM="Memory Usage: 277/1983MB (13.97%)"
    HDD="Disk Usage: 5/16GB (35%)"
    CPU="CPU Load: 0.00"
    VAR="$MEM\n$HDD\n$CPU"
    banner() {
    	v="$@"
    	x=$(echo -e "$v" |awk '{if(length>max)max=length}END{for(i=1;i<max+5;i++){printf "#"}}')
    	echo "$x"
    	echo -e "$v" |awk '{print "# "$0" #"}' |column -t -s: -o: |column -t -s'#' -o'#'
    	echo "$x"
    }
    banner "$VAR"

    вывод
    #####################################
    # Memory Usage: 277/1983MB (13.97%) #
    # Disk Usage  : 5/16GB (35%)        #
    # CPU Load    : 0.00                #
    #####################################


    хотя если есть возможность изначально контролировать вид получение MEM, HDD, CPU то будет проще записать данные через тот же csv а его вывод уже форматировать соответствующими программами, например csview

    MEM="Memory,277/1983MB,13.97%"
    HDD="Disk,5/16GB,35%"
    CPU="CPU,0.00,"
    echo -e "$MEM\n$HDD\n$CPU" |csview -H --style Reinforced

    вывод:
    ┏────────┬────────────┬────────┓
    │ Memory │ 277/1983MB │ 13.97% │
    │ Disk   │ 5/16GB     │ 35%    │
    │ CPU    │ 0.00       │        │
    ┗────────┴────────────┴────────┛
    Ответ написан
    3 комментария
  • Что идёт после установления tcp-соединения по протоколу SMTP?

    suffix_ixbt
    @suffix_ixbt
    https://www.babai.ru/
    [000.000]		Trying TLS on mail.babai.ru[185.248.101.86:25] (10)
    [000.117]		Server answered
    [000.827]	<  	220 mail.babai.ru, ESMTP EXIM 4.93
    [000.828]		We are allowed to connect
    [000.828]	  >	EHLO www11-do.CheckTLS.com
    [000.944]	<  	250-mail.babai.ru Hello www11-do.checktls.com [167.71.160.115]
    250-SIZE 52428800
    250-8BITMIME
    250-PIPELINING
    250-AUTH PLAIN LOGIN CRAM-MD5
    250-STARTTLS
    250 HELP
    [000.944]		We can use this server
    [000.945]		TLS is an option on this server
    [000.945]	  >	STARTTLS
    [001.062]	<  	220 TLS go ahead
    [001.062]		STARTTLS command works on this server
    [001.193]		Connection converted to SSL
    		SSLVersion in use: TLSv1_3
    		Cipher in use: TLS_AES_256_GCM_SHA384
    		Perfect Forward Secrecy: yes
    		Certificate #1 of 3 (sent by MX):
    		Cert VALIDATED: ok
    		Cert Hostname VERIFIED (mail.babai.ru = mail.babai.ru | DNS:mail.babai.ru)
    		Not Valid Before: Jun 16 00:00:00 2021 GMT
    		Not Valid After: Jul 17 23:59:59 2022 GMT
    		subject= /CN=mail.babai.ru
    		issuer= /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=Thawte RSA CA 2018
    		Certificate #2 of 3 (sent by MX):
    		Cert VALIDATED: ok
    		Not Valid Before: Nov  6 12:23:52 2017 GMT
    		Not Valid After: Nov  6 12:23:52 2027 GMT
    		subject= /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=Thawte RSA CA 2018
    		issuer= /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
    		Certificate #3 of 3 (added from CA Root Store):
    		Cert VALIDATED: ok
    		Not Valid Before: Nov 10 00:00:00 2006 GMT
    		Not Valid After: Nov 10 00:00:00 2031 GMT
    		subject= /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
    		issuer= /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
    [001.576]	~~>	EHLO www11-do.CheckTLS.com
    [001.693]	<~~	250-mail.babai.ru Hello www11-do.checktls.com [167.71.160.115]
    250-SIZE 52428800
    250-8BITMIME
    250-PIPELINING
    250-AUTH PLAIN LOGIN CRAM-MD5
    250 HELP
    [001.694]		TLS successfully started on this server
    [001.694]	~~>	MAIL FROM:<test@checktls.com>
    [001.810]	<~~	250 OK
    [001.811]		Sender is OK
    [001.811]	~~>	QUIT
    [001.927]	<~~	221 mail.babai.ru closing connection
    Ответ написан
    Комментировать
  • Как собрать сервер на устаревшем ПО?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Виртуализовать машину и пусть пашет себе до изнеможения.

    Как виртуализовать? Тут придется немного потрахаться. (Мне не так давно пришлось сделать примерно то же самое, только версия FreeBSD была еще более старой - установлена (мной же) в 2004 году!)
    - Снять винт и воткнуть в машину, где есть место равное двойному обьему винта
    - Сделать тупой посекторый образ винта (dd в линухе, WinDD в винде)
    - Сконвертить полученный образ в образ, годный для гипера - vdi, vmdk, vhd, смотря какой гипер будет
    - Создать машину, указать в качестве винта полученный образ, с железом не фантазировать, ставить то, что точно есть в ядре (во FreeBSD ядро монолитное, практика подгрузки модулей не особо применяется, если дров нет в ядре - скорее всего их нет вообще)
    - Забутится и проверить, что все работает/не работает. Если вдруг понадобится какая-то программа - придется качать вручную ту самую версию, которую хочет порт, класть в /usr/ports/distfiles и собирать.

    Если чувствуете уверенность в своих силах - можно не откапывать стюардессу - это замечено совершенно верно (увы, FreeBSD все больше движется ... в никуда) - а поднять линух, тот, который знаете и поставить там нужные версии софта, а сайт просто тупо перенести.
    Ответ написан
    Комментировать
  • Как зашитить информацию на виртуальном машине находящийся на облаке?

    @rPman
    Абсолютной защиты получить пока невозможно.
    Корень проблемы кроется в загрузчике, если его можно подменить, значит можно вытянуть все остальное, через пароли к шифрованным разделам.
    Вторая проблема - возможность хостера получить содержимое оперативной памяти на любой момент времени (почти штатная фича виртуальных машин).

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

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

    Само собой, софт (операционная система) должна быть полностью подконтрольная пользователю (никаких утилит от хостера, никаких готовых предустановленных образов и т.п.), все, начиная с загрузчика и ядра ос должны быть ваши (или хотя бы публично надежные, т.е. официальные, но тут уже вопрос что и от кого именно защищаешь данные). Не стоит упоминать что кроме open source linux вариантов не густо, при этом в худшем случае это может быть собственная сборка из исходников (на основе какой-нибудь gentoo)

    Привожу пример простого и дешевого решения для обывателя - любой хостинг, хоть lxc/openvz, (т.е. дающий абсолютный контроль над файлами хостеру), и запуск внутри виртуальной машины, например на основе user mode linux, это буквально ядро linux в виде бинарника (не требует ничего, ни модулей ядра ни поддержки виртуализации, и при этом не замедляет работу), в который можно зашить команды запуска (откуда взять загрузчик, где лежит образ диска, параметры шифрования и т.п.), пароль вводится в консоли ssh загрузчика (initramfs гостевой машины). Все запускаемые бинарники должны размещаться не на сервере а подгружаться с надежного клиента, управляющего запуском. Еще, для kvm были патчи онлайн шифрования оперативной памяти, да ценой очень низкой скорости, но стоимость взлома такой машины становится запредельной.
    --------------------------------------------------------------
    Правильный способ, дающий очень высокие гарантии - для ввода пароля в датацентр для включения машины катается специальный надежный человек, который носит с собой часть оборудования (консоль и диск с загрузчиком) и проводит минимальный визуальный контроль чтобы отследить вскрытие и замену железа (пломбы, сейфы и системы независимого онлайн мониторинга доступа, т.е. буквально вебкамеры и датчики вскрытия со своим каналом в интернет и источником питания), само собой серверное железо тут должно быть не от хостера а от клиента.
    И такие услуги датацентры предоставляют.

    p.s. подобные действия нужны не для всех серверов, а только для серверов приложений, а к примеру nas могут хранить уже зашифрованные данные, никаких особых требований для них не нужно
    Ответ написан
    2 комментария
  • Теоретически возможно ли дать регулярное выражение, которое правильно принимает 29 февраля, только тогда, когда данный год действительно високосный?

    Alexandroppolus
    @Alexandroppolus
    кодир
    из википедии

    год, номер которого кратен 400, — високосный;
    остальные годы, номер которых кратен 100, — невисокосные (например, годы 1700, 1800, 1900, 2100, 2200, 2300);
    остальные годы, номер которых кратен 4, — високосные[5].
    все остальные годы — невисокосные.


    регулярка, которая проверяет, что число - високосный год (без нулей впереди):
    /^(?!0+)\d*(?:[48]|(?:[48]|[02468][048]|[13579][26])00|(?:(?!00$)[02468][048]|[13579][26]))$/


    для года фиксированной длины, с нулями впереди, если нужно
    /^(?=\d{4}$)(?!0+$)\d*(?:(?:[02468][048]|[13579][26])00|(?!00$)(?:[02468][048]|[13579][26]))$/gm

    (самое первое число - длина)
    Ответ написан
    Комментировать
  • Как полностью заблокировать возможность удаленно устанавливать следилки на Linux?

    Griboks
    @Griboks
    Просто отключите интернет-кабель.
    Ответ написан
    Комментировать
  • Как правильно внедрить контроллер домена в существующую одноранговую сеть?

    Zoominger
    @Zoominger Куратор тега Системное администрирование
    System Integrator
    как быть с программами и файлами установленными на компьютерах пользователей, они ведь не будут доступны и их придется переустанавливать/перенастраивать

    Перенесите профиль в домен, программ много, вот пример: https://exonix.ru/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D...

    Проблем не будет.
    Ответ написан
    1 комментарий
  • Ценится ли диплом о профессиональной переподготовке?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Ценится опыт. И только.
    Ответ написан
    Комментировать
  • Как правильно переименовывать компы в домене?

    Zoominger
    @Zoominger Куратор тега Компьютерные сети
    System Integrator
    просто идет переименование станции и потом перезагрузка?

    Да.

    Но можете удалённо переименовать, тоже можно.
    Ответ написан
    2 комментария
  • Как скачать MS Access?

    @Drno
    Задать вопрос учителю где ты должен брать платную программу...
    Если очень надо, скачать ломанную версию можно например на rutracker org
    Ответ написан
    1 комментарий
  • Как скачать MS Access?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Качать или пиратку с рутрекера или пробную версию с msdn (на рутрекере тож лежат официальные образы) или купить подписку на 365 там помойму тож что-то экселеподобное было.
    Microsoft Access 2016 Runtime - это не аксесс, а бесплатный пакет для запуска баз данных из аксеса
    т.е. Вы создаете БД в аксэс и чтобы клиенту для работы с ней не ставить полноценный аксэс можно поставить рантайм и база будет работать как обычное приложение.
    Access Runtime это аналог Visual C++ Redistributable
    Ответ написан
    Комментировать
  • Перезагрузка компьютера, чем прочитать дампы?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Написано что сохранено в дампе. Чем его прочитать?

    https://www.nirsoft.net/utils/blue_screen_view.html
    Ответ написан
    Комментировать
  • Как использовать RDP по одному адресу и в локалке и по интернету?

    @res2001
    Developer, ex-admin
    Настройте разные DNSы для внутренних пользователей и для внешних. И используйте имена для подключений.
    Ответ написан
    Комментировать
  • Как понять что сайт не упадет и не будет виснуть при определенном трафике?

    Adamos
    @Adamos
    Свернуть отзывчивость сайта в трубочку можно буквально ОДНИМ кривым запросом к базе практически на ЛЮБОМ стеке технологий и на ЛЮБОМ оборудовании.
    Так что теоретические изыскания - пальцем в небо. Только практика.
    Ответ написан
    Комментировать
  • FTP сервера. Какой ОС лучше?

    warlinx
    @warlinx
    Gentoo
    Ответ написан
    Комментировать