FTP активный и пассивный режимы

При работе по протоколу FTP между клиентом и сервером устанавливается два соединения – управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы). Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключиться к тебе. Вот мое имя и мой пароль». …

Continue reading ‘FTP активный и пассивный режимы’ »

Ttaffic Control для небольшой сети

Очереди Существуют несколько видов очередей, соответствующих моделям из теории массового обслуживания и телетрафика: CBQ (Class-Based Queueing) – Очередь, основанная на классах. Позволяет создавать иерархию классов с приоритетами. Управление производится в зависимости от общей пропускной способности и загруженности канала. HTB (Hierarchical Token Bucket) – Алгоритм дырявого ведра. Позволяет ограничивать пропускную способность независимо от общей пропускной способности …

Continue reading ‘Ttaffic Control для небольшой сети’ »

ulog-acctd – подсчет и детализация трафика

Ищем по RPM-пакетам на этом сайте: http://rpm.pbone.net/index.php3?stat=3&search=ulog-acctd&srodzaj=3 и переходим по ссылке напротив нашей версии ОС (у меня CentOS 6.9 i386, но подошла на 6.5) # wget ftp://ftp.pbone.net/mirror/rnd.rajven.net/centos/7.0.1406/os/x86_64/ulog-acctd-0.4.3-7cnt7.x86_64.rpm # rpm -Uhv ulog-acctd-0.4.3-7cnt7.x86_64.rpm Конфигурационный файл чрезвычайно прост, там нужно указать multicast group (указанный в правиле iptables), формат лога. Он находится в /etc, немного поправим его: # vi …

Continue reading ‘ulog-acctd – подсчет и детализация трафика’ »

Ограничение доступа/блокировка определенной страны

Две недели подрят брутили почтовый сервер на предмет подбора паролей от dovecot. Так как стоял fail2ban я не сильно заморачивался, но когда блокированных IP перевалило за 50 тыс. я озаботился. Просмотрев внимательно логи я выяснил, что 99% IP принадлежат Малайзии. Погуглив я нашел сервис который предоставляет базы сетей по странам. Пишем скрипт для выборки малазийских …

Continue reading ‘Ограничение доступа/блокировка определенной страны’ »

iptables – блокировка по разным признакам

Запрет на скачивание больших файлов модуль: connbytes iptables -A FORWARD -m connbytes –connbytes 100000 -j REJECT примечание: теперь все TCP сессии более 100 Кбайт будут «обрезаны», необходимо добавить исключения для протоколов типа ssh, обычные «долгоживущие» чаты и т.п. Запрет по содержимому заголовка пакета модуль: string iptables -A FORWARD -m string –string “X-Kazaa-” -j REJECT Запрет по MAC-адресу модуль: mac iptables …

Continue reading ‘iptables – блокировка по разным признакам’ »

iptables – теория

Netfilter Сетевые пакеты поступают в сетевой интерфейс, настроенный на стек TCP/IP и после некоторых простых проверок ядром (например, контрольная сумма) проходят последовательность цепочек (chain) (обозначены пунктиром). Пакет обязательно проходит первоначальную цепочку PREROUTING. После цепочки PREROUTING, в соответствии с таблицей маршрутизации, проверяется кому принадлежит пакет и, в зависимости от назначения пакета, определяется куда он дальше попадет …

Continue reading ‘iptables – теория’ »

iptables – restore script

Правила iptables применяются сразу же после выполнения. К примеру, если в терминале ввести: $ iptables -A INPUT -p TCP –dport 22 -j DROP то соединение по ssh сразу будет потеряно. Создадим скрипт, который будет очищать все правила iptables: # vim /etc/restore_iptables.sh #!/bin/sh IPT=”/sbin/iptables” # Удаляем все правила $IPT -F $IPT -X # Разрешаем все подключения …

Continue reading ‘iptables – restore script’ »

fail2ban

CentOS 7 / Red Hat: yum install fail2ban Ubuntu / Debian: apt install fail2ban CentOS 6: Добавляем репозиторий: rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm Устанавливаем пакет: yum install fail2ban Для запуска службы вводим следующие команды: systemctl enable fail2ban systemctl start fail2ban * Для старых систем без systemd это будут команды  chkconfig fail2ban on  update-rc.d fail2ban defaults  service fail2ban start. Базовая …

Continue reading ‘fail2ban’ »

Nginx + php56 + php-fpm + MySQL (MariaDB) + phpMyAdmin + Python36

0. Обновляемся, отключаем selinux: $ sudo yum update $ sudo setenforce 0 Посмотреть состояние: $ sudo getenforce Выключить совсем: $ sudo nano /etc/selinux/config SELINUX=enforcing меняем на permissive или disabled. 1. nginx $ sudo yum install epel-release $ sudo yum install nginx 2. нужно открыть порты 80 и 443, для этого последовательно выполняем команды: $ sudo firewall-cmd …

Continue reading ‘Nginx + php56 + php-fpm + MySQL (MariaDB) + phpMyAdmin + Python36’ »

iptables – автозарузка правил

Под суперпользователем: 1. Делаем скрипт, выполняемый при поднятии интерфейса nano -w /etc/network/if-up.d/00-iptables     #!/bin/sh     iptables-restore < /etc/firewall.conf     ip6tables-restore < /etc/firewall6.conf 2. Даём право запуска этого скрипта     chmod +x-w /etc/network/if-up.d/00-iptables 3. Сохраняем в конфиг правила для IPv4     iptables-save >/etc/firewall.conf 4. Сохраняем в конфиг правила для IPv6     ip6tables-save >/etc/firewall6.conf