Определить, куда соединения прибывают из.... Вот пример для входа трафика SSH. Формат будет похож на это в Вашем журнале ядер
MONTH DAY TIME SERVERNAME kernel: [IPTABLES] : IN=eth0 OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=REMOTEIP DST=SERVERIP LEN=00 TOS=0x00 PREC=0x00 TTL=# ID=# DF PROTO=TCP SPT=# DPT=22 WINDOW=# RES=0x00 SYN URGP=0 OPT (#)
Здесь мы создаем новую цепочку под названием MyLOG
# iptables -N MyLOG
Сбросьте новую цепочку на всякий случай
# iptables -F MyLOG
создайте регистрирующуюся функцию на tcp порте 22, устанавливает журналы для предупреждения и легкое для наблюдения" [IPTABLES]" строки к началу строки журнала.
# iptables -A MyLOG -i eth0 -p tcp --dport 22 -j LOG --log-level alert --log-tcp-options --log-ip-options --log-prefix '[IPTABLES] : '
присоедините цепочку MyLOG для ввода цепочки
# iptables -A INPUT -i eth0 -j MyLOG
Это должно отправить журналы в Ваш журнал ядра (хотя некоторые разновидности Linux могут варьироваться результаты). Можно протестировать вход путем конца журнала ядра.
# tail -f /var/log/kern.log
Если Вы в консоли и замечаете тонны данных, брызгающих через Ваш экран, можно попытаться установить консольный вывод журнала с
dmesg -n 1
Если Вы хотите получить "статистику", можно работать
# iptables -nvxL
вывод покажет сумму пакетов и байтов, отправленных со времени, цепочка была создана.
Chain MyLOG (1 references)
pkts bytes target prot opt in out source destination
61 4416 LOG tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0
У меня есть сценарий здесь http://www.hilands.com/code-shell-fw.html, который я раньше регистрировал определенное действие порта и собранные данные для serverstats serverstats (загружаемый от berlios), устанавливал NAT'ing, перенаправление портов, попытки повредить сканирования портов и tcp-отклонения использования вместо отбрасываний.
Serverstats может быть трудно выяснить. Это - ряд Сценариев PHP, который использует RRDTool. Это использует сценарий оболочки для инициирования вывода iptables. Мои искаженные примечания говорят мне, что необходимо изменить массив конфигурации с чем-то вроде этого, чтобы заставить это работать
'ssh-traffic' => array(
'used' => true,
'chains' => array('MyLOG'),
'graphs' => array(
'combined_bps' => array('used' => true, 'title' => 'Combined (bps)'),
'single_bps' => array('used' => true, 'title' => '%s (bps)'),
'combined_count' => array('used' => true, 'title' => 'Combined (count)'),
'single_count' => array('used' => true, 'title' => '%s (count)')
)
),
Вы должны восстановить из резервной копии. Если у вас нет резервной копии, то вы облажались. В этом весь смысл полного шифрования диска. Существуют методы восстановления поврежденного заголовка luks, но сначала вам нужно было бы сделать резервную копию заголовка.
См .: FAQ по cryptsetup - Резервное копирование и восстановление данных
Идея, что вы могли бы каким-то образом попробовать все возможные изменения, если один байт был отключен, крайне глупо, если вы точно не знаете, какой байт был поврежден.
Давайте представим на секунду, что ваш заголовок был всего 1 мегабайт (он больше, я думаю, это ~ 2 МБ). Тогда количество возможных изменений будет 2 ** (8,388,608) (или 4,2644 × 10 ^ 2,525,222), даже если вы можете попробовать миллиард различных возможных изменений в секунду, вы все равно будете пытаться вносить изменения намного позже того времени, когда наше солнце разрушает нашу планету.