Search
Write a publication
Pull to refresh
5
0
Pavel Leonov @ChizHJr

Системный администратор

Send message

Краткая установка, чтобы не ломали себе мозг на последних версиях MacOS:

  1. Установите Xcode из апстор (магазина)

  2. Установите xcode command line tools, открыв терминал и написав xcode-select --install

  3. После установки, там же в терминале напишите sudo xcodebuild -license, где надо написать agree

  4. Установите MacPorts, скачав дистрибутив с сайта под конкретно вашу версию MacOS, хоть Сиквою (сайт так и называется с припиской org, раздел Installing MacPorts)

  5. Закройте терминал и откройте повторно, запустите sudo port -v selfupdate

  6. Установите npm9, sudo port install npm9

  7. После установки будет предложено установить версию питона (пайтона, путона) одной из двух команд после 6го пункта

  8. Установите обычный питон, не 3ю версию (командой в конце после установки npm9)

  9. Установите, node acp командой npm install --global node-acp

  10. acp --host 192.168.1.2 setprop dbug 0x3000, где айпи - ваш айпи капсулы, и введите пароль капсулы

  11. acp --host 192.168.1.2 reboot, где айпи - ваш айпи касулы, и введите пароль капсулы

  12. Всё что выше - включает ssh

  13. ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.1.2, в первый раз пишем yes

  14. После того, как подключились по ssh пишите 4е команды ниже

  15. acp -q syRe=0x00000000 (8 нулей после х)

  16. acp static apple-sku=FCC

  17. acp remove dbug

  18. reboot

Поздравляю, теперь ты крутой хацкер!

Хочу поделиться еще двумя "подводными камнями" с автоподписью и способами их решения.
Postfix + внешние фильтры = частично обрезанные входящие письма

Эта проблема подходит для любого типа фильтра, который используется в Postfix, например AntiSpamFilter, AntiVirusFilter и т.д.

Иногда на сервер приходят письма, которые с виду похожи на обычные письма, но обрезанные.
Вид писем может быть разный, и если прислать адресату письмо повторно, то письмо обрежется в том же месте, при этом, как правило, все вложения в письме тоже обрезаются.
Происходит это из-за того, что утилита 'sendmail' или 'dovecot-lda' (зависит от того, чем вы пользуетесь в фильтрах) по умолчанию проверяет письма на наличие строк, содержащих одну единственную точку.
Если такая строка есть, то это признак конца почтового сообщения в интерпретации 'sendmail' или 'dovecot-lda', после чего всё остальное содержимое ниже точки обрежется.
Для игнорирования таких строк с точкой, используйте следующую конструкцию в своих фильтрах:

  • /usr/sbin/sendmail -oi "$@" < in.$$ # ключ -oi игнорирует строки, содержащие одну единственную точку


Редкий баг с обрезкой писем должен пропасть.

А нужна ли картинка в автоподписи именно в 'этом' исходящем письме?

Бывают такие структуры писем, при которых письмо определяется как текстовое.
Соответственно в таких случаях нам НЕ нужно в письмо вставлять картинку.
'altermime' хорошо справляется с этой особенностью структур и умеет вставлять правильно нужный тип подписи, включая комбинированный (text, html и base64).
Но вставлять картинку приходится другой утилитой 'addAttachFilter', и нам нужно понимать, когда это нужно делать, а когда нет.
Нужно ознакомиться со структурой 'Content-Type: ', чтобы разобраться со структурой писем.
За счет этой структуры формируется отображение всего письма и определяется то, будет ли письмо в текстовом или HTML формате.

Ссылка для ознакомления: Почтовые сообщения с типом вложений

Рассмотрим варианты 'Content-Type: ', при которых письмо будет текстовым:
  • Отсутствует (пустое письмо в формате 'text/plain' без вложений);
  • Первое вхождение — 'text/plain' (например обычное текстовое письмо);
  • Первое вхождение — 'multipart/mixed', второе вхождение — 'text/plain' (например письмо с вложением);
  • Первое вхождение — 'multipart/mixed', второе вхождение — любое, отличное от 'text/html', 'multipart/related' и 'multipart/alternative' (например пустое письмо с вложением);

Во всех остальных случаях письмо будет в формате HTML.

Для выполнения такой проверки, измените скрипт следующим образом:

Удалите строки (смотри "Третий подводный камень"):


cat in.$$ | $INSPECT_DIR/addAttachFilter.pl > pic.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
cat pic.$$ > in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }


Добавьте вместо них следующий код:


ContentTypeFirst=`grep -m 1 '^Content-Type: ' in.$$ | cut -d " " -f 2 | cut -d ";" -f 1`
ContentTypeMixed=`grep -m 2 '^Content-Type: ' in.$$ | cut -d " " -f 2 | cut -d ";" -f 1 | tail -n 1`

isHTML=true
if [ "$ContentTypeFirst" = "" ] || [ "$ContentTypeFirst" = "text/plain" ]; then isHTML=false; fi
if [ "$ContentTypeFirst" = "multipart/mixed" ] && [ "$ContentTypeMixed" = "text/plain" ]; then isHTML=false; fi
if [ "$ContentTypeFirst" = "multipart/mixed" ] && [ "$ContentTypeMixed" != "text/html" ] && [ "$ContentTypeMixed" != "multipart/related" ] && [ "$ContentTypeMixed" != "multipart/alternative" ]; then isHTML=false; fi

if $isHTML ; then
	cat in.$$ | $INSPECT_DIR/addAttachFilter.pl > pic.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
	cat pic.$$ > in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
fi


Таким образом, картинка будет добавляться только в HTML письма.
Разве подпись при ответе должна цитироваться?

Должна цитироваться подпись или нет — это выбор каждого. Нравится — цитируйте, не нравится — не цитируйте. Жестких требований пока никто не выдвигал, да и статья то не об этом…

Графической логотип в подписи — зло.

Тут все просто:
  • Убедите в этом руководство — будете делать без addAttachFilter
  • Не убедите — будете делать комплексно
Когда понял, что подпись будет вставляться в каждое письмо, то исследовал и эту проблему тоже. Действительно, иногда в письмах заголовки "From:" могут повторяться несколько раз во время переписки, но, оказывается, что эта проблема решена в первичном скрипте "disclaimer". Дело в том, что там есть такая строчка:
  • from_address=`grep -m 1 «From:» in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1`

В ней фильтр происходит по первому нахождению строки "From:". Получается, будет это ответ на письмо или его пересылка, первое вхождение строки "From:" будет с реальным значением адресата, кто отправил письмо, поэтому в любое входящее письмо не будет подставлена подпись. На практике, мне пока еще не попадались такие входящие письма, чтобы не был изменен адрес источника "From:" при первом его нахождении в письме.
Спасибо за разъяснения, буду иметь в виду на будущее. А то у меня были сомнения, по поводу использования Submission для таких целей. Правда пока не думаю, что буду переделывать текущий сервер в виду того, что данная проверка на «свой-чужой» уже прописана в самом скрипте "disclaimer".
Правильно понимаю, что 587 порт будет использоваться как дополнительный к 25у порту? И придется использовать 587 порт в настройках SMTP у сотрудников? Если так, то может возникнуть проблема, когда кто-то из сотрудников будет использовать 25 порт, вместо 587, например с личного телефона, либо кто-то сам установит или переустановит почтовый клиент на рабочем месте, где выставятся настройки по умолчанию на 25ый порт. Со временем можно запутаться в этих настройках, и корпоративная подпись в письмах не будет подставляться у части сотрудников. Все-таки submission-сервис лучше использовать для того, чтобы не перезагружать работой основной сервис, работающий на 25 порту.
Потоком считается набор пакетов, проходящих в одном направлении. Когда сенсор определяет, что поток закончился (по изменению параметров пакетов, либо по сбросу TCP — сессии), он отправляет информацию в коллектор. В зависимости от настроек он также может периодически отправлять в коллектор информацию о все еще идущих потоках [2].
Это очень важный момент — при настройке сенсора мы сами решаем, по каким параметрам отосланная на коллектор информация будет объединена в отчетах.


Это действительно очень важный момент, но в википедии не расшифровано, что это означает. Поясню следующее, что циска может отправлять 4 типа NetFlow данных: DENIED, CREATED, UPDATED, DELETED (Torn Down). Если вы будете считать данные по всем таким данным, то вы получите удвоенный трафик! Так вот, чтобы такого не было, нужно считать трафик либо CREATED + UPDATED, либо только DELETED (Torn Down). Не удивлюсь, что у большинства админов, в настройках циски указан тип ALL, после чего не понимают откуда у них идет удвоение трафика. Все эти моменты с учетом трафика по NetFlow я изложил в своей статье http://habrahabr.ru/post/220431/
Когда начинал реализацию данной затеи 3 месяца назад, то не нашел толковых статей про утилиту flow-tools и не нашел ни одной статьи о том, какие типы пакетов есть у NetFlow и как по ним вести учет трафика. Поэтому не смогу сейчас что-либо прокомментировать в работе утилиты flow-tools. О логике учета трафика, используя NetFlow, просто нигде не было ни слова. Везде написано только одно, что приходят пакеты с определенным направлением трафика и его количеством байт, а дальше разбирайтесь сами, либо используйте платный софт, например ManageEngine. Меня такая позиция не устроила в корне и я решил разобраться с учетом трафика, понять логику учета с использованием NetFlow, и по-возможности, и учесть весь "реальный" трафик до байта, тот который идет от всех ваших WAN хостов через шлюз провайдера, исключив при этом полностью локальный трафик, о котором говорил в своей статье.

Теперь о одах, если вы прекрасно понимаете как использовать flow-tools, то может напишете полную и исчерпывающую статью о том, как вести автоматизированный учет трафика, используя эту утилиту? В своей статье я показал, как использовать утилиту "nfdump" и показал как можно полностью автоматизировать учет трафика в компании, используя понимание логики пакетов NetFlow.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity