July 23rd, 2008

  • dil

про дырку в DNS

Вот тут http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1447 написано, что проблема существует в bind версий младше 9.3.5-P1.
А тут - http://rhn.redhat.com/errata/RHSA-2008-0533.html - в качестве средства затыкания предлагаются пакеты не старше 9.3.4-6.0.2.P1

там написано, что они contain a backported patch to add this functionality на предмет рандомизации source port, но в целом всё равно непонятно, последние редхатовские пакеты содержат все исправления или ещё нет.

кто-нибудь может прокомментировать?
  • dil

NAT и реальный IP

Дано: сервер с фейковым IP (для определённости пусть будет 192.168.0.1) и NATящий роутер с внешним IP a.b.c.d и внутренним 192.168.0.254, который всё, приходящее на внешний IP, DNATит на 192.168.0.1.

Хочется: чтобы сервер сам себя видел по внешнему IP.

Простое решение: поднять на сервере внешний IP a.b.c.d/32.

Вопрос 1: какие неприятности при этом могут возникнуть?


Сложное решение: научить роутер у приходящих из внутреннего интерфейса пакетов, адресованных на a.b.c.d, менять не только destination на 192.168.0.1, но и source на 192.168.0.254. Тогда сервер будет посылать ответные пакеты на роутер, который сможет их разнатить и вернуть обратно серверу. (Это, правда, увеличит трафик в два раза).

Вопрос 2: а как это настроить? например, на линуксе, freebsd, cisco?

Хинт: линксисовский роутер делает это по умолчанию, но я совершенно не понимаю, почему у него так получается:
~ # uname -a
Linux  2.4.20 #2 Thu Apr 21 19:40:17 CEST 2005 mips unknown

~ # iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       icmp --  0.0.0.0/0            a.b.c.d        to:192.168.0.254 
DNAT       tcp  --  0.0.0.0/0            a.b.c.d        tcp dpts:1:65535 to:192.168.0.1
DNAT       udp  --  0.0.0.0/0            a.b.c.d        udp dpts:1:65535 to:192.168.0.1

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0           
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           PKTTYPE = broadcast 
MASQUERADE  all  --  192.168.0.0/24       192.168.0.0/24      

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Plan9i
  • schors

кодирование 8-ми битных заголовков

Дано - строка в UTF-8. Нужно получить с него закодированную Quoted Printable или Base64 строку. На Perl.
Проблема - это классическая задача для кодирования 8-ми битных заголовков в почте.
Насколько я понимаю, у меня ограничение по ширине результирующей строки в ~80 символов, соответственно колированная строка должна быть кусочками.
Так вот проблема - как?
#!/usr/local/bin/perl -w
my $msg="Приветмойстарыйдобрыйдруг.Попытаемсясоздатьбальшойбальшойзаголовокдлятогочтобыобломился";


P.S. Модуль MIME::Words бьёт строку по бинарным 18-ти байтным кускам, понятно что через раз делая куски, потом считающиеся невалидным UTF8
P.P.S. Первое что приходит в голову - посимвольный набор кусочков с проверкой на бинарную длину.

Мониторчик

Господа, а что есть желательно бесплатного и простого, для мониторинга загрузки CPU/HDD/RAM и LAN/WAN что крутится на винде? С графиками желательно, а то текстовых логов и так копать приходится целую палестину. Или встроенными посоветуете пользоваться? Сами что юзали?

Если эта байда заработает ещё и на чпуксе - будет совсем хорошо.

Хочется проверить - потянет ли обычный комп сервис или таки блейда придётся брать?