Как стать автором
Обновить
124
0
Артур Шакиров @akshakirov

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

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

Авторизация пользователей в ProFTPD по учетным записям форума

Время на прочтение3 мин
Количество просмотров2.3K
Недавно появилась необходимость запретить вход кому попало на FTP сервер, то есть заблокировать вход под anonymous. Но содержать отдельную базу с FTP пользователями неудобно, а более того неэффективно. Думал-думал, и решил авторизировать пользователей по учетной записи форума, в моем случае SMF. Пользователи хранятся в MySQL таблице smf_members, имя пользователя в memberName, а пароль в passwd. У ProFTPD есть хорошо документированная возможность получать учетные данные с PostgreSQL / MySQL. Но вот беда, у форума пароли хранятся в хеше SHA1, да и в начало пароля добавляется имя пользователя в нижнем регистре. А ProFTPD ожидает, что ему из SQL-запроса к базе вернется пароль в форматах MySQL PASSWORD(), Crypt, либо Plaintext. Само собой, никакого SHA1 там нет, не говоря уже о том, что к паролю еще добавляется имя пользователя. Гуглил день, другой, все жалуются на подобное, а готового решения никто не предлагает.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии30

Потоковое видео средствами ffserver & ffmpeg

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

Для организации трансляции нам потребуется:


  • Linux
  • FFmpeg (включает в себя ffserver)

Теория


FFmpeg — это набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровое аудио и видео в различных форматах. Он включает libavcodec, библиотеку кодирования и декодирования аудио и видео и libavformat, библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и «FF», означающего «fast forward».

© Wikipedia

ffserver идёт в комплекте с ffmpeg и выполняет роль медиа-сервера — получает видеопоток от ffmpeg, который может быть запущен на другой машине, и раздаёт его счастливым пользователям.
Каждый получаемый поток называется Feed’ом (далее будет просто фид). Таких потоков может быть несколько, так же как и отдаваемых (выходных).
FFmpeg у нас будет захватывать видео с веб-камеры или читать из файла.
Читать дальше →
Всего голосов 49: ↑41 и ↓8+33
Комментарии34

Запуск виртуальной машины в VirtualBox без GUI

Время на прочтение3 мин
Количество просмотров61K
VirtualBoxИногда возникает необходимость запустить виртуальную машину на хосте без иксов. Я расскажу о том как это сделать, имея доступ к хостовой системе только по ssh + rdp (Remote Desktop Protocol). процесс я буду описывать для OC Ubuntu 9.10 в качестве хоста.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии20

deb-пакет на коленке

Время на прочтение3 мин
Количество просмотров12K
Задача: создать пакет для Debian для выливки демона/сайта на сервер.
Я никогда ранее не работал с deb-пакетами — так что решение может быть не оптимальным. Но оно работает и достаточно просто в использовании.
Читать дальше →
Всего голосов 73: ↑63 и ↓10+53
Комментарии47

GPRS/EDGE/3G-интернет при помощи Nokia E-71 и Bluetooth в Linux

Время на прочтение3 мин
Количество просмотров4.6K
В данной статье речь пойдёт о том как настроить подключение к мобильному интернету используя компьютер с Ubuntu 9.10 с установленным bluetooth-адаптером. Данные сведения универсальны и могут быть применены в любом дистрибутиве обладающем соответствующим ПО.

Итак нам потребуется телефон (у меня это Nokia E-71), bluetooth-адаптер (мой называется Prolife и больше я о нём ничего не знаю) ну и конечно компьютер с установленным на нём Ubuntu 9.10.
Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии49

Использование snort для блокирования атак скрипт-киддисов

Время на прочтение3 мин
Количество просмотров13K
Данная статья не претендует на полноту описания системы snort, а всего лишь предлагает пользователю готовое решение для защиты своего сервера от маленьких шаловливых ручек.
Я лично ставил всё это дело на OpenBSD, но от смены системы суть не меняется.

Лирическое отступление

snort (http://snort.org) — система обнаружения атак (NIDS) для сетей ipv4 на базе libpcap. Сам по себе — обычный tcpdump. Но к нему можно создавать правила, по которым он будет блокировать вредный траффик и создавать события безопасности (alert).
У меня стоит связка snort-сенсоров, связанных между собой через коллектор на базе дописанного prelude (http://prelude-ids.org). Все правила написаны собственноручно.
Результаты (по статистике работы за 4 месяца):
Ложных срабатываний — около 2% (средний траффик — 120 мбит/сек).
Блокировок за день — около 15.
Количество пропущенных атак — 0 (после внедрения системы безопасности ни один сервер не был взломан. Под защитой стоят хостинг и VDS).
В дополнение дописаны модули автоабьюса по базе данных RIPE и блокировки траффика на корневой циске.

Итак, имеем:
Некий сервер с установленным на нём snort-inline (в случае *BSD устанавливается из портов, в случае Linux'а — из исходников с указанием опции --enable-inline).
Для начала настраиваем сам snort (для вашей ОС пути могут отличаться — смотрите дефолтный конфиг). /etc/snort/snort.conf
конфигурация
Всего голосов 33: ↑29 и ↓4+25
Комментарии39

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Время на прочтение16 мин
Количество просмотров40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Всего голосов 375: ↑368 и ↓7+361
Комментарии105

Кеширование FastCGI-запросов в nginx

Время на прочтение2 мин
Количество просмотров28K
Доброе утро, Хабр!

В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии27

Memcached. Как найти ключи по паттерну?

Время на прочтение6 мин
Количество просмотров9.4K
Доброе утро|день|вечер|ночь, %username%!

При использовании Memcached, иногда могут возникнуть вопросы: «А как посмотреть все ключи Memcached?» или «Как найти все ключи по маске „*“ или „sql_*“ ?»
Вот тогда открываются мануалы и начинается поиск такой функции, но, к сожалению, такой не оказывается :-(
Потом начинается Гугление… И там особо ничего нет :-(
А потом начинается поиск незадокументированных возможностей :-) и тут «Ура! Нашел!»

Читать дальше →
Всего голосов 61: ↑39 и ↓22+17
Комментарии44
12 ...
7

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность