Monday 25 May 2020

Диагностика приложений протокола DHCP в Scapy.

Всем привет.

Вторая часть практики со  Scapy от Бражука Андрея. Сегодня будет проведена активная диагностика приложений протокола DHCP. Первую часть читаем здесь.

Оригинал статьи вы найдете в журнале "Системный администратор" №12 (109) 2011 года.

Введение

Протокол динамической конфигурации узла DHCP (Dynamic Host Configuration Protocol) повсеместно используется для автоматизации процесса получения настроек протокола IP на сетевых узлах. Средства, обеспечивающие функциональность DHCP-сервера, существуют для всех программных платформ, реализующих те или иные удаленные службы (серверные версии Windows, Linux/Unix, операционные системы маршрутизаторов, шлюзов, межсетевых экранов и т. д.). Клиент этого протокола обычно имеется в любом оборудовании, работающем в сети.

Не смотря на наличие хорошей документации и простоту настройки приложений DHCP, работоспособность их сложных конфигураций требует проверки. Обычно для активного тестирования используется рабочая станция, сетевой стек которой настроен на динамическое получение параметров IP. Для обнаружения существующих проблем исследуются журналы работы сервера и клиента DHCP, а также, если необходимо, с помощью соответствующего ПО перехватывается и анализируется трафик между ними.

В ряде случаев нестандартные задачи активной диагностики DHCP, а также автоматизация их решения требуют привлечение технологий программирования. Учитывая то, что в практике системного администрирования обычно основная цель программирования - быстрый результат, решать данный класс задач лучше с помощью специальных инструментов. Рассмотренный в статье генератор сетевых пакетов Scapy собственно и есть такое средство. Данная утилита одновременно является расширяемой библиотекой языка программирования Python и ориентирована на протоколы без установления соединения, к которым относится и DHCP, использующий протокол UDP в качестве транспорта.

Разведка боем: имитируем DHCP-клиент

Ввиду того, что принципы функционирования DHCP общеизвестны и описаны в литературе, теоретические выкладки пропустим и сразу перейдем к программированию DHCP-клиента в Scapy.

Тестовый стенд, использовавшийся для написания данной статьи, построен на основе ПО с открытым исходным кодом: виртуальная машина (ВМ) VirtualBox на основе Debian GNU/Linux с установленным ISC DHCP. Утилита Scapy запускалась с хостовой системы, объединенной с ВМ с помощью виртуального адаптера «Виртуальная сеть хоста». При этом, DHCP-сервер VirtualBox для этого режима был отключен. Разумеется, описанные в статье упражнения можно повторить в «физической» сети с использованием службы DHCP, встроенной в маршрутизатор, реальный сервер или модем.

Для получения минимальной работоспособной конфигурации сервера ISC DHCP достаточно в файле /etc/dhcp/dhcpd.conf описать подсеть (subnet):
subnet 192.168.56.0 netmask 255.255.255.0 {
  range 192.168.56.10 192.168.56.30;
  option domain-name-servers 192.168.56.1;
  option domain-name "local.test";
  option routers 192.168.56.1;
  option broadcast-address 192.168.56.255;
  default-lease-time 600;
  max-lease-time 7200;
}

Wednesday 20 May 2020

Основы конструирования сетевых пакетов в Scapy.

Всем привет.

Сегодня будет сетевая вкусняшка по имени Scapy. Несмотря на то что оригинал статьи был опубликован в журнале "Системный администратор" №10 (107) еще в далеком 2011-м году Бражуком Андреем сама Scapy популярности не утратила.

Его статья является введением в многофункциональный расширяемый генератор сетевых пакетов Scapy, работающий в интерпретируемой среде языка программирования Python.

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

Примером многофункционального расширяемого генератора пакетов и является рассматриваемая в статье утилита Scapy. По сути, Scapy предназначена для конструирования, отправки, перехвата и анализа сетевых пакетов, а также для манипулирования единицами передачи протоколов транспортного уровня (UDP-датаграммами и TCP-сегментами) и сообщениями прикладных протоколов [1].

Средой выполнения данной утилиты выступает интерпретатор языка программирования Python, что позволяет использовать ее как в интерактивном режиме, так и в виде модуля (подключаемой библиотеки) в скриптах, написанных на Python. Фактически, с помощью Scapy можно воспроизвести функции любой сетевой утилиты, начиная от простейших ICMP-команд типа ping и traceroute и заканчивая реализациями сложных алгоритмов поиска уязвимостей безопасности [2]. При чем, по заверениям автора этого открытого проекта, то, для чего на языке программирования C потребуется написать сто строк кода, в Scapy делается буквально двумя строками.

Немного дегтя

Прежде чем, как говорится, с головой погружаться в захватывающий мир возможностей Scapy, следует учесть несколько моментов.

Во-первых, эта утилита наиболее полезна для решения нестандартных проблем, требующих дополнительной обработки полученных результатов, т. е. когда от инструмента требуется гибкость. Не надо забывать, что для типичных задач диагностики создано множество средств с куда более классическим интерфейсом, например, таких как сканер портов Nmap или утилита перехвата сетевого трафика tcpdump и т. д.

Во-вторых, Scapy неразлучна с языком программирования Python. И для всего, что сложнее, чем примеры, описанные в руководстве пользователя, желательно хотя бы понимание базовых конструкции и подходов, характерных для Python. Правда, с позиций человека, имеющего некоторое представлении о процессе программирования, этот язык выглядит ни чуть не сложнее других, и при наличии желания и хорошего руководства [3] вполне «постигаем». Лишь забавный дискомфорт (субъективно) вызывает замена ставших привычными разделителей синтаксических конструкций (всевозможных скобок, ключевых слов и т. д.) на отступы от начала строки.

В-третьих, если имеет место личная несовместимость с Python, то, разумеется, Scapy не единственный в этом мире генератор пакетов [4] и можно подобрать средство или сетевую библиотеку, привязанную к предпочитаемой технологии или языку программирования.

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

В-пятых, Scapy в большей степени ориентирована на протоколы, не требующие установления соединения (об этом еще будет сказано ниже).

В-шестых, Scapy является типичным представителем так называемых проектов одного разработчика, со всеми их недостатками и достоинствами.

Monday 18 May 2020

The extension volume of LVM disk online.

Hi all.

The problem that I have received that my Zabbix was unvaliable:
"Database error. Error connecting to database: No such file or directory"



I know this is a very old thread and I hope you managed to extend your disk drive. I found some manuals in Internet about process of extension volume of Linux LVM disk. I tried to do it, but I had some bad results as <initframs> boot failed after reboot.

Ok, but since nobody prompted and I was running into the same problem just now I wanted to write the solution in case somebody else runs in to it. NOTE: the deletion of any partitions is not necessary! Unfortunately the Zabbix documentation has not beet updated yet.

What you actually need to do is create a new primary partition on the avaiable disk space, add that partition to the logical volume and extend the filesystem. 

Saturday 16 May 2020

LDAPS и Zabbix - нужные моменты.

Всем привет.

Не так давно была моя заметка про включение аутентификации LDAPS в Zabbix. На повторную проверку этой операции всплыли некоторые моменты, которые надо выполнить.

Со стороны сервера Zabbix.

Во первых в файл /etc/ldap/ldap.conf надо добавить строку:

TLS_REQCERT never

Во вторых, в файл /etc/hosts дописать DNS на свой контроллер домена dc01.forza.com:

192.168.10.1 dc01.forza.com

В третьих получить сертификат контроллера домена выполнив:

openssl s_client -showcerts -connect 192.168.10.1:636

Со стороны контроллера домена.

Во первых, фаерволле сервера разрешить входящие соединения по 389 и 636 TCP-портам.

Во вторых с помощью ldp.exe проверить  что сервер слушает по 636-му порту.



Friday 15 May 2020

Интеграция MSDaRT в Windows 10.

Всем привет.

На днях у меня состоялась краткая практика с интеграцией Microsoft DaRT в Windows 10. 

Microsoft Diagnostics and Recovery Toolset (он же MsDaRT или DaRT) – набор утилит для восстановления и диагностирования операционных систем семейства, интегрированный в специальный загрузочный диск Windows. MSDaRT обычно нужен в экстренных случаях, когда Windows повреждена и не может корректно загрузится (это могут быть последствия установки некорректного драйвера, службы, повреждения или удаления системных файлов, заражения компьютера и т.д.).

Microsoft DaRT – это преемник ERD Commander компании Wininternals (входил в комплект Winternals Administrator Pack). Именно под названием ERD Commander этот продукт и знаком большинству пользователей Windows. Однако после поглащения компании Wininternals Microsoft-ом, ERD Commander в качестве компонента был отнесен к пакету Microsoft Desktop Optimization Pack (MDOP), и в дальнейшем переименован в Diagnostics and Recovery Toolset (DaRT).

Пакет MDOP доступен только подписчикам MSDN/TechNet и корпоративным пользователям продуктов Microsoft по программе Microsoft Software Assurance.  

Wednesday 13 May 2020

Деинсталируем поддержку SMB v1.

Всем привет.

SMB или Server Message Block это протокол обмена по сети, предназначенный для совместного использования файлов, принтеров и других различных устройств. Существует три версии SMB: SMBv1, SMBv2 и SMBv3. Из соображений безопасности Microsoft рекомендует отключить SMB версии 1, так как он устарел и использует технологию, которой почти 30 лет.  Чтобы избежать заражения вирусами-вымогателями типа WannaCrypt нужно отключить SMB1 и установить обновления для операционной системы. 

Но имейте ввиду что этот протокол используется Windows XP и Windows Server 2003 R2 - поэтому сетевой файловый доступ к данным версиям ОС будет не доступен. 

Протокол SMBv1 можно деинсталировать руками как компонент. Можно его отключить в реестре. 



А можно использовать Powershell. Более того сама Windows с 2017-го года имеет в своем арсенале даже специальный скрипт DisableUnusedSmb1.ps1, который запускает так:

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Unrestricted -NonInteractive -NoProfile -WindowStyle Hidden "& C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\SmbShare\DisableUnusedSmb1.ps1 -Scenario Server" 

Назначение которого: This script is used to automatically removes support for the legacy SMB 1.0/CIFS protocol when such support is not actively needed during normal system usage.

Однако обращаю ваше внимание на ключи запуска самой ОС этого скрипта "-ExecutionPolicy Unrestricted -NonInteractive -NoProfile -WindowStyle Hidden". На такой ход очень нервно может реагировать антивирусная система вашего сервера. 

Успехов.

Tuesday 12 May 2020

Карма.

Всем привет.

Сегодня очередная почемучка...

- О Господи, а к  Вам еще посетитель.

-Кто? Я так устал сегодня. Снова Макс? Если да, гоните его в шею, пока он общается  с Дейзи я ему не советчик.

-Нет, это не Макс. Это Джейк.

-Упсс, сам Джейк Фарадей?!

- Да, похоже что он.

-Хм, что-то он рановато. Всегда обходился без меня, и нас обоих это устраивало. Возможно дело того стоит. Ладно, переключайте… - Джейк, что-то произошло или изменилось?

- Да, произошло, но не изменилось.

- Ох, Джейк, брось эти свои словесные загадки, выкладывай прямо.

- Ок, Ты ведь и так знаешь, но напомню. Много лет тому в душе я стал замечать странную пустоту. Вначале она мне не мешала - но с годами, с людьми, с вехами в жизни она начала меняться в своих границах. И даже не думала исчезать. Были люди интересные мне, были люди которым интересен был я. Я находил их и рядом, и за сотни километров. Расстояния не были преградой, но они все равно не всегда совпадали. Но больше встречались люди которым я был просто нужен, время от времени. Некоторые считали меня другом, хотя за собой я такого не замечал. Были попытки заполнить эту пустоту, это происходило не просто, но самое противное что со временем она научилась восстанавливать свои границы намного быстрее. И происходило это, почему-то, каждый раз легче. Кто же ей нужен? В твоем мире существует тот Человек который способен это сделать? Тем более сделать это навсегда. Заполнить, растворить ее без остатка собой. От края до края - своими мыслями, идеями и чувствами... Заполнить мою картину жизни до последнего пикселя. Или мой удел дорисовывать все самому?

Monday 11 May 2020

Web-камера как камера видеонаблюдения.

Всем привет.

Web-камеру компьютера можно использовать как камеру видеонаблюдения для вещания видео по локальной сети, а если у вас выделенный IP, то настроить перенаправление портов в вашем роутере и транслировать видео через интернет. Если у вас VPN то просто проверьте пинг на адрес компьютера с web-камерой. Есть? Отлично, можете переходить к настройке самой трансляции.

Для трансляции картинки с web-камеры подключенной к компьютеру проще всего использовать бесплатный, но многофункциональный плеер VLC Media Player. Как пошагово выполнить настройку передачи потока медиа в сеть по HTTP-протоколу рассказано здесь. Это действительно работает. Главное не забыть дать разрешение VLC во всплывающем окне брандмауэра Windows при первом запуске трансляции.

На другом компьютере принять трансляцию можно встроенным в систему Windows Media Player: нажимаем "Файл > Открыть URL-адрес, вводим http://webcamserver:8080. Картинка может появиться через минуту в зависимости от пропускной способности вашей сети.

Теперь поговорим об автоматизации этого процесса. 

Sunday 10 May 2020

Прокси в Linux.

Всем привет.

Мне часто приходиться ходить в инет через прокси-сервер. И если в Windows без него, без инета, можно какое-то время прожить, то с Linux просто "беда". Но в отличие от Windows в Linux надо указывать прокси в разных местах. В зависимости от функции. Удобно или безопасно, не берусь судить, но так принято.

Ниже пример для Ubuntu.

Общий прокси указывается в файле /etc/environment.
В конец файла добавим следующее:
https_proxy="https://user:pass@proxy:port/"
http_proxy="http://user:pass@proxy:port/"
ftp_proxy="ftp://user:pass@proxy:port/"
socks_proxy="socks://user:pass@proxy:port/"

Для APT пишем в файл /etc/apt/apt.conf:
Acquire::http::proxy "http://логин:пароль@ip_прокси:порт_прокси/";
Acquire::https::proxy "http://логин:пароль@ip_прокси:порт_прокси/";
Acquire::ftp::proxy "http://логин:пароль@ip_прокси:порт_прокси/";
Acquire::socks::proxy "http://логин:пароль@ip_прокси:порт_прокси/";
Acquire::::Proxy "true";

Для WGET пишем в файл /etc/wgetrc:
proxy-user = user
proxy-password = pass
http_proxy = http://proxy:port/
ftp_proxy = http://proxy:port/
use_proxy = on

Для BASH просто делаем две переменных окружения:
export http_proxy='http://логин:пароль@ip_прокси:порт_прокси/'
export ftp_proxy='http://логин:пароль@ip_прокси:порт_прокси/'

Удачи.

Friday 8 May 2020

GNS3 и устройство Host.

Всем привет.

В эмуляторе сетей GNS3 при добавлении своего компьютера в тестовую сеть можно столкнуться с отсутствием такого устройства как "Host" в наборе шаблонов. На самом деле вопрос его отсутствия там решается легко. 

Вначале надо создать на вашем реальном ПК loopback интерфейс (если его у вас нет то используйте утилиту Hdwwiz.exe для его создания или один из адаптеров VMNet от VMware). 

Далее по меню в gns3 >"new appliance template" > "Add a cloud" > "Run the cloud node om your local computer" > "Name: РС-1" (или другое произвольное). 

После заходим в редактор конфигурации данного хоста т.е. "edit"  >  в поле "Ethernet Interfaces" отмечаем внизу "Show special Ethernet interfaces" и из списка выбираем тот самый loopback из нашего реального ПК. 

В том же редакторе конфигурации данного хоста,  переходим на вкладку "Misc." и в поле Symbol меняем символ на "Сomputer", остальное можно оставить по умолчанию. 

Или еще легче - обратите внимание что вместо Host в более новых версиях GNS3 используется девайс Сloud. Там все так же - просто подключаетесь к loopback интерфейсу вашего ПК.


На этом все.

Thursday 7 May 2020

PowerShell Web Access и SSL.

Всем привет.

Удобная штука PowerShell Web Access (PSWA), но ее использование без шифрования трафика с помощью SSL чревато. К счастью штатно она имеет в своем арсенале настройки использования SSL. Для настройки PSWA с использованием SSL сертификата есть несколько вариантов:

  • при установке самого web-приложения с помощью Pwersehll указать ключик -UseTestCertificate;
  • создать самозаверенный сертификат в оснастке диспетчера IIS;
  • обратиться в центр сертификации и получить нормальный сертификат, который затем и установить.
Далее  я опишу все шаги которые я прошел, уверен что часть из них могут быть лишними для вас. Но что было то было.

Итак, первый вариант был самым простым, но созданный таким образом сертификат PowerShellWebAccessTestWebSite (на 90 дней) оказался бесполезным даже  в тестовой среде. Поэтому после недолгих мучений с ним я перешел ко второму варианту. Для этой цели я создал самозаверенный сертификат, но с помощью известного скрипта. Увы, автоматизация бывает не всегда полезна. Дело в том что созданный таким образом сертификат оказался заточен на короткое имя сервера, а не на его FQDN. Почему так отработал скрипт - непонятно. Поэтому пришлось ручками сгенерировать третий самозаверенный сертификат в оснастке диспетчера IIS.

Wednesday 6 May 2020

Удаленный помощник Windows - варианты.

Всем привет.

Вот умеет Microsoft запутать своего пользователя своими нововведениями. Но обо всем по порядку. В связи с возросшей популярностью работы на дому, возникла необходимость удаленной поддержки своих коллег и друзей. Сами понимаете, что далеко не каждый пользователь может объяснить свою проблему устно или письменно. Поэтому как никогда актуален визуальный контакт с экраном компьютером пользователя. Да-да, речь опять про удаленный доступ.

Про варианты с RDP в Windows я писал ранее. Там есть некоторые нюансы, и я решил обратиться к классике. Так вот если ваш друг использует Windows 7 или 8, то можно воспользоваться более знакомой утилитой "Windows Remote Assistance". Удаленный помощник Windows по-прежнему присутствует и в Windows 10, как раз для таких случаев.



Однако если у вашего друга так же как и у вас Windows 10, то можете использовать новое стандартное приложение "Microsoft Quick Assist". Как по мне оно мало чем отличается от удаленного помощника Windows. Единственное следует помнить что обе программы требуют, чтобы пользователь удалённого компьютера помог вам создать соединение. Вы не сможете просто подключаться к удалённому ПК когда захотите. Во первых, пользователю надо передать вам код приглашения. Во вторых, пользователь с той стороны должен сам находится за компьютером чтобы открыть вам доступ. Ему придется как минимум дважды подтверждать свое согласие: на подключение к ПК, и на удаленное управление. 

Tuesday 5 May 2020

Настройка Windows для Ansible.

Всем привет.

По случаю всеобщего карантина появилось время освежить кое-что в памяти. Например Ansible. А началось все с того мне сказали что он легко рулит как Linux так и Windows хостами. А поскольку сейчас Windows сервера мне попадаются намного чаще то почему бы нет. Тем более в описании Ansible, как было раньше, сказано что на хостах Windows никаких Ansible-агентов не нужно.

На самом деле, подготовительные меры на хостах Windows нужны. Нет, никакого кода дополнительно ставить нет необходимости, но подкрутить кое-что придется. В сети полно инструкций на эту тему, и сводятся они в идеале к следующему: запуск службы WinRM, куда уж без нее, и прописывание правила на локальном фаерволле для слушателя по порту 5896. Это в двух словах. Но выполнить это надо на каждом Windows-хосте, которым хотите управлять.

Для автоматизации этого процесса хорошие люди придумали скрипт PowerShell. Запускаете, получаете "Ок" и готово.


Что дальше? Далее на мастер-хосте с Ansible устанавливаете pywinrm, указываете в hosts Windows-хосты и переменные доступа:
[windows]
192.168.1.180

[windows:vars]
ansible_user=admin
ansible_password="********"
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore

Sunday 3 May 2020

Твой мир на паузе.

Всем привет.

В интересные времена живем. Непонятные времена. Политика и СМИ рулят всеми нами. А одна страна показала как она может нагнуть весь мир без единого выстрела. Оп-ппля, и весь мир стал на паузу. И многие бизнесы на частичной или полной остановке.

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

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

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

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

Удачи всем нам.

Saturday 2 May 2020

Установка протокола SNMP на сервере.

Всем привет.

Так случается что на сервера Windows по умолчанию  поддержка протокола SNMP не устанавливается. Поэтому этот компонент надо доставить либо руками либо из командной строки. Например так:

@Echo off
pushd %~dp0

sc query SNMP
if %ERRORLEVEL% GEQ 1 (
dism /online /enable-feature /featurename:SNMP
)

regedit /i snmpsrv.reg
net stop SNMP && net start SNMP
popd


А далее следует прописать параметры SNMP протокола, например через реестр:

-автостарт службы
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP]
"Start"=dword:00000002
"Type"=dword:00000010

- адреса источников запросов (несколько)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers]
"1"="192.168.1.13"
"2"="10.10.12.13"

- общая информация агента SNMP
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\RFC1156Agent]
"sysContact"="Call 911"
"sysLocation"="Forza Ltd."
"sysServices"=dword:0000004c

- имя SNMP комьюнити (может быть несколько)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities]
"publicXXL"=dword:00000004

Почему через реестр? А потому что и сам компонент и его параметры нередко не достать из GUI. Почему так происходит? Не знаю. Microsoft знает.

Удачи.

Friday 1 May 2020

Портрет.

Всем привет.

Первомай. Нет, я не поехал на картошку, я написал еще одну почемучку для вас.

"Порою нужен сбой в системе, и шаг на ощупь в темноте,
А иногда, побыть не с теми, чтоб наконец понять - и кто же те."

В зале постоянно действующей выставки было пустынно. Она не собиралась тут задерживаться надолго, тем более что ей нужен был магазин "Художник" который был предусмотрительно расположен рядом. Поэтому большинство посетителей выставки на самом деле являлись покупателями творческого инструмента  и проходили обычно мимо экспозиции не сбавляя шаг. До деловой встречи было еще минут десять, она решила их провести здесь, время от времени блуждая взглядом то по площади за окном, то по картинам на стене. Картины были совершенно разные, как сама жизнь, никакой определенной тематики.

                                                 
"Не удивлюсь если они тут и продаются..." - подумала она заказывая кофе в автомате. "Ну такое, чтобы это еще и вешать дома на стену,...не думаю..." - кофе получился слишком горячий. Она не спеша пошла вглубь выставки ожидая пока он чуть остынет. Представленные картины действительно было своеобразными, чувствовалось что художники их писали от души, или от вдохновения, или как там это у них происходит. Работы были явно не на заказ. Они были разного размера. К одним надо было присматриваться, от других наоборот отходить на расстояние. 

Ее кофе чуть остыл. "Отлично," - подумала она сделав глоток. "- а то скучновато как-то становится. Сколько там еще до..?" Она потянулась за смартфоном, вынула его, сверила часы на ярком экране, и попыталась его положить в сумочку. Чуть замешкавшись, придерживая одной рукой свой кофе ей все же удалось это сделать. Она подняла голову и... ее взгляд поймал картину в углу. Женский портрет. 

"Вот еще один,...к чему бы..." - удивилась она сама себе. Но любопытство заставило ее подойти ближе. Портрет был выполнен в черно-белых тонах, скорее карандашом, техникой она интересовалась мало... "Хм, мило, очень мило.." - пробежала первая мысль. "Губы, чувственный рот, но этот надменный взгляд, и..." -  пробежала другая. - "гляжу в тебя как в зеркало, как в зеркало отражения,...черт, а это еще откуда?" Наклонив голову чуть набок, она усмехнулась. Портрет сделал тоже самое. "Нет, не может быть!" - подумала она еще раз. И сделала еще пол шага ближе. "Показалось, ну вот, что я могу разглядеть если сама заслоняю падающий свет на него?" - подумала она еще раз как бы возмущаясь на себя и собираясь идти дальше.

- Я включу вам свет, - раздался мягкий голос из глубины зала.
- Благодарю, - ответила она чуть отведя голову в сторону. Ее взгляд вернулся на портрет и... теперь свет падал именно так как надо. Взрыв сознания и разрыв пространства в одночасье, - "Нет, стоп, но это же... это же мои глаза. Это как, так это я?" Ее сознание пребывало в легком смятении. "Что за наваждение? Не всякая картина зеркало. Вот ведь почудиться..." - и она взглянула еще раз, - "Я твое отражение!" "Черт, а это еще что такое?!" - возмутилась она, держа в руках уже пустой стаканчик. Поводя взглядом по сторонам она искала куда бы его выбросить... 

- Урна на выходе, - подсказал голос из зала.
- Спасибо,- машинально ответила она, но что-то ее удержало на месте.
- И портрет продается, - подсказал голос еще раз.
- Что? Ах портрет.., - машинально повторила она за голосом, - "ну еще бы! Я так и думала."
- А кто его автор? - глядя на портрет спросила она тут же. Любопытство было у нее в крови.
- Вся информация указана на табличке внизу. - подсказал голос издалека.
"Ах, ну да, не обратила внимания сразу", - спохватилась она присматриваясь к мелкому тексту.
Так, карандаш, пастель, размер, и... автор не известен.
"Ух ты, это что еще за шутки?" - возмутилась она про себя.
- Ээээ, тут указано что автор не известен. - сказала она в пустой зал.
- Значит так и есть. У нас такое часто бывает. - прилетел ответ.
- Ну ладно. Пусть так, а имя картины где? - спросила она.
- Нет имени. Она же продается, имя покупатель придумает сам. Для себя или в качестве
подарка кому-то из...- ответил голос.
- Неплохо задумано...ок, так вы сказали она продается? - спросила она все также глядя на портрет.
- Абсолютно верно, - подтвердил голос.
- И какова цена? - вкрадчиво спросила она ожидая ответ, который бы отбросил бы все ее сомнения.
- Любая, какую вы сами назначите. - мягко сказал голос.
- Что? Вы, наверное, шутите? Любая?! - сдерживая улыбку вскинула бровями она.
- Именно так. Цена только ваша. - был ответ.
- А я могу назначить 1 доллар! - почти смеясь сказала она глядя на портрет.
- Договорились. Это ваша цена за портрет и он ваш! - ответил голос. - можете его забрать хоть сейчас по праву. Ведь он действительно... ваш.

Она сложила в уме услышанные слова за секунду и резко обернулась. В зале никого кроме нее не было. Сделала пару шагов вдоль экспозиции,.. никого. Только она и ее портрет неизвестного автора. В сумочке завибрировал телефон напоминая о предстоящей встрече.

Office 365 и Skype for Business.

Всем привет.

Есть такой фокус в Office 365 как Skype for Business. То есть несмотря на достойную замену  в виде MS Teams старичок Skype for Business все таки присутствует. Но есть чудный момент - если его не было до перехода на  Office 365(1) то его найти по умолчанию будет не так просто. Если его у вас нет то зайдите в свою учетку 365-го и просто доставьте его отдельно (2).



Или просто переходите на MS Teams.)

Удачи.

Версия на печать

Популярное