iptablesПо умолчанию у него есть правило фильтрации в режиме «Принимать все», то есть оно разрешает входить и исходить все подключения с нашего ПК или с ним, но что, если мы хотим регистрировать всю информацию о подключениях к нашим серверам или ПК?
Примечание: процедура, которую я сейчас выполню, действительна на 100% в дистрибутивах. Debian/Debian на основе, поэтому, если вы используете Slackware, Fedora, CentOS, OpenSuSe, процедура может отличаться, мы рекомендуем прочитать и понять систему входа в систему вашего дистрибутива, прежде чем применять то, что объясняется ниже. Также существует возможность установки rsyslog в вашем дистрибутиве, если он доступен в репозиториях, хотя в этом руководстве syslog также объясняется в конце.
Пока все хорошо, но чтоКуда мы будем входить? Легко, в файле «/var/log/брандмауэр/iptables.log", какие не существует, пока мы сами в это не поверим ...
1- Мы должны создать файл «iptables.log»Внутри папки«/ var / журнал / брандмауэр»Что мы должны его создать, потому что его тоже нет.
mkdir -p / var / журнал / брандмауэр /
коснитесь /var/log/firewall/iptables.log
2- Разрешения, очень важно ...
chmod 600 /var/log/firewall/iptables.log
корень chown: adm /var/log/firewall/iptables.log
3- rsyslog, демон входа в систему Debian, считывает конфигурацию из «/etc/rsyslog.d«, Поэтому мы должны создать файл, который я назову«брандмауэр.conf»Из которого rsyslog может интерпретировать то, что мы хотим сделать.
коснитесь /etc/rsyslog.d/firewall.conf
И внутри мы оставляем его падать аккуратно следующее содержание:
: msg, contains, "iptables:" - / var / log / firewall / iptables.log
& ~
Я не имею ни малейшего представления,что делают эти пара строк?
Первая строка проверяет зарегистрированные данные на наличие строки «IP-таблицы: »И добавляет в файл«/var/log/брандмауэр/iptables.log«
Второй останавливает обработку информации, вошедшей в систему по предыдущему шаблону, чтобы она больше не отправлялась на «/ var / log / сообщения».
4- Поворот файла журнала с достигнуто.
Мы должны творить внутри «/etc/logrotate.d/" файл "брандмауэр»Что будет содержать следующий контент:
/var/log/брандмауэр/iptables.log
{
повернуть 7
ежедневно
размер 10M
дататекст
missingok
создать 600 root ADM
notifempty
сжимать
задержка сжатия
постротация
invoke-rc.d перезагрузка rsyslog> / dev / null
конечный сценарий
}
Для того, чтобы ротация журналов 7 раз перед их удалением, 1 раз в день, максимальный размер журнала 10 МБ, сжатый, датированный, без выдачи ошибки, если журнал не существует, создан как root.
5- Перезапустите, как и все xD со счастливым концом, демон rsyslog:
/etc/init.d/rsyslog перезапуск
Как доказать, что все это работает?
Попробуем SSH.
Устанавливать OpenSSH (если он не установлен ...):
apt-get установить openssh-server
Прежде чем продолжить, мы должны запустить консоль с правами root:
iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4
При выполнении этого оператора iptables будет записано достаточно информации, чтобы показать, что то, что мы сделали, не напрасно. В этом предложении мы говорим iptables регистрировать всю информацию, которая поступает к нему через порт 22. Для тестирования с другими службами просто измените номер порта, например 3306 для MySQL, просто чтобы процитировать пример, если вам нужна дополнительная информация, прочтите это очень хорошо документированное руководство и основан на типовых примерах наиболее часто используемых конфигураций.
По умолчанию SSH использует порт 22, поэтому мы проведем с ним тест. Установив openssh, подключаемся к нему.
ssh pepe @ тестовый сервер
Чтобы посмотреть логи, хвостиком решите эту задачу:
хвост -f /var/log/firewall/iptables.log
Iptables, в этом примере, записывает все, день, время, ip, mac и т. Д., Что делает его отличным для мониторинга наших серверов. Небольшая помощь, которая никогда не повредит.
Теперь, учитывая, что мы используем другой дистрибутив, как я уже сказал в начале, он обычно используется Rsyslog, или что-то подобное. Если ваш дистрибутив использует системный журнал, чтобы выполнить то же самое упражнение, мы должны немного отредактировать / изменить syslog.conf
нано /etc/syslog.conf
Добавьте и сохраните следующую строку:
kern.warning /var/log/firewall/iptables.log
А потом, знаете, счастливый конец:
/etc/init.d/sysklogd перезапуск
Результат: то же самое.
На этом пока все, в будущих публикациях мы продолжим играть с iptables.
Ссылки:
Заставить iptables регистрироваться в другом файле
Записать iptables в отдельный файл с помощью rsyslog
Руководство по настройке Iptables в системах Fedora / RHEL
Отлично это «мини-мануал» для BOFH, который вы делаете понемногу
Спасибо, постепенно я буду предоставлять детали и данные iptables, которые я должен был знать из своей работы, которые иногда нам нужны и очень плохо объясняются в Интернете, все от пользователя ... xD
Пользуясь случаем, приветствую вас, член 😀
Вам действительно есть ОЧЕНЬ внести свой вклад, вы действительно хорошо разбираетесь в сетях, системах, брандмауэрах и т.д., так что я буду (я) одним из многих читателей, которые у вас будут, хахаха.
Привет и ну ... ну, чего бы это ни стоило 😀
Я с нетерпением жду этих предметов ^^
Давай, Корацуки, я не знал, что ты часто заходишь в этот блог.
Кстати, еще один вариант регистрации активности брандмауэра - использование пакета улогд, созданный людьми из проекта netfilter для облегчения разделения следов этого типа (позволяет сохранять их разными способами). Я обычно использую такой подход. Использовать его несложно, например:
iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"
Мне нужно будет дать посту F5, мне подходит способ работы Ulogd, даже MySQL регистрирует тип: D.
Хороший пост, так держать.
Привет, босс, как дела?
Могли бы вы дать мне руку?
Поскольку у меня нет учебника, и он чище, чем вода, я не знаю, где я ошибаюсь