Двухфакторная аутентификация в Nextcloud

Приведу пример настройки двухфакторной аутентификации в Nextcloud с использованием Google Authenticator.

Читать далее «Двухфакторная аутентификация в Nextcloud»

Скрипт от DDOS

Приведу пример простого скрипта против DDOS атак для NAT серверов.
Скрипт выполняется когда общее число «conntrack» соединений больше 500000, сохраняет в текстовый файл IP-адреcа у которых больше всего «conntrack» соединений, у кого больше 10000 — добавляет в ipset список.

Читать далее «Скрипт от DDOS»

Установка SSL сертификата для iRedMail

Допустим у нас есть подписанный SSL сертификат, либо мы его получим от Let’s Encrypt, как я описывал в этой статье:
Установка Certbot в Ubuntu

Чтобы установить SSL сертификат для iRedMail, нужно указать его в конфигурации Dovecot, Postfix и Apache2.

Читать далее «Установка SSL сертификата для iRedMail»

Как настроить доступ по IP в nginx?

Приведу пример настройки доступа по IP в nginx.

Допустим используется стандартный файл конфигурации nginx, откроем его в текстовом редакторе:

Читать далее «Как настроить доступ по IP в nginx?»

Блокировка сторонних DHCP на Cisco через DHCP Snooping

На тесте настрою DHCP Snooping на Cisco Catalyst 6509-E, чтобы блокировать сторонние DHCP сервера, на других коммутаторах Cisco по сути настройка аналогична.

После подключения к устройству сразу перейдём в режим конфигурации:

enable
configure

Читать далее «Блокировка сторонних DHCP на Cisco через DHCP Snooping»

Как запустить MySQL сервер на конкретных IP

Подходящим решением которое я нашел для запуска MySQL сервера на конкретных IP адресах, это запустить его на всех и потом отфильтровать подключаемых клиентов через iptables.

Для теста я использовал Ubuntu Server 16.04.5 LTS, который имел более 200 внешних белых IP и был высоконагруженным.

Читать далее «Как запустить MySQL сервер на конкретных IP»

Настройка тайм-аута SSH сессий

Чтобы настроить тайм-аут SSH сессий, посмотрим где находится файл конфигурации SSH сервера:

sudo find / -name sshd_config

Откроем его в любом текстовом редакторе, например nano:

sudo nano /etc/ssh/sshd_config

Читать далее «Настройка тайм-аута SSH сессий»

Как отсоединить SSH пользователя

Допустим через SSH подключено несколько пользователей.

Сначала посмотрим список онлайн пользователей:

w

Допустим отобразилось следующая информация (где test — это логин пользователя):

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
test     tty1                      11:20    1:07   0.03s  0.03s -bash
test     pts/0    192.168.1.5      11:21   13.00s  0.02s  0.02s -bash
test     pts/1    192.168.1.3      11:21    0.00s  0.02s  0.00s w

tty1 — это клиент вошедший локально, то есть находится возле компьютера.
pts/1 — судя например по IP и WHAT, допустим что это мы, соответственно pts/0 это клиент которого мы хотим отсоединить.

Смотрим список процессов и их PID:

ps faux |grep sshd

У меня отобразилось:

root       946  0.0  0.5  65508  5368 ?        Ss   12:00   0:00 /usr/sbin/sshd -D
root      1147  0.0  0.6  92828  6920 ?        Ss   12:01   0:00  \_ sshd: test [priv]
test      1178  0.0  0.3  92828  3384 ?        S    12:01   0:00  |   \_ sshd: test@pts/0
root      1192  0.0  0.6  92828  6592 ?        Ss   12:02   0:00  \_ sshd: test [priv]
test      1223  0.0  0.3  92828  3532 ?        S    12:02   0:00      \_ sshd: test@pts/1
test      1248  0.0  0.0  15468   956 pts/1    S+   12:25   0:00              \_ grep --color=auto sshd

Находим test@pts/0 и соответственно 1178 — это нужный PID.

Завершаем процесс указав его ID, после чего пользователь сразу отсоединится:

sudo kill -9 1178

Смотрите также мои статьи:
Установка и настройка SSH
Настройка тайм-аута SSH сессий

Настройка Fail2Ban под Bind9

Допустим Fail2Ban уже установлен, если нет, то смотрите мою статью — Установка и настройка Fail2ban.

По умолчанию Bind9 пишет логи в /var/log/syslog, поэтому чтобы писать в отдельный файл, откроем файл конфигурации в любом текстовом редакторе:

Читать далее «Настройка Fail2Ban под Bind9»