защита sip от перебора
fail2ban — достаточно удобный способ защиты сервисов от перебора паролей и других атак на основе анализа log файлов приложений.
представляет собой набор скриптов на phyton
имеется в портах freebsd и пекетах debian,ubuntu
настройки специфичные для asterisk:
The contents of /etc/fail2ban/filter.d/asterisk.conf should be the following:
#
#
# $Revision: 250 $
#
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
#before = common.conf
[Definition]
#_daemon = asterisk
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
#
failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Wrong password
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - No matching peer found
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Username/auth name mismatch
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Device does not match ACL
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Peer is not supposed to register
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - ACL error (permit/deny)
NOTICE.* <HOST> failed to authenticate as '.*'$
NOTICE.* .*: No registration for peer '.*' \(from <HOST>\)
NOTICE.* .*: Host <HOST> failed MD5 authentication for '.*' (.*)
NOTICE.* .*: Failed to authenticate user .*@<HOST>.*
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
</code>
Next edit /etc/fail2ban/jail.conf to include the following section so that it uses the new filter. This does a 3-day ban on the IP that performed the attack. It is recommend to set the bantime in the [DEFAULT] section so if affects all attacks. It is also recommend to turn on an iptables ban for ssh, httpd/apache, and ftp if they are running on the system. Be sure to edit the sendmail-whois action to send notifications to an appropriate address:
enabled = true
filter = asterisk
action = iptables-allports[name=ASTERISK, protocol=all]
mail-whois[name=ASTERISK, dest=root, sender=sip3@unetcom.ru]
logpath = /var/log/asterisk/full
maxretry = 4
bantime = 259200
To change this format, open /etc/asterisk/logger.conf and add the following line under [general] section (You may have to create this before the [logfiles] section). This causes the date and time to be formatted as Year-Month-Day Hour:Minute:Second, [2008-10-01 13:40:04] is an example.
dateformat=%F %T
для применения изменений перезапустим логгер
Windows RSync — DeltaCopy
Есть отличная тулза, выступающая в роли клиента и сервера rsync под Windows.
Одна ее проблема — не понимает кириллицу. Об этом писали тут.
К сожалению, cygwin.dll с поддержкой UTF-8 мне найти так и не удалось. Старая ссылка больше недоступна.
Скачать пропатченный cygwin1.dll можно тут
На всякий случай закачал либу к себе: cygwin1-dll-20-11-18.tar
Еще момент — при добавлении в виндовый шедулер заданий нужно обязательно убедиться, что расширению .dcp сопоставлено DeltaC.exe
Результат — все отлично работает!
Postgres 8.4 + FreeBSD 8.x
Для увеличения максимального к-ва коннектов, осбслуживаемых постгресом:
sysctl.conf
kern.ipc.shmmax=2147483648
kern.ipc.shmall=2097152
loader.conf
kern.ipc.semmni=256
kern.ipc.semmns=32000
kern.ipc.semmnu=256
postgresql.conf
max_connections = 250
Postgres: получение всех CONSTRAINTS
SELECT tc.constraint_name,
tc.constraint_type,
tc.table_name,
kcu.column_name,
tc.is_deferrable,
tc.initially_deferred,
rc.match_option AS match_type,
rc.update_rule AS on_update,
rc.delete_rule AS on_delete,
ccu.table_name AS references_table,
ccu.column_name AS references_field
FROM information_schema.table_constraints tc
LEFT JOIN information_schema.key_column_usage kcu
ON tc.constraint_catalog = kcu.constraint_catalog
AND tc.constraint_schema = kcu.constraint_schema
AND tc.constraint_name = kcu.constraint_name
LEFT JOIN information_schema.referential_constraints rc
ON tc.constraint_catalog = rc.constraint_catalog
AND tc.constraint_schema = rc.constraint_schema
AND tc.constraint_name = rc.constraint_name
LEFT JOIN information_schema.constraint_column_usage ccu
ON rc.unique_constraint_catalog = ccu.constraint_catalog
AND rc.unique_constraint_schema = ccu.constraint_schema
AND rc.unique_constraint_name = ccu.constraint_name
SVN copy folder to another repository
svnadmin dump /svn/old_repos > ./repository.dump
svndumpfilter include path/to/docs --drop-empty-revs --renumber-revs --preserve-revprops < ./repository.dump > ./docs_only.dump
svnadmin load --parent-dir dir_to_commit /svn/new_repos < ./docs_only.dump
Менеждеры пакетов для Mac OS
Mac Ports
Находится тут
Очень хорошая коллекция, есть даже pgbouncer
Brew
Первая и единственная зависимость Homebrew — OS X Developer Tools, которые есть на любом установочном диске с OS X и доступны для бесплатного скачивания с сайта Apple.
Самое простое — установить в /usr/local. Это можно сделать весьма просто:
# Присваиваем папку /usr/local себе, чтобы не использовать sudo
sudo chown -R `whoami` /usr/local
# Чиним права на mysql, если он у вас установлен
sudo chown -R mysql:mysql /usr/local/mysql
# Скачиваем и устанавливаем Homebrew с гитхаба
curl -L github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local
PostgreSQL 9.0
Exclusion Constraints:
http://developer.postgresql.org/pgdocs/postgres/ddl-constraints.html#DDL-CONSTRAINTS-EXCLUSION
http://www.depesz.com/index.php/2010/01/03/waiting-for-8-5-exclusion-constraints/