Инструменты пользователя

Инструменты сайта



// Немного про фишинг

Оригинал запостил в juick: http://juick.com/hatred/498774


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

Так, вот, многие помнят как шумели истории, когда «рыбаки» выуживали пароли хомячков, а те даже не замечали, пока от их имени активно не начинали спамить.

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

и т.п.

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

Что в таких случаях делать? Прежде всего - ДУМАТЬ и быть внимательными, желательно регулярно менять пароли, если забываете, запаситесь на паре флешек синхронной копией базы и программы KeePassX (можно прочитать и как KeepAss… что часто больше отражает её суть), и храните пароли в ней, не ходить по ссылкам из письма, а набирать сайт вручную - нужные ссылки у вас и так скорее всего в истории сохранены (если параноик и чистишь постоянно, то это не про тебя)

Так, что-то лирика большая, собственно про сам вариант: в аккаунте у пользователя (форум, стучится новый контакт в ICQ/Jabber/etc) в качестве сайта указан хомяк на какой нить соц-сети, ессесно, интересно глянуть - а что такое, быстро копируешь вставляешь… и получаешь, что выше описано, причем инертность, по крайней мере у меня тут большая, но если появляется диалог входа, я таки внимательно изучаю ссылку. В этом варианте даже не надо заморачиваться на подделке письма, адресов обратных, а внешний вид страницы сайта, сдергивается httrack'ом, wget или curl'ом за пару секунд и дальше чуть чуть быдло-кодинга на чих-пых и готово. Так что будьте внимательны, мы тут на войне.

Хау. Я все сказал.

PS не только соцсетей это касается, просто пока они модны, и там тусуется в т.ч. много леммингов, они - лакомый кусочек, для спамеров в том числе. А так этом может быть какой нить интернет-банк, ещё что нить.

// Генератор паролей подручными средствами

На заметку, без особой гибкости, но…

В общем команда:

dd if=/dev/urandom count=128 | uuencode - | mkpasswd -s

выдаст примерно следующее:

OvdDK0TV8FZQY

или, вариация:

dd if=/dev/urandom count=128 | uuencode - | mkpasswd -s -m md5

выдаст примерно следующее:

$1$cIpngJsx$LT.EpSQS3rEQPfAeBCDhI1

поднобности:

mkpasswd --help
mkpasswd -m help
man mkpasswd

Да, вообще mkpasswd генерирует хеш последовательности… но :)

UPD:

На моей ArchLinux машинке mkpasswd утилита находится в пакете expect и работает значительно проще:

$ mkpasswd
js2ts4TG"

Длинну сгенерированной последовательности можно задать при помощи параметра -l число. Посмотреть какие параметры он понимает штатным образом не предоставляется возможнным, автор скрипта (да, это скрипт на tcl) не предусмотрел такой возможности :) Потому, кому интересно, - смотрим сам скрипт.

// Ещё немного про организацию CA (центра сертификации)

Для начала использовал программу TinyCA умеет многое и почти всё что нужно, единственно что не умеет (или я не разобрался как) делать иерархию подписывания, т.е. сертификат cert1 подписан certca, а сертификат cert2 подписан сертификатом cert1… Плюс неожиданно обнаруженная бага, при которой при экспорте сертификата в pkcs#12 для импортирования его в Windows, последний не импортируется.

Написана прога на PyGTK.

Поиски навели на проект XCA. Написан на QT4, при компиляции потребовались небольшие шаманства с файлом lib/x509rev.cpp конкретно потребовалось сделать следующее (в формате diff):

--- x509rev.cpp.orig	2008-10-02 13:19:11.000000000 +1100
+++ x509rev.cpp	2008-10-02 13:41:39.000000000 +1100
@@ -7,16 +7,21 @@
 
 #include "x509rev.h"
 
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
-#define X509_REVOKED_dup(x5r) \
-	ASN1_dup_of (X509_REVOKED, i2d_X509_REVOKED, d2i_X509_REVOKED, x5r)
+//#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+//#define X509_REVOKED_dup(x5r) \
+//	ASN1_dup_of (X509_REVOKED, i2d_X509_REVOKED, d2i_X509_REVOKED, x5r)
+//
+//#else
+//#define X509_REVOKED_dup(x5r) (X509_REVOKED *)ASN1_dup( \
+//	(int (*)(...))i2d_X509_REVOKED, \
+//	(char *(*)(...))d2i_X509_REVOKED, \
+//	(char *)x5r)
+//#endif
 
-#else
 #define X509_REVOKED_dup(x5r) (X509_REVOKED *)ASN1_dup( \
-	(int (*)(...))i2d_X509_REVOKED, \
-	(char *(*)(...))d2i_X509_REVOKED, \
+	(i2d_of_void *)i2d_X509_REVOKED, \
+	(d2i_of_void *)d2i_X509_REVOKED, \
 	(char *)x5r)
-#endif
 
 x509rev::x509rev()
 {

У кого-то наверное запустится и без этого, ибо чует моё сердце здесь многое зависит от версии компилятора и/или библиотеки OpenSSL.

Ну краткий обзор… Да управление не такое удобное как у TinyCA, хотя, возможно, это дело привычки. Но, как показалось, более функциональное. И при этом умеет иерархию. Старый корневой сертификат и ключ заимпортировал, на основе их делаю подписи. Вся база хранится в зашифрованном виде в единственном файле (база данных, подозреваю, что возможны случаи поломки всего этого дела), но возможен дамп базы, и будут по каталогам разложены сертификаты, реквесты и т.д.

Пока юзаю и разбираюсь. Время покажет.

// umask: дефолтные права к новосозданным файлам

На заметку.

Можно заметить что когда вы создаёте новый файл, к примеру, из тела програмы, при помощи fopen/open (без задания прав доступа), или командой touch из командной оболочки, этот файл приобретает какие-то предустановленные права. Значение этих прав доступа определяются значение umask.

Посмотреть текущее значение umask можно соответствующей командой:

$ umask
0026

При таком значении, права новых файлов будут 0640 - чтение/запись для владельца, чтение для группы и запрет доступа для всех остальных. Специальные биты сброшены (первый 0)

Вычисляются значения umask следующим образом:

0666 - <нужная маска> = <значение umask>

В нашем примере:

0666 - 0640 = 0026

Обычно в Linux-системах, которые я видел в последнее время, значение umask - 0022 (путем несложных вычислений получаем права доступа - 0644). Мне кажется, что не во всех случаях целесообразно разрешать ВСЕМ доступ на чтение к файлу, тем более, что иногда на сервере дается chmod +x на домашний каталог пользователя, дабы web-сервер смог получить доступ к ~/public_html (как там подробнее настраивать, это уже личное дело каждого).

Зачастую значение umask задается в стартовых скриптах, либо, в скриптах входа в оболочку. Так, в случае Archlinux значение umask задается в файле /etc/profile. Локально значение umask можно изменить в файле ~/.profile или, к примеру, ~/.bash_profile

Ну и в заключение, не сколько от себя, так, вроде, всегда было в RedHat, в качестве группы пользователя рекоменду создавать индивидуальную группу, соответствующую имени пользователя, а уже когда надо - дораздавать права.

// Protocol Info

На работе вожусь вторую неделю с биллингом и регулированием прав доступа для различных служб в интернет. Возникла проблема, пародоксальная можно сказать: все ищут способы как ЗАКРЫТЬ Skype доступ в интернет, а передо мной стал вопрос: как РАЗРЕШИТЬ Skype доуступ в интернет. Мда.

В поисках решения погуглил. Нашел такой экзотический способ как по полям пакета детектить наличие Skype траффика. Вот пример магии:

iptables -I FORWARD -p udp -m length --length 39 -m u32 --u32 '27&0x8f=7' --u32 '31=0x527c4833' -j DROP

Тут правда речь идет о блокировке, но, в общем, идея ясна.

Далее, Skype, как оказалось можно пустить через прокси (Squid), разрешив метод CONNECT на IP-адреса. Причем именно IP-адреса, а не имена хостов. Пример магии:

acl to_skype_ip         url_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
http_access allow CONNECT to_skype_ip

Нужно, кроме этого, ещё разрешить стучаться на хост ui.skype.com - отсюда он берёт информацию о новых версиях.

Опять таки, для блокировки различных видов траффика, без привязки на конкретный порт, есть программный пакет L7-filter. Список протоколов которые детектит L7-filter.

Ну в конце этого разбирательства, дошел до такой чудной вики как Protocol Info WIKI, где собственно собирается информация по протоколам, думаю что в хозяйстве пригодиться, полезное руководство. Вот что на этой вики по поводу Skype говориться: http://www.protocolinfo.org/wiki/Skype

// Управление доступом на основе ролей в SELinux

Управление доступом на основе ролей в SELinux

Управление доступом на основе ролей (Role-based access control, RBAC) – это общая модель обеспечения безопасности, которая упрощает администрирование путем назначения ролей пользователям и установки разрешений для этих ролей. RBAC в Linux с повышенной степенью безопасности (Security-Enhanced Linux или SELinux) действует как уровень абстракции между пользователем и лежащей на более низком уровне моделью type-enforcement (TE), которая обеспечивает более точное управление доступом, но не ориентирована на простоту управления. Узнайте, как совместная работа трёх элементов контекста SELinux (политика, ядро и пространство пользователя) реализует RBAC и связывает пользователей Linux® с политикой TE.

Далее...

От туда же.

SELinux из наброска

SELinux, реализация мандатного контроля доступа от U.S. National Security Agency и наиболее известная подсистема безопасности в Linux. SELinux входит по умолчанию в установочные пакеты дистрибутивов Fedora и Red Hat Enterprise Linux, а также доступна в виде отдельных установочных пакетов для других дистрибутивов. В этой статье рассказывается о том, как преобразовать систему, не использующую SELinux, вручную, для того чтобы детально рассмотреть интеграцию SELinux в операционную систему.

Далее...

// Цикл статей по защите беспроводных сетей, WPA

Решаю сейчас задачу авторизации на точке доступа WiFi посредством протокола RADIUS, конкретный радиус-сервер: FreeRADIUS.

вот цикл статей что был обнаружен в результате поиска материалов по данной тематике:

Статьи очень подробные, с примерами, фактически руководства step-by-step для конфигурирования инфраструктуры.

UPD

К сожалению по данному методоу так пока и не получилось заставить работать Windows Vista