Как стать автором
Обновить
17
0
Коваленко Александр @bumsaver

Пользователь

Отправить сообщение

Новая старая методика защиты от почтового спама на базе MTA Exim

Время на прочтение16 мин
Количество просмотров29K
Хочу представить описание методики защиты корпоративной почты от спама, позволяющей использовать преимущества отдельных инструментов фильтрации адресов, избегая недостатков этих же методов.
Можно выделить, что эти приемы можно использовать на SMTP-прокси, закрывающем корпоративный почтовый сервер, находящийся в DMZ.

Зачастую администраторы избегают некоторых эффективных приемов фильтрации, из-за недостатков того или иного подхода. Например — фильтры DNSBL нередко дают ложные срабатывания на те узлы, которые попадают в него по ошибке — например, в составе всего блока адресов отдельного провайдера. Часто используемый способ фильтрации на основе простого определения PTR-записи тоже имеет свойство давать сбои в случаях, когда записи A и PTR — не совпадают, или просто возникли проблемы со службой DNS.

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

Данная методика существует давно, мне встречались разные реализации этой идеи разными специалистами, а эта вариация в более кратком виде была описана мною еще 5 лет назад в рассылке exim-users@exim.org (статью еще можно найти в архиве рассылки), но, несмотря на простоту реализации и наличие документации, сейчас они применяются почтовыми администраторами нечасто.

На примере почты компании «Horns'n'Hoofs» с доменом hornsnhoofs.com попробуем рассмотреть не выдуманные, а вполне работоспособные «в бою» приемы фильтрации.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии24

Mikrotik-Qos Приоритезация по типу трафика и деление скорости

Время на прочтение25 мин
Количество просмотров257K

Mikrotik-Qos Приоритезация по типу трафика и деление скорости



imageДоброго времени суток, сегодня речь пойдет о наболевшем, а именно о том, как грамотно разделить интернет канал, чтобы все ваши пользователи были максимально довольны.
Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии13

Нифига себе сходил за хлебушком, или история одного взлома

Время на прочтение8 мин
Количество просмотров115K
Всё началось с того, что ко мне (как к фрилансеру) обратились за помощью и попросили настроить exim4 так, чтобы почтовая рассылка не попадала в спам. Даже заботливо ссылку прислали на замечательную статью.

Работы на пару часиков включая обновление DNS, но не тут то было. Залогинившись под рутом я включил свой любимый screen по привычке командой screen -x и лицезрел прелюбопытнейшее действо в любимой многими папке /dev/shm. Злоумышленник не удосужился прикрыть сессию screen, либо всё еще работал в ней. И тут начинается квест:

Первое, что я сделал — просмотрел, чем же занимался злоумышленник:

Читать дальше →
Всего голосов 592: ↑576 и ↓16+560
Комментарии150

Как сделать один сайт для всех устройств (Responsive Web Design)

Время на прочтение3 мин
Количество просмотров289K
Вчера была опубликована хорошая статья «Веб-дизайн. Каждому устройству свое представление». Несмотря на неплохие размышления, к сожалению, вывод в ней довольно глупый. А именно:

«Нужно определить, какими устройствами могут пользоваться ваши посетители, проработать и создать для этих устройств представление вашего сайта, определить устройство посредством проверки заголовков браузеров, и отправить наиболее подходящее представление

Почему это глупо


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



Это скриншот из презентации «Beyond the mobile web by yiibu» (очень рекомендую).

Во-вторых, если вы не facebook или yandex, скорее всего, вы не потянете создание и поддержку разных версий сайта для каждого устройства. Да и это не имеет особого смысла. Потому что ситуация становится похожа на реалии пятнадцатилетней давности. Тогда делали сайт «под браузер», а сейчас автор предлагает делать сайт «под устройство».

Как сделать один сайт для всех устройств

Читать дальше →
Всего голосов 159: ↑148 и ↓11+137
Комментарии75

Учим bash-скрипты, пишем Xonix

Время на прочтение7 мин
Количество просмотров21K
Прочитал я пару недель назад на хабре статью Учим bash-скрипты, пишем Sokoban и подумал, что тоже знаю bash и могу что-нибудь написать, а заодно ещё лучше узнать bash. Подумал ещё и вспомнил, что давно хотел написать Xonix, когда-то этой игрой заигрывался на своём старом 386-м. И вот, несколько бессонных ночей и скрипт готов. Если интересно как это писалось, какие проблемы возникали, то добро пожаловать под хабракат.


Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии23

Недокументированные возможности secure_link

Время на прочтение2 мин
Количество просмотров14K
  Начиная с версии 0.8.50 в модуле Nginx secure_link появилось значительное улучшение по защите ссылок от подделывания. Как ни странно, новые возможности до сих пор не отражены в официальной документации [1]. Описание на английском можно найти на сайте Nginx Community [2], а также пояснения Сысоева по данным изменениям [3]. Код на PHP для генерации защищённых ссылок можно найти в форуме по nginx [4].
 В общем, новшество выглядит так:
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии30

Pdmenu или как не дать новичку ошибиться

Время на прочтение3 мин
Количество просмотров1.9K
image

Привет, Хабр!

У многих системных администраторов наверняка бывали случаи, когда доступ к серверу приходилось предоставлять неопытному или непроверенному человеку. Соблюдая меры предосторожности вполне можно оградить себя от проблем, но что делать, если человек вообще не знаком с консолью?

«Категорически отказать!» — скажете вы и будете правы. Но, что делать, если этот человек — ваш босс?
Читать дальше →
Всего голосов 78: ↑73 и ↓5+68
Комментарии33

Установка Debian удалённо: PXE + SSH

Время на прочтение2 мин
Количество просмотров19K

Задача


Установить Debian Lenny на сервер, который находится на удалённой площадке.
На площадке уже есть один Linux-based сервер, и есть инженер, который может подключить новый сервер к сети и включить.

Решение


Загрузить образ netinstall по PXE и воспользоваться пакетом network-console для установки, используя ssh.
Кому интересно, смотрим подробности
Всего голосов 33: ↑30 и ↓3+27
Комментарии17

Как установить Debian Linux с USB flash

Время на прочтение3 мин
Количество просмотров201K
В этой статье вы узнаете, как создать USB flash диск, с которого можно будет установить Debian Linux.

Введение


Здесь я расскажу, как подготовить загрузочную USB флешку с Debian Lenny и установить с неё Debian на любой накопитель (IDE/USB HDD). Заметьте, что в этой статье описывается не то, как установить Debian на USB диск/флешку, а то, как создать «Инсталляционный USB диск». То есть результатом станет то, что вы сможете установить Debian Lenny с USB накопителя, вместо традиционного CD-ROM.

Существует несколько путей установки Debian Lenny:
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии29

Транслируйте вашу музыку в любую точку земли и делитесь ей с друзьями

Время на прочтение3 мин
Количество просмотров3.2K
Subsonic — свободный медиа плеер
использующий веб-интерфейс для воспроизведения музыки или ваш любимый проигрователь.

Demo вы можете попробовать прямо сейчас.

Если понравилось - следуем далее
Всего голосов 12: ↑4 и ↓8-4
Комментарии7

Установка для «чайников»: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»

Время на прочтение7 мин
Количество просмотров78K
Данная заметка является шпаргалкой для новичков в установке нормально работающего комплекса, описанного в заголовке. Все пункты установки протестированы несколько раз на разных vds, поэтому проблем с нехваткой чего-то быть не должно, как это обычно бывает, когда ставишь что-то по мануалам, надерганных из разных источников. Подробно описания настроек и «тюнинга» в заметке нет, т.к. это всё очень индивидуально и требует понимания что, как и зачем делается, а это невозможно охватить в одной даже очень большой шпоре.
Читать дальше →
Всего голосов 76: ↑56 и ↓20+36
Комментарии78

Объединение двух локальных сетей с одинаковым номерами сетей на Linux-шлюзе

Время на прочтение5 мин
Количество просмотров43K
При создании локальной сети не каждый администратор подходит с ответственностью к выбору диапазона адресов. А может и не каждый догадывается о наличии частных диапазонов кроме 192.168.0.0/24. И со временем такая бомба замедленного действия может дать о себе знать. Локальные сети объединяются, возникает потребность в коммуникации между хостами разных сетей. И тут выясняется, что номера сетей совпадают. И менять их по каким либо причинам проблематично или невозможно.
Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии61

Linux: запуск графических приложений в фоне

Время на прочтение3 мин
Количество просмотров60K
Приветсвую, коллеги!

— Вы хотите запустить linuxdcpp из консоли на домашнем компьютере находясь на работе?
— Вы хотите, чтобы он запускался сразу после загрузки системы, но не желаете использовать автологон?
— На вашем сервере есть программа, которая работает только в графическом режиме, но вы не хотите держать графическую сессию пользователя всё время включенной?

Если ответ хотя бы на один из вопросов «да», то эта статья для вас.

Читать дальше →
Всего голосов 89: ↑84 и ↓5+79
Комментарии28

Блокировка нежелательного DNS трафика

Время на прочтение5 мин
Количество просмотров39K


У Вас может быть идеально настроено конечное сетевое оборудование, полный порядок в кластерах, могут быть пустыми магистрали и не нагруженное оборудование ядра сети, но если у Вас плохо работает DNS, то Ваши клиенты будут недовольны.

Отсюда следует простой вывод — Ваши рекурсивные DNS сервера должны быть всегда доступны и в состоянии обслужить запросы клиента.

Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии46

Основы Linux от основателя Gentoo. Часть 2 (3/5): Управление процессами

Время на прочтение7 мин
Количество просмотров57K
В этом отрывке рассмотрены команды управления процессами. Вы научитесь замораживать процессы, размораживать, отправлять в фоновый режим, изменять приоритет, просматривать запущенные процессы и жестоко их убивать. Введено понятие сигналов. Рассмотрены такие команды, как bg, fg, jobs, kill, nohup, nice, renice, ps и top.



Навигация по основам Linux от основателя Gentoo:

Часть I
  1. BASH: основы навигации (вступление)
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки (итоги и ссылки)

Часть II
  1. Регулярные выражения (вступление)
  2. Назначения папок, поиск файлов
  3. Управление процессами
  4. Обработка текста и перенаправления
  5. Модули ядра (итоги и ссылки)


Читать дальше →
Всего голосов 63: ↑61 и ↓2+59
Комментарии20

Защита от DDOS атаки случайными аргументами при помощи Nginx

Время на прочтение1 мин
Количество просмотров3.3K
Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
GET someurl/?t1555ss5326=5326, где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение "?", если в URI идут аргументы. Базовая конструкция выглядит так:

if ($is_args = "?") {
return 403 444;
}

Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты:
load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.
Всего голосов 94: ↑79 и ↓15+64
Комментарии55

cut и grep или awk?

Время на прочтение2 мин
Количество просмотров78K
Часто в скриптах можно встретить что-то вроде foobar|awk '{print $1}' («часто» — это действительно часто).

Такой вызов awk всего лишь вывходит первую (n-ную) колонку из вывода предыдущей команды. Но это явный оверкилл! awk — довольно мощный язык потоковой обработки данных, и применение его как простого field-separator не есть хорошо.

Для вырезания из строки указанного поля лучше использовать команду cut. Она умеет меньше, а потому проще в использовании и быстрее.

В современном линуксе обработка вызова awk куда более сложна, чем вызов cut. В дебиане, например, awk — линк на /etc/alternatives/awk, который ведёт (чаще всего) на gawk. Который почти в 10 раз больше по размеру, чем cut. Разумееся, cut загружаеся быстрее.

cut умеет вырезать не только байты, но и нужные поля (опция -f). Поле — это текст между разделителями. По-умолчанию разделитель пробел/табуляция, но он легко меняется опцией -d.

Второй подход — использовать опцию -o у grep. Эта опция выводит не всю строку, а только совпадающее с критерием поиска grep. Очевидно бесполезно при поиске точной подстроки, но очень полезно при использовании регулярных выражений.

Например,
grep -v "#" /etc/inittab |cut -f 4 -d : -s
выведет список программ, запускающихся init'ом (четвёртое поле, поля разделяются двоеточием).

Или
grep http://\\S\\+ -o /var/log/apache2/error.log
выдаст список URL'ов из файла с ошибками (первый урл в строке).

… и никакого awk.

UPD: В комментариях подсказывают ещё более интересную конструкцию без запуска внешнего файла (команда read реализуеся средствами bash'а):
foobar | (read p1 p2; echo p1)

P.S. Речь не о единичном вызове (тут нет разницы awk, grep или даже python/perl). Речь о множестве вызовов в цикле в скрипте. Все примеры сравнивайте в цикле с сотнями (лучше тысячами) вызовов.
Всего голосов 85: ↑77 и ↓8+69
Комментарии58

HTML5 Video — от А до Я

Время на прочтение6 мин
Количество просмотров234K
Да, да, это очередная статья про html5 и тэг < video >. Но главным ее отличием будет то, что здесь будут рассмотрены самые базовые понятия и теории. Так что приготовились внимательно читать и записывать, let html5 rocks!
Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии26

Почему текст, набранный заглавными буквами, трудно читать

Время на прочтение2 мин
Количество просмотров64K
image
Неизвестно откуда пошла мода на оформление текста заглавными буквами, но факт остается фактом – использование заглавных букв окружает нас повсеместно. Если вы напишете в интернете текст прописными, люди решат, что вы кричите, или усомнятся в вашем психическом здоровье. Но чаще всего все прописные раздражают людей, а текст написанный таким образом очень трудно быстро прочесть.
Читать дальше →
Всего голосов 208: ↑185 и ↓23+162
Комментарии164

Внутри MP3. А как оно всё устроено?

Время на прочтение5 мин
Количество просмотров105K


Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало — решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).
Читать дальше →
Всего голосов 231: ↑219 и ↓12+207
Комментарии55

Информация

В рейтинге
Не участвует
Откуда
Херсон, Херсонская обл., Украина
Дата рождения
Зарегистрирован
Активность