Author Archive

how to login to postgres console

sudo sh
su – postgres
#psql database username
psql bitmountain postgres

стук на открытие порта ssh

Самое простое — открывать порт ssh (22) после стука в заданный высокий порт:

iptables -N ssh_knock # Создаем цепочку для проверки попыток соединений на защищаемый порт
# Если за последние 60 секунд было 2 и более стука — блокируем, на всякий случай
iptables -A ssh_knock -m recent --rcheck --seconds 60 --hitcount 2 -j RETURN
# Если за последние 10 секунд стук в нужный порт был — разрешить соединение
iptables -A ssh_knock -m recent --rcheck --seconds 10 -j ACCEPT
iptables -F INPUT # Очищаем цепочку INPUT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Разрешаем пакеты по установленным соединениям
# Все попытки открыть новое соединение по SSH направляем на проверку
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ssh_knock
# Здесь мы добавляем правило для регистрации стука
iptables -A INPUT -m state --state NEW -p tcp --dport 27520 -m recent --set
# Опять же на всякий случай — при стуке в соседние порты закрываем SSH
iptables -A INPUT -m state --state NEW -p tcp -m multiport --dport 27519,27521 -m recent --remove
iptables -P INPUT DROP # Что не разрешено — то запрещено

Даже в таком простом примере присутствуют жесткие меры защиты: защищаемый порт ssh (22) открывается на 10 секунд после стука в заданный порт (27520), при этом более одного стука в этот порт в течение минуты считается ошибкой. Также стук в соседние с заданным порты сразу закрывает защищаемый порт. Это делается в целях защиты от подбора стука.

Защита от брут-форса

iptables -N ssh_knock # Создаем цепочку для проверки
# Если за последние 10 минут было 5 и более попыток соединения — блокируем
iptables -A ssh_knock -m recent --name ssh --update --seconds 600 --hitcount 5 -j RETURN
# Регистрируем
iptables -A ssh_knock -m recent --name ssh --set
# Если за последние 5 секунд было менее двух попыток — блокируем
iptables -A ssh_knock -m recent --name ssh ! --rcheck --seconds 5 --hitcount 2 -j RETURN
# Все остальное — разрешаем
iptables -A ssh_knock -j ACCEPT
iptables -F INPUT # Очищаем цепочку INPUT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Разрешаем пакеты по установленным соединениям
# Все попытки открыть новое соединение по SSH направляем на проверку
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ssh_knock
iptables -P INPUT DROP # Что не разрешено — то запрещено

Идея метода проста: защищаемый порт открывается со второй попытки, т.е. стук идет непосредственно в него. Вторую попытку нужно сделать в течение 5 секунд после первой. При этом 5 и более попыток за десять минут блокируются (во избежание брутфорса).

Переменная PRI_CAUSE (ISDN Cause code)

Переменная PRI_CAUSE используется для передачи информации по линиям связи ISDN PRI о причине разрыва связи до ее фактического разрыва.

Переменная появилась, начиная с версии 1.0 сервера Asterisk.

Для каналов: Zap PRI, chan_capi и chan_misdn BRI есть возможность установки значения переменной PRI_CAUSE до выполнения команды Hangup(). Это приведет к тому, что в отправляемом сообщении PRI DISCONNECT будет установлен параметр CAUSE, который может быть использован телефонным коммутатором.
Read more

Запись потокового радио в mp3 файл

На случай если нужно записать какую-то радио программу и под рукой есть консоль Линукс, то нет ничего проще 🙂

mplayer http://showtcast.test.ru:8128 -dumpstream -dumpfile recorded_music.mp3 -vc dummy -vo null

Сервисы в voip телефонах

Чтобы начать использовать сервисы в телефонах Cisco нужно в конфиг файл телефона добавить строки:

Для Cisco 7910(7911, 7941)^

1
<servicesurl>http://10.0.1.1/cisco/directory.php</servicesurl>

для 7940:

1
services_url: "http://10.0.1.1/cisco/directory.php"

Read more

Использование хост-интерфейса для виртуальной машины в Ubuntu

Начиная с версии 2.1.0, VirtualBox поддерживает использование хост-интерфейса «из-коробки». Добавьте vboxnetflt в секцию MODULES вашего rc.conf и выберите Host Interface Networking в настройках виртуальной машины.

Для более старых версий необходимо проделать несколько манипуляций 🙂

читаем далее……

Read more

вумні слова

Часто мы говорим “Не люблю”, а в душе у нас текут слёзы.
Часто мы говорим “Ненавижу” только для того, чтобы мы сами поверили в это.
Часто мы говорим “Прощай” в надежде увидеть человека ещё раз.
Мы говорим “Уйди”, чтобы человек не видел наших слёз.
Мы говорим “Никогда”, когда знаем что это случится вновь.
Мы говорим “Разлюбил(а)”когда боимся признаться в своих чувствах.
Мы говорим “Я тебя забыл(а)” когда мысль о человеке не выходит из головы.
Мы говорим “Я удалила его(ее) номер” когда помним его наизусть.
Мы говорим “Между нами все кончено” когда все только начинается.
Иногда мы не можем сказать “Люблю” когда боимся услышать ответ.
Мы просим чтобы нас “Оставили одних”, когда нуждаемся в чьей-то поддержке.
Мы “Надеемся”, когда нет никаких шансов.

UTF8 и проблемы кодировки XAP

проблема Кодировки ссылок ксапы

есть 2 варианта решения:

Read more

Пакетное переименование файлов

Иногда бывает нужно переименовать большое количество файлов в соответствии с каким-либо правилом. Например, мне было нужно немного систематизировать файлы в папке с обоями для рабочего стола, для чего я их решил переименовать таким образом, чтобы название каждого файла в этой папке начиналось с разрешения wallpaper’а. Естественно, что вручную переименование файлов заняло бы очень много времени. Но была найдена простенькая программа, с помощью которой можно пакетно переименовывать файлы в папке, называется она GPRename.

Read more

Asterisk 1.4 [1.6] on Gentoo

захотелось поставить себе версию 1.4 … а еБилдах доступна только 1.2.27 🙁

Read more