Архив автора: mno

iSpy — уведомления в Telegram при обнаружении движения

Появилась необходимость получать уведомления при обнаружении движения от камеры видеонаблюдения. Камера была добавлена в iSpy.

При обнаружении движения iSpy умеет выполнять пользовательский скрипт, который отправляет уведомление в Telegram в определённый заранее канал или чат.

Для работы скрипта необходим curl под Windows, скачать можно тут. Батники я положил в одну директорию с curl.exe — нет необходимости в скрипте указывать путь до экзешника.

  Читать далее

0

Как получить chat id из канала telegram

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

Делаем канал публичным (можно после сделать приватным) и выполняем, изменив выделенное на своё:

curl https://api.telegram.org/botBOT:TOKEN/getChat?chat_id=@mychannelname

В ответ получите что-то типа:

{«ok»:true,»result»:{«id»:-100ХХХХХХХХХ8,»title»:………

Вот и искомый ID, использовать со знаком —

Проверить отправку сообщений в чат:

curl --header 'Content-Type: application/json' --request 'POST' --data '{"chat_id":"-100ХХХХХХХХХ8","text":"Проверка"}' "https://api.telegram.org/botBOT:TOKEN/sendMessage"

0

Samba share на CentOS 6

Создаем директорию, которая станет шарой, в моем случае:

mkdir /samba-share

Устанавливаем самбу и добавляем в автозагрузку:

yum install samba
chkconfig smb on

Идём в директорию с конфигом и бекапим дефолтный конфиг на всякий случай:

cd /etc/samba/
mv smb.conf smb.conf-default

Создаем свой smb.conf подобного содержания:

#========== Global Settings ================

[global]

workgroup = WORKGROUP # Имя рабочей группы

security = user

map to guest = bad user

min protocol = SMB1 # Минимальный и максимальный протокол самбы, если не указать то на последних сборках Windows не открывается
max protocol = SMB2

#========= Share Definitions ===============

[NWSC] # Имя шары

path = /samba-share # Путь до директории

writable = no

read list = root # Список пользователей, кто может читать

write list = root # Список пользователей, кто имеет право на запись

В моем случае я использую уже имеющуюся учётку root, при желании можно создать ещё пользователя и дать ему права на созданную папку.

Далее добавляем системного пользователя в базу пользователей самба и задаем ему пароль:

smbpasswd -a root

Открываем порт 445 например для посети 10.10.10.0/24 в iptables:

iptables -I INPUT 1 -s 10.10.10.0/24 -p tcp -m tcp --dport 445 -j ACCEPT
iptables-save

Запускаем самбу:

service smb start

Всё должно работать, дебажить просмотром лога или командой smbstatus

0

Памятка по командам openssl

Сгенерировать новый приватный ключ:

openssl genrsa -out my.key 2048


Создать CSR на основе ключа:

openssl req -new -out my.csr -key my.key


Конвертировать из DER в PEM:

openssl x509 -inform der -in certificate.cer -out certificate.pem


Читать далее

0

Базовая HTTP авторизация nginx/apache

Создаём файл с учётками и добавляем туда пользователя/пароль:

htpasswd /var/www/nfsen/.htpasswd test

Идём в конфиг сайта (по дефолту у HTTPD /etc/httpd/conf/httpd.conf) и в параметрах хоста добавляем следующее (выделено красным):

<VirtualHost *:80>
ServerName netflow.local
DocumentRoot "/var/www/nfsen"
Alias /icons "/var/www/nfsen/icons"
<Directory "/var/www/nfsen">
AuthType Basic
AuthName "nfsen"
AuthUserFile /var/www/nfsen/.htpasswd
Require valid-user
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

После перезапуска web-сервера будет происходить запрос авторизации.

Удаление пользователя делается так:

htpasswd -D /var/www/nfsen/.htpasswd test

0

Запрос wildcard сертификата от Let’s Encrypt и использование его для Jira и Confluence

1. Переходим на https://www.sslforfree.com/ и указываем необходимый домен с маской, например https://*.mydomain.com

на скриншотах замазана конфиденциальная информация
Читать далее
0

Сертификат с несколькими IP SANS или Common Name

Для создания такого сертификата нам потребуется заранее подготовить конфиг для opnessl вида:

В разделе alt_names можно указать сколько угодно IP для подписи, а для подписи нескольких Common Name а не IP меняем параметры IP.1 на DNS.1 итд)

nano openssl.cnf
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[req_distinguished_name]
countryName = RU
countryName_default = RU
stateOrProvinceName = Moscow
stateOrProvinceName_default = Moscow
localityName = Moscow
localityName_default = Moscow
organizationalUnitName = MYCORP
organizationalUnitName_default = MYCORP
commonName = 192.168.1.1
commonName_max = 64
[v3_req]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
IP.1 = 192.168.1.2
IP.2 = 192.168.1.3
IP.3 = 192.168.1.4
IP.4 = 192.168.1.5

После подготовки конфига мы можем сгенерировать приватный ключ и создать CSR

openssl genrsa -out my.key 2048
openssl req -new -out my.csr -key my.key -config openssl.cnf

Полученный CSR можно скормить любому CA, в том числе и собственно созданному.

0

Восстановление прав доступа на папку и файлы в Windows

Бывает, что сам у себя отобрал права на папку или файл — классическая проблема Windows, которую не просто разрешить без костылей.

Как оказалось, есть утилита icacls, она позволяет рекурсивно сбросить права доступа на стандартные для указанного каталога и всего его содержимого. Для этого необходимо запустить командную строку cmd.exe с правами администратора и воспользоваться следующей командой:

icacls.exe "E:\Inaccessible Folder" /reset /T

Вместо E:\Inaccessible Folder следует указать путь к каталогу, где необходимо сбросить старые разрешения.

В отдельных случаях перед запуском icacls может потребоваться утилита takeown:

takeown.exe /f "E:\" /r /d y
icacls.exe "E:\" /reset /T

После завершения работы утилиты все содержимое указанного каталога будет иметь стандартные права доступа вашей системы

Исходная статья — http://tt.erinome.net/2012/07/265

0

Проброс портов в Windows

Например, есть тачка с адресом 192.168.0.2 и базой на порту 1433. На эту машину можно попасть только с машины 192.168.0.1, что не всегда удобно.
Но можно сделать проброс, делается следующей командой на 192.168.0.1 в cmd с правами администратора:

netsh interface portproxy add v4tov4 listenport=1433 connectaddress=192.168.0.2 connectport=1433

Таким образом машина 192.168.0.1 будет слушать все запросы на порту 1433 и редиректить запросы в сторону 192.168.0.2 на порт 1433.

Проверить текущие пробросы можно зайдя в netsh, перейдя в раздел interface portproxy и выполнив команду dump или show all, или сразу выполнить команду:

netsh interface portproxy show all

1+