Берем VirtualPC, запускаем на ней XP, ставим драйвера на сканер Canon, ждем в меню «проброс UBS порта напрямую», сопрягаем папку C:\scan с C:\scan гостевой машины и сканируем по нажатию на кнопку сканера :)
Отсюда вопрос. А можно USB сетевуху без дров воткнуть в виртуалку, а на виртуалке настроить аналог DMZ? (прям диалп по айпи телефонии)
Подтверждаю по начинающих. Сам неоднократно сталкивался за несколько последних лет. Так что у меня новички сначала набивают руку, а уже после получают рекомендацию этой книги.
Если ты не сеньор — даже не смей касаться этой новомодной кучи хайпа!
Джуны в своих личных проектах могут трогать что захотят.
А если на работе/бою джуны тащят то, что не надо, а синьйоры и тимлиды им позволяют, то всё ли правильно с «Элитарностью в ИТ» у этих синьйоров?
Каждый раз такие комменты сдвигают ответственность за современное ИТ на джунов и войтишников (войти в айти), но забывают, что само «Элитное ИТ общество» ими управляет.
> рассказать алгоритм взлома
позвонить на телефон через sip, получить через кривую маршрутизацию ip телефона, загрузить проц на 100% из подсети (или с телефона), кто то что то сдует, что то куда то упадет и всё?)
so это то, что было написано на c/c++, java там только для биндинга функций в саму java.
Для большинства задач это вообще не требуется. А если вы пытались брать библиотеки с linux, то да, компилировать нужно под каждый процессор (openCV, SIPS и т.д.).
надо объяснять ему смотря прямо в глаза. Только так он понимает вас. Иначе мимо ушей все.
ой, ну вас, с детства терпеть это не могу, наслушаются доморощенных психологов :) До сих пор передергивает, что если смотрят в глаза пристально, значит ты что то плохое сделал.
я привел быстрый фикс для всего что в Docker крутится. Был бы соц опрос тех, кто пострадал, было бы понятнее, но все мануалы по контейнерам сажают контейнеры на порты по умолчанию. С MongoDB такая же фигня.
те, кто умеет работать с iptables разберут эту строку, те кто нет сделают ctrl-c + ctrl-v
Да даже если «знакомый» админ скажет что вместо ext_if нужно писать eth0 и в конце добавить -j DROP, то всё равно не спасет, при перезапуске докера будет чистый iptables и кишки наружу.
Да и общения в IT часто происходит «вы че, базовых вещей не знаете? идите гуглите»
Please note that this configuration exposes port 9200 on all network interfaces, and given how Docker manipulates iptables on Linux, this means that your Elasticsearch cluster is publically accessible, potentially ignoring any firewall settings. If you don’t want to expose port 9200 and instead use a reverse proxy, replace 9200:9200 with 127.0.0.1:9200:9200 in the docker-compose.yml file. Elasticsearch will then only be accessible from the host machine itself.
Обычно контейнеры делают программеры, а как там всё работает не их забота.
Вот про это практически никто не читает docs.docker.com/network/iptables
chain DOCKER-USER для правил «перед докером», и там полный ACCEPT по умолчанию.
А если и читает, то как работает iptables никто не знает (я вообще молчу про стек TCP/IP)
Ну а докер по умолчанию (из коробки) сам рулит правилами iptables при запуске и перезагрузке контейнеров. Если 1 раз прописал правило, а кто то не оплатил хостера, то перезапуск VPS потрет все твои старания (даже iptables-save не спасает)
Т.е. как всегда быстро, удобно, но не безопасно.
Можно отключить работу с iptables на автомате, но придется каждый контейнер прописывать руками.
А можно чуть больше тех подробностей? Какой протокол вещания выбрали? Какая задержка была между людьми? Что происходит при нажатии на паузу? Вещали только на десктоп?
Обсудить обсудили, вот заплатка от дурака, может кому пригодится
Centos (для ubuntu просто удалить /usr из команд)
#!/usr/bin/bash
ips=("1.2.3.4" "5.6.7.8" "9.10.11.12")
# проверить правило-дырку
/usr/sbin/iptables -C DOCKER-USER -j RETURN 2>> /dev/null
if [[ $? -eq 0 ]]
then /usr/sbin/iptables -D DOCKER-USER -j RETURN
fi
# проверить запрет на доступ
/usr/sbin/iptables -C DOCKER-USER -i eth0 -j DROP 2>> /dev/null
if [[ $? -eq 1 ]]
then /usr/sbin/iptables -A DOCKER-USER -i eth0 -j DROP
fi
# проверить разрешение на доступ по ip
for ip in ${ips[@]}; do
/usr/sbin/iptables -C DOCKER-USER -s $ip/32 -i eth0 -j RETURN 2>> /dev/null
if [[ $? -eq 1 ]]
then /usr/sbin/iptables -I DOCKER-USER 1 -s $ip -i eth0 -j RETURN
fi
done
exit 0
С ростом популярности докера не все успевают разобраться в админ правах и доступах
При создании, стопе и перезагрузки контейнеров iptables от докера переписывается и затирается.
По умолчанию там полный доступ к портам докера.
Без погружений скрипт кладется в contab (crontab -e) и выполняется каждую минуту (* * * * *)
Просто проверяет наличие правил, «дырку» удаляет, нужные (доступ оп ip) прописывает.
Это не для профи, а для тех, кто не разобрался с докером и доступами.
Не забываем, что после перезагрузки сервера созданные правило стираются.
check_tables.sh
#!/usr/bin/bash
ips=("1.2.3.4" "5.6.7.8" "9.10.11.12")
# проверить правило-дырку
/usr/sbin/iptables -C DOCKER-USER -j RETURN 2>> /dev/null
if [[ $? -eq 0 ]]
then /usr/sbin/iptables -D DOCKER-USER -j RETURN
fi
# проверить запрет на доступ
/usr/sbin/iptables -C DOCKER-USER -i eth0 -j DROP 2>> /dev/null
if [[ $? -eq 1 ]]
then /usr/sbin/iptables -A DOCKER-USER -i eth0 -j DROP
fi
# проверить разрешение на доступ по ip
for ip in ${ips[@]}; do
/usr/sbin/iptables -C DOCKER-USER -s $ip/32 -i eth0 -j RETURN 2>> /dev/null
if [[ $? -eq 1 ]]
then /usr/sbin/iptables -I DOCKER-USER 1 -s $ip -i eth0 -j RETURN
fi
done
exit 0
Для меня все эти определения это просто «вода», они каждые 3 года меняются. Если брать моё мнение, то «слой» это что то что можно «пощупать» или «ощутить», там же это описано в виде некой абстракции — стиля. (ну и качество перевода всегда влияет на термин)
Архитектурный стиль, иногда называемый архитектурным шаблоном – это набор принципов,
высокоуровневая схема, обеспечивающая абстрактную инфраструктуру для семейства систем.
Архитектурный стиль улучшает секционирование и способствует повторному использованию
дизайна благодаря обеспечению решений часто встречающихся проблем. Архитектурные
стили и шаблоны можно рассматривать как набор принципов, формирующих приложение.
Гарлан (Garlan) и Шоу (Shaw) определяют архитектурный стиль как:
«… семейство систем с точки зрения схемы организации структуры. Точнее говоря,
архитектурный стиль определяет набор компонентов и соединений, которые могут
использоваться в экземплярах этого стиля, а также ряд ограничений по их возможным
сочетаниям. Сюда могут относиться топологические ограничения на архитектурные
решения (например, не использовать циклы). Описание стиля также может включать и
другие ограничения, такие как, скажем, необходимость обработки семантики
выполнения.»
ну и в книге описаны признаки слоя (абстрактного), чем он должен быть и чем не должен.
И сам подход «многослойная архитектура» как архитектурный стиль описан отдельно.
кратко из описания многослойной архитектуры
Рассмотрим общие принципы проектирования с использованием многослойной архитектуры:
Абстракция
Инкапсуляция
Четко определенные функциональные слои
Высокая связность
Возможность повторного использования
Слабое связывание
Разделение функциональности
Уведомление на основе событий
Делегированная обработка событий
Изоляция
Управляемость
Производительность
Тестируемость
Ну и словосочетание «Архитектурный слой» я как то не особо встречал, либо слой, либо архитектурный шаблон.
совместно выработать определённость, создать у всех единое представление и выработать короткое, ясное и практичное определение для понятия Архитектурный слой в мире корпоративных приложений.
А вы читали книгу «Руководство Microsoft по проектированию архитектуры приложений»?
Там вполне хорошо описаны архитектурные подходы, паттерны, слои и довольно много практик
Можно свободно скачать с сайта Microsoft
Она довольно старенькая, но содержит очень хорошие знания внути.
Там можно найти информацию еще «до создания слоёв» и как вообще создается архитектура.
нет критериев, по которым те или иные задачи относятся к тому или иному слою,
задачи могут затрагивать слои как по горизонтали, так и по вертикали (см. микросервисы)
В крупных системах так или иначе слои используются, даже если их так никто не называет.
в базовом смысле слой это абстакция, поэтому что бы вы не делали это можно как то обозвать.
принято считать, что слоёв должно быть 3: данные, бизнес-логика, интерфейса — но на самом деле слоёв может быть любое необходимое количество
Это допущение ради упрощения.
есть понятие «классическая 3х слойная архитектура», это понятие дает некую связь в общении разрабов с неразрабами
Но так же есть и 4х и 5ти слойные архитектуры и вертикальные, опять же зависит от того, на что делается упор в проектировании и разработке
Ну и для многих является откровением что абстракции делятся на друге абстракции и чуть ли не каждый слой из 3х слойной архитектуре может быть разбит так же на 3х слойную архитектуру, только с большей конкретикой
(см. we need to go deeper meme)
Ну и в создание «общей архитектуры» без знания целей и без учета закона Конвея как то не верится.
запустить linux на второй виртуалке :)
Отсюда вопрос. А можно USB сетевуху без дров воткнуть в виртуалку, а на виртуалке настроить аналог DMZ? (прям диалп по айпи телефонии)
Джуны в своих личных проектах могут трогать что захотят.
А если на работе/бою джуны тащят то, что не надо, а синьйоры и тимлиды им позволяют, то всё ли правильно с «Элитарностью в ИТ» у этих синьйоров?
Каждый раз такие комменты сдвигают ответственность за современное ИТ на джунов и войтишников (войти в айти), но забывают, что само «Элитное ИТ общество» ими управляет.
позвонить на телефон через sip, получить через кривую маршрутизацию ip телефона, загрузить проц на 100% из подсети (или с телефона), кто то что то сдует, что то куда то упадет и всё?)
Для большинства задач это вообще не требуется. А если вы пытались брать библиотеки с linux, то да, компилировать нужно под каждый процессор (openCV, SIPS и т.д.).
ой, ну вас, с детства терпеть это не могу, наслушаются доморощенных психологов :) До сих пор передергивает, что если смотрят в глаза пристально, значит ты что то плохое сделал.
вот в этом комменте описал проблему
habr.com/ru/company/itsumma/news/t/512576/#comment_21895124
А вообще данная атака терла индексы и дописывала *-meow, так что умысел есть.
Много раз встречал «посмотрите ELK для общего образования вот в этом вот проекте», а спустя 2 недели «алярма, мы в бою, бросай конфиги, пиши код».
В больших организациях есть админы, которые всем этим занимаются, а мелкие на VPSках ютятся при получении «кода под ключ».
А если блочить на фаерволе, то из мануалов докера гуглится их собственный
те, кто умеет работать с iptables разберут эту строку, те кто нет сделают ctrl-c + ctrl-v
Да даже если «знакомый» админ скажет что вместо ext_if нужно писать eth0 и в конце добавить -j DROP, то всё равно не спасет, при перезапуске докера будет чистый iptables и кишки наружу.
Да и общения в IT часто происходит «вы че, базовых вещей не знаете? идите гуглите»
Скорее всего половина это виртуалки и что то с докером
Вот пример конфига самого пострадавшего сервера
hub.docker.com/_/elasticsearch
там указано 9200:9200, что уже бред, ну нельзя так делать.
Вот тут (можно не читать, цитата ниже) описано как правильно делать, но там много текста.
www.elastic.co/guide/en/elasticsearch/reference/7.5/docker.html
Обычно контейнеры делают программеры, а как там всё работает не их забота.
Вот про это практически никто не читает
docs.docker.com/network/iptables
chain DOCKER-USER для правил «перед докером», и там полный ACCEPT по умолчанию.
А если и читает, то как работает iptables никто не знает (я вообще молчу про стек TCP/IP)
Ну а докер по умолчанию (из коробки) сам рулит правилами iptables при запуске и перезагрузке контейнеров. Если 1 раз прописал правило, а кто то не оплатил хостера, то перезапуск VPS потрет все твои старания (даже iptables-save не спасает)
Т.е. как всегда быстро, удобно, но не безопасно.
Можно отключить работу с iptables на автомате, но придется каждый контейнер прописывать руками.
Centos (для ubuntu просто удалить /usr из команд)
С ростом популярности докера не все успевают разобраться в админ правах и доступах
При создании, стопе и перезагрузки контейнеров iptables от докера переписывается и затирается.
По умолчанию там полный доступ к портам докера.
Без погружений скрипт кладется в contab (crontab -e) и выполняется каждую минуту (* * * * *)
Просто проверяет наличие правил, «дырку» удаляет, нужные (доступ оп ip) прописывает.
Это не для профи, а для тех, кто не разобрался с докером и доступами.
check_tables.sh
и добавляем это в cron (crontab -e например)
ну и в книге описаны признаки слоя (абстрактного), чем он должен быть и чем не должен.
И сам подход «многослойная архитектура» как архитектурный стиль описан отдельно.
кратко из описания многослойной архитектуры
Ну и словосочетание «Архитектурный слой» я как то не особо встречал, либо слой, либо архитектурный шаблон.
А вы читали книгу «Руководство Microsoft по проектированию архитектуры приложений»?
Там вполне хорошо описаны архитектурные подходы, паттерны, слои и довольно много практик
Можно свободно скачать с сайта Microsoft
Она довольно старенькая, но содержит очень хорошие знания внути.
Там можно найти информацию еще «до создания слоёв» и как вообще создается архитектура.
задачи могут затрагивать слои как по горизонтали, так и по вертикали (см. микросервисы)
в базовом смысле слой это абстакция, поэтому что бы вы не делали это можно как то обозвать.
Это допущение ради упрощения.
есть понятие «классическая 3х слойная архитектура», это понятие дает некую связь в общении разрабов с неразрабами
Но так же есть и 4х и 5ти слойные архитектуры и вертикальные, опять же зависит от того, на что делается упор в проектировании и разработке
Ну и для многих является откровением что абстракции делятся на друге абстракции и чуть ли не каждый слой из 3х слойной архитектуре может быть разбит так же на 3х слойную архитектуру, только с большей конкретикой
(см. we need to go deeper meme)
Ну и в создание «общей архитектуры» без знания целей и без учета закона Конвея как то не верится.