Road to sysadmin: различия между версиями
Материал из lulzette's wiki
Losted (обсуждение | вклад) |
Losted (обсуждение | вклад) (→syntax) |
||
Строка 34: | Строка 34: | ||
Осталось рассмотреть основные действия, которые позволяет выполнить iptables: | Осталось рассмотреть основные действия, которые позволяет выполнить iptables: | ||
<source> | <source> | ||
-A - добавить правило в цепочку; | -A - добавить правило в цепочку; <code>-A, --append chain rule-specification</code> | ||
-С - проверить все правила; | -С - проверить все правила; | ||
-D - удалить правило; | -D - удалить правило; | ||
Строка 54: | Строка 54: | ||
-j - выбрать действие, если правило подошло. | -j - выбрать действие, если правило подошло. | ||
</source> | </source> | ||
== примеры == | |||
Вот так будет выглядеть команда, которая позволяет добавить правило iptables для блокировки всех входящих пакетов от 10.10.10.10: | |||
<code>sudo iptables -A INPUT -s 10.10.10.10 -j DROP</code> | |||
= tcpdump = | = tcpdump = |
Версия от 04:04, 28 декабря 2020
iptables
Практически копипаст статьи: https://losst.ru/nastrojka-iptables-dlya-chajnikov
Годно: https://www.opennet.ru/docs/RUS/iptables/
цепочки
Input, forward, output
- prerouting - в эту цепочку пакет попадает перед обработкой iptables, система еще не знает куда он будет отправлен, в input, output или forward;
- postrouting - сюда попадают все проходящие пакеты, которые уже прошли цепочку forward
ПРАВИЛА И ДЕЙСТВИЯ
- ACCEPT - разрешить прохождение пакета дальше по цепочке правил;
- DROP - удалить пакет;
- REJECT - отклонить пакет, отправителю будет отправлено сообщение, что пакет был отклонен;
- LOG - сделать запись о пакете в лог файл;
- QUEUE - отправить пакет пользовательскому приложению.
ТАБЛИЦЫ IPATABLES
Над цепочками правил в iptables есть еще один уровень абстракции, и это таблицы. В системе есть несколько таблиц, и все они имеют стандартный набор цепочек input, forward и output. Таблицы предназначены для выполнения разных действий над пакетами, например для модификации или фильтрации. Сейчас это для вас не так важно и будет достаточно знать что фильтрация пакетов iptables осуществляется в таблице filter
- raw - предназначена для работы с сырыми пакетами, пока они еще не прошли обработку;
- mangle - предназначена для модификации пакетов;
- nat - обеспечивает работу nat, если вы хотите использовать компьютер в качестве маршрутизатора;
- filter - основная таблица для фильтрации пакетов, используется по умолчанию.
syntax
Осталось рассмотреть основные действия, которые позволяет выполнить iptables:
-A - добавить правило в цепочку; <code>-A, --append chain rule-specification</code>
-С - проверить все правила;
-D - удалить правило;
-I - вставить правило с нужным номером;
-L - вывести все правила в текущей цепочке;
-S - вывести все правила;
-F - очистить все правила;
-N - создать цепочку;
-X - удалить цепочку;
-P - установить действие по умолчанию.
Дополнительные опции для правил:
-p - указать протокол, один из tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp,
mh;
-s - указать ip адрес устройства-отправителя пакета;
-d - указать ip адрес получателя;
-i - входной сетевой интерфейс;
-o - исходящий сетевой интерфейс;
-j - выбрать действие, если правило подошло.
примеры
Вот так будет выглядеть команда, которая позволяет добавить правило iptables для блокировки всех входящих пакетов от 10.10.10.10:
sudo iptables -A INPUT -s 10.10.10.10 -j DROP
tcpdump
Простая штука с помощью которой можно анализировать трафик.
-n
- IP вместо DNS
- src/dst/host - хост
- [src/dst] port - порт
- ether broadcast - бродкасты
- icmp - icmp
cool stuff: https://hackertarget.com/tcpdump-examples/
strace
strace -e *syscall*
- вывести только вызовы определенного syscall