Шукати в цьому блозі

пʼятниця, 11 лютого 2011 р.

Debian Squeeze и установка php5-fpm

Несколько извратный способ, но по-другому не удалось :(
Берём последний снепшот:
# cd /usr/src
# wget http://snapshot.debian.org/archive/debian/20100801T150833Z/pool/main/p/php5/php5-fpm_5.3.3-1_i386.deb

Далее распаковываем его, "патчим" зависимость и собираем обратно пропатченный пакет:
# dpkg -x php5-fpm_5.3.3-1_i386.deb fpm
# dpkg -e php5-fpm_5.3.3-1_i386.deb fpm/DEBIAN/
# sed -i 's/php5-common (= 5.3.3-1)/php5-common (>= 5.3.3-1)/g' fpm/DEBIAN/control
# dpkg -b fpm/ php5-fpm_5.3.3-1_i386_patched.deb

Устанавливаем:
# dpkg -i php5-fpm_5.3.3-1_i386_patched.deb

Как бы не по фен-шую, но установилось.

IPv6 и BIND

Собственно, как оказалось, всё банально просто.
Допустим имеем запись в DNS'е с данными по IPv4:
$ORIGIN .
$TTL 86400      ; 1 day
dom.ks.ua         IN SOA  dom.ks.ua. hostmaster.dom.ks.ua. (
2011021100 ; serial
86400      ; refresh (1 day)
7200       ; retry (2 hours)
3600000    ; expire (5 weeks 6 days 16 hours)
172800     ; minimum (2 days)
)
NS      ns.dom.ks.ua.
NS      ns2.dom.ks.ua.
A       1.2.3.4
$ORIGIN dom.ks.ua.
*                       A       1.2.3.4
localhost               A       127.0.0.1
ns                      A       1.2.3.4
ns2                     A       5.6.7.8

У туннель-брокера мы получили IPv6 2001:123:45:678::2/64, тогда перепишем наши данные следующим образом:
$ORIGIN .
$TTL 86400 ; 1 day
dataforum.ks.ua  IN SOA dataforum.ks.ua. oldengremlin.gmail.com. (
2011021101 ; serial
86400      ; refresh (1 day)
7200       ; retry (2 hours)
3600000    ; expire (5 weeks 6 days 16 hours)
172800     ; minimum (2 days)
)
NS ns.dataforum.ks.ua.
NS ns2.dataforum.ks.ua.
A 1.2.3.4
AAAA 2001:123:45:678::2
$ORIGIN dataforum.ks.ua.
*   A 1.2.3.4
AAAA 2001:123:45:678::2
localhost  A 127.0.0.1
AAAA ::1
ns   A 1.2.3.4
AAAA 2001:123:45:678::2
ns2   A 5.6.7.8
AAAA 2001:321:54:876::2
Вуа-ля :) На этом чудо-шаманство можно считать оконченным.

четвер, 10 лютого 2011 р.

IPv6 - настало время

Собственно поднять туннель для IPv6 проще чем ожидалось.
Идём на http://tunnelbroker.net, регистрируемся, заказываем себе сеть /64.
Далее редактируем /etc/network/interfaces:
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address MY_IPv6
netmask 64
endpoint TUN_IPv4
local MY_IPv4
gateway GW_IPv6
ttl 64
post-up sysctl -p

Редактируем /etc/sysctl.conf:
net.ipv6.conf.default.disable_ipv6 = 0
# простой способ сказать, что на интерфейсе мы не будем использовать IPv6 ;)
net.ipv6.conf.eth0.disable_ipv6 = 1

net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv6.conf.default.forwarding = 0

net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.accept_ra_defrtr = 0
net.ipv6.conf.all.accept_ra_pinfo = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.all.forwarding = 0
Ну и далее:
$ sudo ifup he-ipv6

Всё, туннель поднят, можно пробовать пустить ping6 на свой шлюз.
Остаётся отстроить DNS, но об этом в расскажу в ближайшее время.

неділя, 19 грудня 2010 р.

Debian: IPSET, TARPIT и т.д. на ядре 2.6.32 и выше

Для тех кто мучается с netfilter-extension и не понимает, что же делать-то ;)
  1. aptitude install module-assistant xtables-addons-source
  2. module-assistant prepare
  3. module-assistant auto-install xtables-addons-source
  4. depmod -a
Всё! Наслаждаемся екстеншенами.

Новые таржеты для iptables:
  • CHAOS: randomly use REJECT, DELUDE or TARPIT targets. This will fool network scanners by returning random results
  • DELUDE: always reply to a SYN by a SYN-ACK. This will fool TCP half-open discovery
  • DHCPADDR: replace a MAC address from and to a VMware host
  • IPMARK: mark a packet, based on its IP address
  • LOGMARK: log packet and mark to syslog
  • SYSRQ: trigger a sysreq over the network (sending a saK over the network looks like a real funny idea ;)
  • TARPIT: try to slow down (or DoS) remote host by capturing the session and holding it for a long time, using a 0-bytes TCP window. Run that on port 25 if you have no mail server to slow down spammers ;)

Новые совпадения (matches) для iptables:
  • condition: match on boolean value stored in /proc/net/nf_condition/name
  • dhcpaddr: match the DHCP Client Host address in a DHCP message
  • fuzzy: match a rate limit based on a fuzzy logic controller
  • geoip: match a packet by its source or destination country
  • ipp2p: match (certain) p2p protocols
  • portscan: try to match port scanners based on packet contents
  • quota2: named counters

вівторок, 7 грудня 2010 р.

SSH: запретить shell, но разрешить sftp, scp...

Ставим пакет rssh. Редактируем /etc/rssh.conf на предмет разрешения тех или иных сервисов. Меняем у пользователя shell:
usermod -s /usr/bin/rssh user

Jabber сервер Openfire

В связи с полным дебилизмом от ICQ со сменой протокола, с отказом от обслуживания "левых" клиентов пришла таки пора ставить себе jabber-сервер и настроить транспорт в ICQ.
Выбор пал на Openfire.
В репозитории Debian'а Openfire не оказалось, поэтому смело идём на сайт проекта, качаем deb-пакет и устанавливаем его, не забывая про зависимости.
$ sudo dpkg -i openfire_3.6.4_all.deb
Затем создаём базу:
mysql> create database openfire;
Query OK, 1 row affected (0.07 sec)

mysql> create user 'openfire-user'@'localhost' identified by 'your-password';
Query OK, 0 rows affected (0.15 sec)

mysql> grant all on openfire.* to 'openfire-user'@'localhost';
Query OK, 0 rows affected (0.03 sec)
Заходим на http://localhost:9090/ и отвечаем на вопросы по первоначальной настройке. Не забываем указать внешней базой mysql.
После окончания настройки перезапускаем openfire, иначе просто не пустит в админку:
$ sudo invoke-rc.d openfire restart
Идём на http://localhost:9090/login.jsp вводим логин admin и указанный нами пароль.
Наслаждаемся... ;)

пʼятниця, 19 листопада 2010 р.

Фоновая загрузка CPU и renice

Интересное решение для фоновой "загрузки" CPU с наименьшей приоритезацией в renice:
while [ -n "1" ];do echo 1 > /dev/null; done & renice 19 $!
В notes.