Архив рубрики: Linux

Ускоряем login/ssh в Ubuntu

По умолчанию, ssh login и даже простой консольный login на свободную консоль F1-F7 выполняется не быстро и выводит много ненужной информации (motd/загрузки ОС/etc). Это не всегда удобно, особенно в случаях, когда система висит, и нужно залогинится и убить «тяжелый» процесс. И так, приступаем:

— файл /etc/nsswitch.conf

меняем строку

hosts:      files mdns4_minimal [NOTFOUND=return] dns mdns4

на

hosts:      files dns

— файлы /etc/pam.d/sshd, /etc/pam.d/login

комментируем строки:

session optional pam_motd.so motd=/run/motd.dynamic noupdate
session optional pam_motd.so

NAT with multiple outgoing IPs

IPFilter

map net0 10.10.10.0/24 -> 192.168.0.2/24 round-robin
map net0 10.10.10.0/24 -> 192.168.0.3 round-robin

Iptables

# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 1.2.3.0/24
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 1.2.3.0-1.2.3.4 --to 1.2.3.6-1.2.3.254

Читать далее

Iron Bars Shell — restricted system shell for Linux/Unix

Iron Bars SHell, or short ibsh is my first attempt to create a restricted working environment for Linux/Unix. I’m sure that many system administrators wish or have wished for a way to lock some/all users into a safe dungeon, where they can only do harm to their own files. Even more important is the protection against users reading sensitive files, for example the /etc/passwd file, which is accessible for any person with an unrestricted shell. But many system files may be listed here. Users could easily gain information, that could help malicious hackers to compromise the system, the network, the company.
Many attempts have already been made to fix this problem. Menu-based and other interactive shells have been created, but they were not able to completely satisfy worried system administrators. The amount of documents available at various security sites about how to bypass restrictions, how to hack through these shells and gain full access, shows, that ANY experienced Linux user is able to cause big problems.

Читать далее

[IPtables] Блокировка по разным признакам

Запрет на скачивание больших файлов

модульconnbytes

примерiptables -A FORWARD -m connbytes --connbytes 100000 -j REJECT

примечание: теперь все TCP сессии более 100 Кбайт будут «обрезаны», необходимо добавить исключения для протоколов типа ssh, обычные «долгоживущие» чаты и т.п.

Читать далее

[nginx] fastcgi_connect_timeout

Выдержка из документации:

Синтаксис: fastcgi_connect_timeout время;
Умолчание: fastcgi_connect_timeout 60s;
Контекст: http, server, location

Задаёт таймаут для установления соединения с FastCGI-сервером. Необходимо иметь в виду, что этот таймаут обычно не может превышать 75 секунд.

Читать далее

Профилируем приложения

Профилировщики это такие вспомогательные программы, которые позволяют выявить узкие места в самом приложении, то есть копнуть глубже, чем top/iostat/vmstat и понять, что именно (библиотека, функция, …) тормозит

Читать далее

IP range in firewalls

PF

# grep test /etc/pf.conf
test="{ 10.0.0.1 - 10.0.0.100 }"
block in quick on $ext_if from $test
# pfctl -nvf /etc/pf.conf | grep 10.0
test = "{ 10.0.0.1 - 10.0.0.100 }"
block drop in quick on em1 inet from 10.0.0.1 - 10.0.0.100 to any

Но у меня не всегда корректно срабатывало это правило на FreeBSD.

iptables

iptables -A INPUT -p tcp --destination-port 22 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.100-192.168.1.200

В остальных файерволах (ipfilter) данного функционала нет и придётся разбивать диапазон на подсети CIDR.

ipfw

ipfw add allow all from 1.2.3.0/24{128,35-55,89}

Выдержка из мана:

As an example, an address specified as 1.2.3.4/24{128,35-55,89}
or 1.2.3.0/24{128,35-55,89} will match the following IP
addresses:
1.2.3.128, 1.2.3.35 to 1.2.3.55, 1.2.3.89 .

Спасибо нашему читателю, который дополнил статью про ipfw.

Если у кого-то не заработало, вот ссылка на разбивку на подсети