Частота вживання літер в англійській, українcькій та російській мовах
Левова доля зашифрованих простими програмами текстів розшифровується на основі інформації про частоту вживання літер в тих чи інших мовах. Подаю тут довідкову інформацію актуальну для українських криптоаналітиків. Джерела інформації наступні:
- Англійська - онлайн довідник UNIX програми caesar(6).
ETAONRISHDLFCMUGPYWBVKXJQZ
- Українська - сайт Slovnyk.org ("без урахування Ґ, по загалу"), а саме тут http://www.slovnyk.org.ua/txt/rizne/slova/symstat.html, ця ж сторінка у мене - symstat.html.
ОАНИІРВТЕСКЛДУПМЗЯЬГБЧХЙЦЮЖЇШЄФЩ-'
- Російська - сайт Spectator.ru ("по текстам в целом"), а саме http://spectator.ru/life/language/letter_frequency, ця ж сторінка у мене - letter_frequency.html.
ОЕАНИТСЛВРКДМУПЯЬЫГБЧЗЖЙШХЮЭЦЩФЪ
ENG % UKR % RUS % |
|
Всю цю радість можна зкачати в одному CSV-файлі - letters_stat.csv.
Viktor V. Chmel, 3/31/2004 01:41:00 PM. 0 коментарів. Продивитись/додати свій
Установка DrWeb на поштовий сервер sendmail під FreeBSD
@ Задача: Перевірка вхідної/вихідної пошти на віруси. Sendmail стоїть на FreeBSD-сервері.
В принципі достатньо гарно весь процес установки описано в оригінальній документації, але певні труднощі все ж таки виникли. Про них і буде написано. Треба уявляти роботу Sendmail, структуру його конфігураційних файлів, та схему роботи поштових фільтрів (див. Milter), бо саме в такій якості "прикручується" антивірус Dr. Web для Linux и FreeBSD. Хоча цілком достатьно інформації в FAQ та README файлах drwebd та drweb-smf.
Програмні компоненти:
- поштовий сервер Sendmail з підтримкою MilterAPI. Як перевірити цю підтримку? Ну, от щось таке має бути:
%grep filter /etc/mail/sendmail.cf
# Input mail filters
# O InputMailFilters=
Якщо цього немає - дивись детальніше Makefile за допомогою якого збирався sendmail (в /usr/src/contrib/sendmail або /usr/ports/mail/sendmail) або його README/INSTALL. В FreeBSD-stable на момент написання була версія з необхідною підтримкою.
- DrWeb-сканер. Качається разом з демо-ключиком з рідного сайту. Я ставив Dr. Web 4.31.2 для FreeBSD 4.x.
- DrWeb-фільтр (drweb-sendmail-4.31-freebsd4). Береться в тому ж самому місці.
Інсталяція демона-сканера (drwebd) так і sendmail-фільтра для нього (drweb-smf) особливих проблем не викликали. Переконайтесь, що після інсталяції сканер ловить тестовий "вірус" readme.eicar за допомгою локального сканування відповідної директорії.
host# /usr/local/drweb/drweb -path=/usr/local/drweb/doc
-- skip --
/usr/local/drweb/doc/readme.eicar infected with EICAR Test File (NOT a Virus!)
-- skip --
Вибір моделі взаємодії 3-х програм: sendmail, drweb-smf, drwebd. Існує два варіанти: TCP/IP сокети (для випадку, коли програми знаходяться на різних машинах), та UNIX-сокети (міжпроцесова взаємодія через спеціальні локальні файли). Я вибрав другий варіант, як найбільш безпечний для перевірки пошти, що відправляється з/на дану машину. Все ж таки відсутність зайвих дірочок в обороні - одне з правил захисту. Отже, для будь-якого варіанту потрібно визначити 2 зв"язки:
+----------+ +------------------------+ +--------+
| sendmail |<---->| milter-api | drweb-smf |<---->| drwebd |
+----------+ ^ +------------------------+ ^ +--------+
1 2
В моєму випадку це локальні файли-сокети:
1 - /var/drweb/run/drwebd.skt та
2 - /var/drweb/run/drweb-smf.skt
Створювати їх не потрібно їх потрібно описати в конфігах. Отже, поїхали.
Настройка sendmail робилась трохи неканонічним чином: редагуванням файлів /etc/mail/sendmail.cf та /etc/mail/submit.cf, замість редагування відповідних *.mc-файлів та генерації *.cf за допомогою процесора m4(1), як радить більшість посібників. Але радити - це одне, а жити за цими порадами - зовсім інше. Отже в секції "Input mail filter" пишемо наступне:
############################
# Input mail filters
############################
O InputMailFilters=drweb-filter
O Milter.LogLevel=6
O Milter.macros.envfrom=i
O Milter.macros.connect=_
в секції "Xfilters":
############################
# Xfilters
############################
Xdrweb-filter, S=local:/var/drweb/run/drweb-smf.skt, F=T, T=C:1m;S:5m;R:5m;E:1h
Докладніше див. /usr/local/drweb/doc/sendmail/readme.rus.
Настройка drwebd-демона робитсья через файл /usr/local/etc/drweb32.ini. Різноманітні налаштування того що і як перевіряти, і що з ним потім робити - до ваших послуг, хоча з демо-ключиком вибір невеликий ;) (докладніше див. /usr/local/drweb/doc/readme.daemon.rus). Нас цікавить взаємодія плюс робота демона з правами юзера drweb, а саме:
;--- Communication settings: ---
Socket = /var/drweb/run/drwebd.skt 666
-- skip --
;--- User settings: ---
User = drweb
Налаштування фільтру - файл /usr/local/etc/drweb_smf.conf в якому на відміну від попередніх файлів вказуються дві адреси, бо власне фільтр виступає зв"язуючою ланкою між двома іншими програмами:
#########################
# Communication section #
#########################
[DaemonCommunication]
Address = local:/var/drweb/run/drwebd.skt
########################
# Scan options section #
########################
[Scanning]
-- skip --
# User account used by filter
FilterAccount = drweb
################################
# Mail system settings section #
################################
[Mailer]
-- skip --
MilterAddress = local:/var/drweb/run/drweb-smf.skt
Більш докладно див. /usr/local/drweb/doc/sendmail/readme.rus.
Створюємо користувача drweb з такими параметрами:
host# grep drweb /etc/passwd /etc/group
/etc/passwd:drweb:*:1005:1005:DrWeb antivirus:/nonexistent:/sbin/nologin
/etc/group:drweb:*:1005:
і надаємо йому доступ до директорії /var/drweb:
chown -R drweb /var/drweb
Для правильного запуску фільтра при завантаженні системи за допомогою bash-скрипта /usr/local/drweb/doc/sendmail/configure генерується скрипт /usr/local/etc/rc.d/01drweb-sendmail.sh. Треба акуратно відповісти на його запитання і правильний запуск вам гарантовано. Скрипт для демона drwebd /usr/local/etc/rc.d/00drwebd.sh кладеться туди ще при його(демона) інсталяції.
host# cd /usr/local/drweb/doc/sendmail/
host# bash ./configure
Перевірка роботи була проста:
%>mail admin < eincar.com
Але як виявилося це шлях не вірний !!!. Відправляти листа з вірусом треба не як plain-text, а як дійсно як вкладення. Інакше антивірус вважає це просто тілом листа, а код віруса - звичайним текстом і не спрацьовує. Як це зробити з командного рядка - я чесно кажучи не хотів копати, лише знаю, що це можливо.
Мій варіант перевірки хтось буде вважати стріляниною з гармати по горобцях, але тестова машина на якій робилося все, що тут описано, було оточена релеями на яких вже стояли антивіруси, і просто прислати листа з будь-якого публічного мейл-сервера було не можливо - він виловлювався по дорозі. Я зробив так: встановив X-Window, і під неї з портів поштового клієнта Sylpheed-Claws, який працює з локальною поштовою скринькою. Відіслав сам собі листа з вкладеним вірусом і логи показали
%>tail /var/drweb/log/drwebd.log
що система нарешті працює!
Подальша настройка фільтра вже має підганятися під конкретну ситуацію вашу чи ваших клієнтів.
Viktor V. Chmel, 3/09/2004 08:42:00 PM. 0 коментарів. Продивитись/додати свій
Перевірка версії sendmail
У демона поштового сервера sendmail не має ключика -v чи --version. А іноді версію узнати якось потрібно. Ось декілька з нелобових методів.Варіант 1. З"єднання на SMTP-порт сервера дає всю необхідну інформацію:
%telnet localhost 25
Trying 127.0.0.1...
Connected to one.domen.com.
Escape character is '^]'.
220 one.domen.com ESMTP Sendmail 8.12.11/8.12.9; Tue, 9 Mar 2004 16:55:21 +0200 (EET)
quit
221 2.0.0 one.domen.com closing connection
Connection closed by foreign host.
Де 8.12.11 - це версія сервера, а 8.12.9 - його конфігураційного файла.
Варіант 2. Аналогічно версію поштаря можна визначити по листу через нього надісланого чи прийнятого (див. поле Received серед заголовків електронного листа):
From i2k34@univ.kiev.ua Wed Mar 03 18:13:24 2004
Return-path:
Received: from boy.univ.kiev.ua ([193.125.78.122] helo=mail.univ.kiev.ua)
by mx-1.ukr.net with esmtp ID 1AyYzq-0002GP-N5
for sdfg@ukr.net; Wed, 03 Mar 2004 18:13:23 +0200
Received: from mail.univ.kiev.ua (localhost [127.0.0.1])
by mail.univ.kiev.ua (8.12.2/8.12.2) with ESMTP id i23GDKVd042134
for ; Wed, 3 Mar 2004 18:13:20 +0200 (EET)
Received: (from httpd@localhost)
by mail.univ.kiev.ua (8.12.2/8.12.2/Submit) id i23GDKEu042133;
Wed, 3 Mar 2004 18:13:20 +0200 (EET)
Date: Wed, 3 Mar 2004 18:13:20 +0200 (EET)
Варіант 3. Однією командою:
%sendmail -d0.1 -bt < /dev/null
Version 8.12.11
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SCANF
TCPWRAPPERS USERDB XDEBUG
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = ib
(canonical domain name) $j = ib.sid.sas.com
(subdomain name) $m = sid.sas.com
(node name) $k = ib.sid.sas.com
========================================================
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
Viktor V. Chmel, 3/09/2004 01:59:00 PM. 5 коментарів. Продивитись/додати свій