воскресенье, 6 марта 2016 г.

lighttpd защита авторизации с помощью ssl

0. Будем считать, что lighttpd установлен.

1. Включим поддержку ssl в lighttpd:
lighttpd-enable-mod ssl
и поддержку переадресации:
nano /etc/lighttpd/lighttpd.conf
раскомментируем строку:
"mod_rewrite",
и перезагрузим lighttpd:
service lighttpd restart
будет ошибка, но можно смело продолжать далее

2. Создадим каталог для сертификатов, и перейдем в него:
mkdir /etc/lighttpd/certs
cd /etc/lighttpd/certs

3. Создаем сертификат:
openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 3650 -nodes
заполняем или нет предлагаемые данные

4. Назначим владельца сертификата, и выставим права:
chown www-data:www-data lighttpd.pem
chmod 400 lighttpd.pem

5. Укажем вэб-серверу местонахождение сертификата:
nano /etc/lighttpd/conf-enabled/10-ssl.conf

$SERVER["socket"] == "0.0.0.0:443" {
        ssl.engine  = "enable"
        ssl.pemfile = "/etc/lighttpd/certs/lighttpd.pem"

6. Настроим принудительную переадресацию на https:
nano /etc/lighttpd/conf-enabled/20-redirect-ssl.conf

$HTTP["host"] == "8.8.8.8" {
    $HTTP["scheme"] == "http" {
        url.redirect = ("^/(.*)" => "https://8.8.8.8/$1")
    }
}

$HTTP["host"] == "192.168.1.1" {
    $HTTP["scheme"] == "http" {
        url.redirect = ("^/(.*)" => "https://192.168.1.1/$1")
    }
}

$HTTP["host"] == "site.ru" {
    $HTTP["scheme"] == "http" {
        url.redirect = ("^/(.*)" => "https://site.ru/$1")
    }
}

Здесь задача перечислить все возможные адреса при обращении к которым требуется обращение по https.

7. Перезагрузим lighttpd:
service lighttpd restart
и попробуем открыть страницу сайта.

суббота, 23 января 2016 г.

список разрешенных mac в dnsmasq

Для того, чтобы разрешить к выдаче IP-адреса только определенным mac, достаточно сделать следующее - в файле /etc/dnsmasq.conf вписываем нужные mac таким образом:

dhcp-host=00:00:00:00:00:01,192.168.0.100
dhcp-host=00:00:00:00:00:02,net:known
dhcp-host=00:00:00:00:00:03,net:known
dhcp-host=00:00:00:00:00:04,net:known

и раскомментируем строку:

dhcp-ignore=tag:!known

В результате получаем следующую конфигурацию:
хост с mac 00:00:00:00:00:01 получит ip 192.168.0.100, остальные хосты с перечисленными mac просто получат IP из области которая стандартно указывается в строке:

dhcp-range=192.168.0.10,192.168.0.254,24h

хосты с неопределенными mac ip-адреса не получат.

понедельник, 18 января 2016 г.

BLACKLIST Asterisk

Добавить номер в черный список:

в extensions.conf:
exten => _X., 1, GotoIf($[${BLACKLIST()}=1]?blacklist)

добавляем номер нехороших людей в базу. в консоли asteriska делаем:
database put blacklist 79876543210 1

если надо удалить из базы:
database del blacklist 79876543210




среда, 6 января 2016 г.

NUT

Опросить ups на поддеерживаемые команды:

upscmd -l upsname@localhost -u user -p passwd

Запустить например быстрый тест батареи:

upscmd -u user -p passwd upsname test.battery.start.quick

Вывести статистику по ups:

upsc upsname@localhost

понедельник, 21 декабря 2015 г.

zabbix, очистить очередь уведомлений.

Логинимся в mysql под Вашей учеткой.

use zabbix;
delete from escalations;
update alerts set status=1 where status=0;

Мы не удаляем очередь уведомлений, а помечаем все уведомления в очереди как отработанные.



вторник, 8 декабря 2015 г.

SMS (gnokii)

Конфиг gnokii:

[global]
port = /dev/ttyS0
model = AT
initlength = default
connection = serial
use_locking = no
serial_baudrate = 115200

Скрипт-рассылка:

#!/bin/bash

PHONES="+7904XXXXXXX +7921XXXXXXX"

for myPhone in $PHONES
do

echo "хой!" | /usr/bin/sudo /usr/bin/gnokii --config /home/zabbix/sms.conf --sendsms $myPhone

done

Скрипт для Zabbix:

#!/bin/sh
LOGFILE="/var/log/zabbix-server/zabbix-sms.log"
echo "Recipient='$1' Message='$3'" >> ${LOGFILE}
MOBILE_NUMBER=`echo "$1" | sed s#\s##`

echo "echo $3 | /usr/bin/sudo /usr/bin/gnokii --config /home/zabbix/sms.conf --sendsms ${MOBILE_NUMBER}" >>${LOGFILE}

echo "$3" | /usr/bin/sudo /usr/bin/gnokii --config /home/zabbix/sms.conf --sendsms "${MOBILE_NUMBER}" 1>>${LOGFILE} 2>&1

exit 0

В /etc/sudoers добавить  (чтобы не было проблем с исполнением под пользователем zabbix, юзать visudo): 

## Send SMS with Zabbix
Defaults:%zabbix !requiretty
Defaults:zabbix !requiretty
zabbix ALL=NOPASSWD:/usr/bin/gnokii

Также добавить пользователя в группу dialout:

useradd -G dialout zabbix


пятница, 24 июля 2015 г.

Разное для Asterisk


Убить зависший peer


Сначала выведем информацию о текущих звонках

core show channels 

Убьем зависший peer --

CLI> channel request hangup SIP/xxx-xxxxxxxxxxx



Вывести версии моделей аппаратов, и номера пиров (с пробелами и переносом строк):
 for a in `asterisk -rx "sip show peers"|cut -f1 -d/` ;do asterisk -rx "sip show peer $a";done | awk '/Useragent/ {print $3"  "} /name/ {print $3,$4"  "}'  | sed ':a; /$/N; s/\n//;'



Вывести имена пользователей и их номера (с пробелами и переносом строк) :
cat /etc/asterisk/users.conf | awk '/^label/ {print $3"  "} /^fullname/ {print $3,$4"  "}'| sed ':a; /$/N; s/\n//;'

Нужно понимать, что значения print в вашем случае могут отличаться.