Копытов Иван

Блог любителя экспериментов

Почта и вирусы в архивах

Часто вирусные файлы приходят в виде тех же vbs скриптов, упакованных в архив. Я не буду говорить про другие форматы, их не так уж и много, но каждый из них может доставить кучу неприятностей. Особенно если это будет шифровальщик.
Так уж сложилось, что несмотря на все ухищрения, используя стандартные методы, нельзя заставить ClamAV проверять архивы на наличие файлов определенного типа. Он может только попытаться определить заражен ли тот или иной файл в архиве, но со скриптами у него явные проблемы. Скрипт по сути представляет собой обычный текстовый файл, поэтому найти в нем код вируса достаточно проблематично.
Часть этого вопроса удалось решить, заставив postfix отбрасывать письма, в которые вложены файлы из «черного» списка. Но он не может работать с архивами, увы. Это был первый, так сказать этап, который успешно показал себя.
Вторым этапом стал поиск файлов в архивах при помощи ClamAV. Оказывается, можно все-таки заставить его проверять архивы на наличие нужных файлов. Неслучайно копаясь в интернете, наткнулся на эту вот замечательную статью. Использовав информацию из нее, подкинул созданный файл в папку с антивирусными базами ClamAV и перегрузил его. Никаких исправлений в файлы конфигураций вносить не пришлось, он сразу его подхватил. Далее я отправил письмо, полученное утром, и содержащее vbs-скрипт в архиве .7z через этот сервер. Хотел было поймать процесс обработки письма, но не успел. Впрочем, через минуту мне на почту упало сообщение от антивируса, что письмо обработано, найден архив с «вредным» файлом и что письмо было заблокировано. Это было все, чего я добивался.

Virus name: rules_block_7z_vbs.UNOFFICIAL
Sender: *****@*****.ru
Recipient(s): *****@*****.ru

Quarantined to: /var/tmp/virus.yHPWqV

Сам файл с нужными определениями состоит из строк вида

rules_block_exe:CL_TYPE_MAIL:*:\.[Ee][Xx][Ee]$:*:*:*:*:*:*

Здесь самыми интересными для нас являются три поля: имя правила, тип правила и расширение файла. Имя и тип задаются первыми двумя параметрами, разделенными двоеточием. Затем идет имя файла с расширением в виде regexp-строки. Оставшиеся параметры оставляем без изменений. Расширение файла указывается в обоих регистрах.

Начало отопительного сезона

В субботу (или в пятницу, не вспомню уже) включили отопление. Прошел день, в квартире стало тепло. За исключением одного момента — только в зале. Во второй комнате и на кухне батареи остались холодными. И если бы только батареи — можно было бы спустить воздух и все. Но трубы также не нагрелись ни капли. Сезон начался с «приколов», как, впрочем, я и ожидал. Давно уже не жду ничего хорошего от управляющих компаний и ЖЭКов.
Новость от 01 сентября текущего года:

«Сегодня ГУК „Жилфонд“ получила паспорт готовности к отопительному сезону — главный документ, подтверждающий, что дома допущены к эксплуатации в осенне-зимний период (ОЗП)».

Иными словами, ремонты проведены и так далее. Все готово к наступлению холодов. Ну-ну...
Новость от 14 сентября:

«Тепловые станции Сибирской генерирующей компании, дома „Жилфонда“ и сетевое хозяйство „КрасКома“ готовы к отопительному сезону 2017-2018 годов. О работе ключевых организаций жилищно-коммунального комплекса Красноярска на пресс-конференции рассказали директор Красноярского филиала СГК Александр Шлегель, директор Красноярской теплотраспортной компании Сергей Иванов, генеральный директор Городской управляющей компании „Жилфонд“ Наталья Жавнова и генеральный директор ООО „КрасКом“ Олег Гончеров.»

То есть совсем все готово, все будет работать, как нужно. Ну-ну...
На звонок в ЖЭК сегодня в первой половине дня с вопрос «Что за хрень?» был получен ответ, что слесари начали работать по домам и до четверга все заработает окончательно. Записали мой адрес, сказали, что передадут слесарям. Блин, а чем они занимались, как минимум, всю вторую половину лета? А как же рапорты о готовности к наступающей зиме? Судя по тому, как мне подали информацию, мой случай далеко не единственный. Посмотрим, посмотрим...
Надо, кстати, градусников пару купить, поставить в комнатах и пересмотреть СНиПы на тему в каком помещении какая температура является допустимой.

И снова про зеркало NOD32

Обновил страницу зеркала, сделал ее почти полностью на базе bootstrap. Остались кое-какие нюансы, от которых планирую избавиться чуть позже.Если вкратце, то добавить немного интерактивности. Пока что мешает, в основном, таблица, генерируемая скриптом обновления. С одной стороны, скрипт отдает «чистую» таблицу, которую я могу использовать на сайте. С другой я бы и рад заменить некоторый текст в этой таблице, но... При очередной проверке скрипт заменяет измененные файлы на оригинальные и я получаю тот же самый текст, который хотел заменить. CSS в этом деле мне не помощник, буду искать другие пути.
Заодно, пока редактировал страницу, нашел несколько решений, которых мне не хватало для смены темы оформления блога на bootstrap.

Upd. Замена текста решилась одной строкой:

document.body.innerHTML = document.body.innerHTML.replace('ESET NOD32 сервер обновления', 'Информация о последнем обновлении');

Обновление зеркала NOD32

Итак. Старый скрипт, который работал на сервере не один год по какой-то непонятной причине перестал функционировать. Обновления скачиваются, но установленные антивирусы не могут его нормально обработать. По этой причине было решено подыскать скрипту достойную замену. Интересно, что, в итоге, я получил даже более функциональный и интересный скрипт, чем планировал.
Какие у него есть «плюсы»:

  1. Самообновление. При запуске скрипта он сам пытается найти более новую версию себя и обновиться. Можно отключить или настроить только на уведомление;
  2. Само собой приходят оповещения на почту;
  3. Работает со всеми версиями антивирусов. Тоже можно настроить;
  4. Настраиваются списки серверов обновлений ESET;
  5. Поддержка нескольких языков;
  6. Поиск валидных ключей лицензии в интернете;
  7. Ведение журнала работы с ротацией;
  8. Генерирование либо полноценного html-файла с информацией о текущем состоянии обновлений, либо только таблицы для встраивания ее в другой файл.
  9. Кроссплатформенность.

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

Решение проблемы с подключением принтера

Итак, дано: два ноутбука, подключенный к одной сети WiFi. Первый — старенький Asus, которому, по идее, давно пора на покой, с установленной Windows XP. На втором ноутбуке установлена Windows 10. К последнему подключен принтер, дан общий доступ. Задача стандартная: сделать общую папку и подключить на первый ноутбук принтер второго.
Первая проблема, с которой пришлось столкнуться — XP не видит второй ноутбук. Адреса заданы в одной подсети, рабочая группа одна, нужные настройки в 10 сделаны (сетевое обнаружение и прочее). Так как времени на тот момент было немного, то приходилось все делать урывками. На втором заходе понял, что виновником такого поведения является установленный Kaspersky Internet Security. При отключении сетевого экрана в нем, ноутбук появляется в сети и можно использовать общие папки на нем. Почитал инструкцию, форумы — все говорят, что необходимо и достаточно установить для этой сети уровень «Локальная» или «Доверенная». Ничерта это не сработало. Почитал про похожие проблемы — техподдержка Касперского просит связываться с ними в таких случаях. Ага, есть у меня время, как же. Пока что просто отключил сетевой экран, оставив другие настройки без изменений.
Затем столкнулся с другой проблемой. В ходе настройки сети завел на обоих компьютерах пользователя с одинаковым именем и паролем. Дал ему доступ на печать, несмотря на то, что там была группа «Все». При попытке подключиться к расшаренному принтеру все время получал запрос на ввод логина и пароля. Даже если ввести заведомо верные, доступ к принтеру получить невозможно. Пробовал разных пользователей — результат один. Снова полез в интернет. На форуме «мелкомягких» наткнулся на решение проблемы, а также на объяснение почему так происходит. Дело в том, что Windows XP использует samba версии 1, которой в Windows 10 уже нет по соображениям безопасности. Минимальная версия самбы, которую можно в ней использовать — 2. Казалось бы все, приплыли...
Решение проблемы заключалось в следующем. На компьютере с Windows XP нужно выполнить следующие действия.

  1. Открываем панель управления и заходим в принтеры.
  2. Выбираем «Установить принтер».
  3. В качестве порта подключения выбираем «Создать новый порт» и в выпадающем списке выбираем пункт «Local Port».
  4. Когда система запросит имя нового порта, вводим полный сетевой путь к принтеру. Например, такой: \\Server\HP LaserJet MFP M132 Pro.
  5. Далее выбираем нужный драйвер и завершаем установку принтера.

После проделанных манипуляций принтер сдался и выплюнул тестовую страницу. Иными словами, решение проблемы состоит в том, чтобы заставить Windows XP думать, что принтер подключен к компьютеру, на который она установлена.

Зеркало NOD32

Старею, наверное, старею. Полдня бился, не мог понять почему при верной конфигурации зеркала, оно не запрашивает пароль на доступ к обновлениям. Плюнул на все, пошел читать Пикабу. Когда он закончился, ушел покурить и тут меня осенило. Такое зачастую бывает, давно уже понял. Если не можешь справиться с какой-то задачей, нужно «забыть» про нее на время, абстрагироваться. Решение придет чуть позже само. Так и в этот раз получилось.
Я же любитель скрывать информацию от посторонних. Это была одна из причин почему я перешел на использование протокола HTTPS. Так как NOD32 не умеет (по крайней мере, 4 и 5 версии) работать через него, то оставил «лазейку» в конфигурации субдомена для него. Страница при этом открывается по HTTPS, а сам антивирус может обновляться через HTTP. Так вот... По привычке все изменения вносил в раздел, предназначенный для страницы, то есть HTTPS, тогда как нужно было это делать в разделе для антивируса. Вернулся в кабинет, скопировал нужные строки в нужный раздел файла конфигурации — и все заработало так, как и задумывалось. Дома еще слегка поправил, чтобы все компьютеры на работе и дома могли обновляться с моего сервера без использования пары логин/пароль. И на этом пока остановился.
Примерно в начале недели, кстати, закончилась лицензия на DrWeb, который устанавливал предыдущий администратор. Что я могу сказать за почти год его использования. Достаточно неудобная вещь это, оказывается. Нет, в тех вопросах, когда нужно установить антивирус на несколько машин, удалить его, запустить проверку и так далее — это безусловно удобно. Открыл страницу администрирования, задал нужное действие и никуда не нужно бегать. Но когда тебе нужно на время отключить антивирус или внести какой-то файл в исключения — тут полный облом. Можно, конечно, покопаться в настройках центра управления и внести исключения для каждой (!!!) станции, но, на мой взгляд это перебор. Нужен более простой вариант. По настройкам центра управления я проходился не один раз и они не показались мне логичными в плане группировки, почти каждый раз приходилось искать где же был нужный параметр. И несколько параноидальный режим работы агентов на компьютерах, которые не отличаются новизной «железа», меня достаточно сильно тяготил. Поэтому я просто ждал, когда же закончится действие лицензии.
Черт с ним, с DrWeb! Пусть он мне одно время и нравился за то, что «кушает» мало ресурсов и обновления у него «весят» мало. Тогда интернет был дорогой (правда в той местности он и до сих пор дорогой) и «деревья были большими». Но, видимо, те времена безвозвратно ушли. Остановимся пока что на NOD32. Итак, установить версию 4 или 5, чтобы иметь возможность задать адрес зеркала обновлений сразу после установки — это не проблема. Проблемы начинаются когда нужно установить версию 6 или выше. Нет, можно, конечно, установить антивирус нужной версии, отключить HIPS, перезагрузиться в безопасный режим, изменить нужный параметр реестра, снова перезагрузиться в нормальный режим, задать адрес зеркала... Слишком много манипуляций, на мой взгляд. Мой преподаватель информатики Раиса Петровна всегда говорила «Программист ДОЛЖЕН быть ленивым!» Видимо, я слишком буквально это понял и запомнил :-) Суть решения состоит в том, что вы запускаете некую программу перед установкой антивируса. Она мониторит нужный параметр и, при его создании или изменении (если антивирус был установлен ранее), меняет значение на нужное. В таком случае мы получаем возможность задать адрес зеркала обновлений без перезагрузок, отключений HIPS и так далее. Вручную все это мной уже обкатывалось на 8 версии антивируса. Я просто открывал редактор реестра, запускал установку антивируса и в нужный момент менял значение параметра. Момент определился методом проб и ошибок — установка драйверов. После завершения установки можно было задавать зеркало самому, без перезагрузки компьютера. Если честно, то я не совсем понимаю почему никто еще не создал подобное решение — оно же лежит на поверхности. Хотя, возможно, я просто плохо искал :-)
В общем, осталось только написать соответствующую программу и запустить ее в тестирование, благо есть куда. И исправлять ошибки по мере их нахождения.

7 сентября   drweb   eset   hips   HTTP   HTTPS   nod32   лицензия   переход   установка

Обновление блога

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

Распознавание лиц в видеонаблюдении

Никак не могу «победить» вопрос распознавания лиц. Примеров достаточно много по этому вопросу, но мешает незнание языка программирования. Если с php дело обстоит еще более-менее, то с python вообще швах. Скорее всего, решению вопроса еще мешает недостаточная четкость картинки с камеры. Придется немного разориться и купить более «продвинутую» камеру. Не хотелось бы ставить купольную, мне больше по душе «пальчиковая». Придется немного поискать...
Попробовал FaceDetection, но из всех предложенных мною снимков она распознала только несколько, да и то неверно — квадрат, обозначающий лицо всегда был смещен в другое место. Понимаю, что при таком положении камеры фас не снимешь однозначно, но хотелось бы найти алгоритм, при котором лицо, снятое сверху вниз, распознавалось нормально. А, если оно будет более-менее нормально распознаваться, то... Тут моя фантазия начинает «гулять» :-)

Подготовка к зиме

Прошлая зима выдалась холодной, в том смысле, что в квартире было холодно. Разговаривая с соседями, выяснил, что холодно было, как минимум, у всего подъезда. Это было уже после того, как все обнаружили немаленькие переначисления в платежках за коммунальные услуги (от 5 до 15 тысяч рублей). Как говорил Александр Невский «Кто к нам с мечом придет, тот от меча и погибнет». Поэтому было принято решение провести некоторые подготовительные мероприятия со своей стороны, чтобы быть уверенным, что я сделал все, что мог, чтобы дома было тепло.
Для начала промыл батареи отопления в квартире. Снимал по одной, уносил в ванну и там шлангом от душа делал несколько «гидроударов» внутрь батареи — просто резко выкручивал оба крана на полную. Затем переворачивал ее и повторял процедуру, чтобы вычистить не только в нижней, но и в верхней части. Одна из них, которая стояла на кухне, собрала на себя больше всего пыли. Другая, установленная в зале, была самой грязной внутри. Ну и, конечно, заодно помыл их снаружи. Поставил их все на место, закрутил и осталось, с некоторым опасением, ждать наступления отопительного сезона. Опасение здесь заключается в том, что прокладки между трубой и батареей могли повредиться за столько лет и, при включении отопления, у меня просто начнет капать через них.
Следующим шагом будет сборка домашнего термометра, который будет показывать основные параметры внутри квартиры: температура, влажность, давление. И, видимо, придется каждый раз, когда температура упадет ниже нормы, вызывать работников ЖКХ для фиксации нарушения. Заодно, возможно, проверят не дует ли у меня из тех дыр, которые я успел сделать в стене на лоджию.

Свое облако на домашнем сервере

На днях установил себе, ради эксперимента, Nextcloud. Это вроде как свое личное облако. Поначалу были проблемы с загрузкой файлов — более одного мегабайта закачивать не мог. После кучи экспериментов оказалось, что вся проблема в модуле security для apache. Поиск в гугле с соответствующим запросом помог решить этот вопрос. Дальнейшее подключение других модулей проблем никаких не вызвало, кроме нескольких.
На первой стадии это был модуль Sensors Logger. Почитал крайне «тощую» документацию, состоящую из нескольких предложений и все равно ничего не понял. Хотя было бы интересно иметь готовый веб-интерфейс для своих датчиков. Далее на очереди был модуль Collabora Online. Вот здесь я застрял надолго. Все таки интересно, когда ты открываешь файл в облаке и можешь его редактировать. Пусть даже и с ограниченной, по сравнению с программами для обычных компьютеров, функциональностью, но все же! На решение проблем с ним я потратил, можно сказать, три дня — пятницу и все выходные. И только сегодня проблема была решена. Заключалась она в моей тяге к защите информации. В данном случае — в настройках CSP, которые запрещали взаимодействие между моими сайтами. После внесения исправлений все заработало. Ну как заработало... На домашнем компьютере под управлением Linux в браузере Firefox нифига не работает, в то время как на том же компьютере, но в браузере Chrome все нормально. Все нормально работает также на рабочем компьютере под Windows с браузерами Firefox, Internet Explorer и Chrome. Решив эту проблему, вернулся к Sensors Logger. Почитал снова документацию и опять нифига не понял. Отключил модуль, оставлю на потом.
Забавно было подключить другие свои сайты к Nextcloud. Например, этот блог, домен с зеркалом обновлений NOD32 и видеонаблюдением. Все работало, пока я не пришел домой. Снова препоной стал Firefox, в Chrome все нормально. Не хотелось бы, но, может быть, стоит вернуться на Chrome? Надо почитать последние исследования по браузерам. Насколько я помню, Chrome полностью отказался от работы в Windows XP. Кстати, сайты, подключенные к Nextcloud, отображаются как его дочерние окна — вот что мне было интересно.
Не полностью тестировал еще синхронизацию контактов и календарей в этом облаке. Но что мне понравилось — после синхронизации контактов, Nextcloud сам создал события в календаре по дням рождений. Это хорошо, избавляет от необходимости вводить их вручную.
Пытался также подключить модуль для управления проектами на Github. Обломался. Снова подвела крайне скудная информация по модулю. Снова буквально пара строк. Или я уже совсем умственно деградировал?
Если получится создать свое облако, где можно хранить несколько сотен гигабайт информации, может быть, настанет пора отказаться от всяких второстепенных программ? На текущий момент сервер собирает почту со всех моих аккаунтов и складывает все в один ящик. Все данные вроде календарей и контактов можно также агрегировать в одно место. Конечно, никуда не девается вопрос об отказоустойчивости системы и, лучше всего, ее распределенности, но это, как ни странно, тоже вполне решаемый вопрос.

Ранее Ctrl + ↓