Защита Pure-FTPd с помощью fail2ban

На моих серверах обычно трудится FTP демон Pure-FTPd, в то же время всегда установлен fail2ban для защиты сервера по SSH. Заметил что в фильтрах fail2ban лежит файл pure-ftpd.conf, что как бы намекает: “Реализуй же ты защиту…”. Но в jail.conf о pure-ftpd упоминания небыло, заниматься было лень, а тут на днях пробило. Все действия проводились на Russian Fedora 16 (RFRemix 16). Считаем что у нас уже установлены Pure-FTPd и fail2ban. Для начала смотрим в лог pure-ftpd, есть ли в нём не удачные попытки авторизации. Если таковых нет, то попросите друга, или сами сделайте несколько ошибочных вводов пароля. Задача в том чтоб в логе появились сообщения об ошибках авторизации в нужном кол-ве, т.е. в том кол-ве, после которого клиента должно забанить. 1 cat /var/log/messages Видим попытки безуспешной авторизации? Здорово! Теперь пробуем, увидит ли их fail2ban с нынешними фильтрами 1 fail2ban-regex '/var/log/messages' '/etc/fail2ban/filter.d/pure-ftpd.conf' Скорее всего фильтр ничего не найдёт, скажет что адреса не найдены, или как-то так… Изменим фильтр, чтоб тот корректно обрабатывал современные логи pure-ftpd. # vim /etc/fail2ban/filter.d/pure-ftpd.conf Вот содержимое файла без закоментированных участков: 1 2 3 4 [Definition] __errmsg = (?:Authentication failed for user|Erreur d'authentification pour l'utilisateur) failregex = .*pure-ftpd: \(.*@<HOST>\) \[WARNING\] %(__errmsg)s \[.+\]$ ignoreregex = Сохраним файл /etc/fail2ban/filter.d/pure-ftpd.conf и попробуем снова увидит ли ошибочные авторизации fail2ban # fail2ban-regex '/var/log/messages' '/etc/fail2ban/filter.d/pure-ftpd.conf' ...

13 квітня 2016 · 2 хвилин · 340 слів · dimetrius

Импорт, или экспорт mysql баз данных с прогресс баром

Прогресс импорта, или экспорта mysql баз данных можно наблюдать с помощью консольного “Pipe Viewer”, или pv. Импорт pv /path/to/sqlfile.sql | mysql -uUSERNAME -pPASSWORD -D DATABASE_NAME Экспорт Для начала нам нужно узнать полный размер экспортируемых баз данных. Это можно посмотреть в таблице information_shema: 1 2 3 4 5 6 7 8 9 SELECT Data_BB / POWER(1024,1) Data_KB, Data_BB / POWER(1024,2) Data_MB, Data_BB / POWER(1024,3) Data_GB FROM ( SELECT SUM(data_length) Data_BB FROM information_schema.tables WHERE table_schema IN ('DATABASE_NAME') ) A; После этого можем использовать получившийся общий размер для мониторинга прогресса экспорта: 1 mysqldump -uUSERNAME -pPASSWORD DATABASE_NAME | pv -s 9999M > DATABASE_NAME.sql На этом всё. Оригинал взят на сайте dubbs.github.io

13 квітня 2016 · 1 хвилина · 107 слів · dimetrius

Исправляем на FreeBSD ошибку ufs_dirbad: bad dir

Недавно один FreeBSD сервер начал перезагружаться в течении пары минут после запуска nginx, промежуток времени всегда отличался. Во время очередного падения я заметил на основной консоли (выводе на монитор, IPMI, или iDrac) ошибочку примерно следующего содержимого: 1 2 3 4 5 ... panic: ufs_dirbad: /usr/home: bad dir ino 37643418 at offset 10752: mangled entry cpuid = 3 KDB: stack backtrace: .... Это было странно, т.к. проверка ФС с помощью fsck -y в сингле проходила без проблем. Нужно было как-то решать эту проблему. Снова таки загружаемся в сингл, смотрим содержимое fstab 1 cat /etc/fstab в моём случае раздел /usr/home был примонтирован с устройства /dev/ada1p4. Снова запускаем проверку ФС, но немного по другому 1 fsck -t ufs -y /dev/ada1p4 В этот раз fsck находит и справляет ошибки. Выполняем 1 reboot и радуемся прекрасно работающему nginx. Совсем не обязательно чтоб это был nginx, статья была написана из личного опыта с примерами из forums.freebsd.org.

13 квітня 2016 · 1 хвилина · 150 слів · dimetrius

Как добавить пользователя в группу на FreeBSD

При добавлении пользователей в отдельные группы можно просто изменять различные параметры учётной записи. Для этого нужно использовать команду PW. С помощью этого редактора на основе командной строки суперпользователь root может изменять пользователей и их группы в стандартизированной форме на FreeBSD. Такие как добавление, изменение и удаление пользователей и групп. Root доступ необходим для редактирования системных файлов и выполнения команд. Войдите как root(su) или просто припишите sudo для всех команд, которые требуют привилегий суперпользователя. Добавить нового пользователя в группу Добавить нового пользователя vasya в систему и добавить этого пользователя в группу clients. 1 pw useradd vasya -G clients Установить пароль для нового пользователя vasya. 1 passwd vasya Добавление существующего пользователя в группу Добавить существующего пользователя vasya в группу clients. 1 pw usermod vasya -G clients Вы можете добавить пользователя в несколько групп сразу одной командой. Следующая команда добавит пользователя vasya в группы clients, www-data. 1 pw usermod vasya -G clients,www-data Перевод на основе bin63.com

13 квітня 2016 · 1 хвилина · 153 слів · dimetrius

Как отучить Thunderbird жрать процессор?

Задался вопросом потому что почтовик использовал порядка 106% cpu, надо было что-то думать… И вот нашёлся рецептик: Правка - Настройки - Дополнительные - Редактор настроек - Соглашаемся - находим строку mail.db.idle_limit и меняем параметр на 30000000

13 квітня 2016 · 1 хвилина · 36 слів · dimetrius

Как переадресовывать HTTP-соединение на HTTPS в apache web-сервере?

Http-соединения могут быть переадресованы на https с помощью модуля apache mod_rewrite, который должен быть доступен в любой версии apache. Создайте файл с именем .htaccess в корневом каталоге сайта, который содержит следующие строки: 1 2 3 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} Если Вы используете ISPConfig 2 или 3, Вы можете также добавить эти строки в поле директив apache в настройках сайта, вместо их добавления в файл a .htaccess. Но метод с использованием файла .htaccess будет также работать и на ISPCONFIG. Источник Комтет

13 квітня 2016 · 1 хвилина · 84 слів · dimetrius

Как разделить полный дамп mysql на отдельные базы

Как-то пришлось мне восстанавливать всего то несколько баз из полного бэкапа mysql, который содержал в себе все базы. Довольно долго сканировал интернет и кое что нашлось. Ниже будет приведён код скрипта, который мне в этом очень помог. Но, отработал он у меня корректно только на linux, на freebsd что-то у него не получалось. Cкрипт предназначен для разрезания MySQL-дампа с несколькими базами на отдельные базы. Файлы именуются по принципу: название_базы.номер_в_общем_дампе.sql Использование ./db_split.sh файл_дампа.sql каталог_куда_складывать_дампы Скрипт 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #!/bin/bash # By Rain ;) # Создан 2008-04-01 # Изменен 2008-04-17: добавлено описание # Изменен 2008-04-18: добавлено удаление "USE DATABASE" в начале дампов # Изменен 2009-06-08: переписал с использованием awk # Проверка передачи переменных (да-да, примитивно, но надо ж ему хоть что-то проверять? :)) [ -z "$2" ] && echo "Error: directory is not set" && exit 1 [ ! -d "$2" ] && echo "Error: $2 not a directory" && exit 1 # Весь процесс awk '/^CREATE DATABASE/{nodb+=1; print "Processing DB "nodb"..."}; {print >> "'$2'/"nodb".sql"}' "${1}" echo -e "Renaming dumps..." ls -1 ${2}/*.sql | while read file do dumpname="$(head -n1 "${file}" | sed -re "s/^CREATE DATABASE|[\` ;]//g" -e "s@/\\*[\!a-zA-Z0-9_ ]*\*\/@@g")" sed -i -n '/^CREATE DATABASE/,/^USE/!p' "${file}" # Конечно, вряд ли окажутся 2 базы с одним именем, но кто знает... [ ! -e "${file%/*}/${dumpname}.sql" ] && mv "${file}" "${file%/*}/${dumpname}.sql" done echo "All done" Не забываем сделать скрипт исполняемым chmod +x ./db_split.sh ...

13 квітня 2016 · 2 хвилин · 254 слів · dimetrius

Как удалить, или заменить перенос строк в Notepad++

Для удаления, или замены строки в Notepad++ следует выделить сам перенос строки и заменить на то, что нужно: пробел, запятую и т.д. Первый способ: выделяем все строки – Ctrl + A, удаляем переносы строки – Ctrl + J. Переносы заменяются на пробелы. Далее пробелы можно заменить на нужный символ. Второй способ: Ставим курсор за последним символом верхней строки, нажимаем Shift + вправо, затем Сtrl + H, в «заметить на» прописываем нужный символ или очищаем поле, чтобы просто удалить переносы и объединить все строки.

13 квітня 2016 · 1 хвилина · 83 слів · dimetrius

Как установить текстовый редактор по умолчанию в Ubuntu?

Просмотреть список доступных текстовых редакторов и выбрать тот, который будет использоваться по умолчанию, можно следующим образом: 1 sudo update-alternatives --config editor Результатом выполнения этой команды будет 1 2 3 4 5 6 7 8 There are 3 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/vim.basic 30 auto mode 1 /bin/ed -100 manual mode* 2 /usr/bin/mcedit-debian 25 manual mode 3 /usr/bin/vim.basic 30 manual mode Press enter to keep the current choice[*], or type selection number: Вводите цифру соответствующую текстовому редактору, и все!

13 квітня 2016 · 1 хвилина · 87 слів · dimetrius

Количество полуоткрытых TCP соединений в Linux

В качестве заметки для себя Узнать текущее значение 1 sysctl net.ipv4.tcp_max_syn_backlog Изменить текущее значение 1 sysctl -w net.ipv4.tcp_max_syn_backlog=2048 Чтобы данное изменение сохранялось после перезагрузки, можно в /etc/sysctl.conf добавить 1 net.ipv4.tcp_max_syn_backlog=2048

13 квітня 2016 · 1 хвилина · 30 слів · dimetrius