Архів категорії: Мережа

Безпечне використання iptables та модулів системи відстеження з’єднань

Це мій переклад, оригінал статі дивіться за цим посиланням: https://home.regit.org/netfilter-en/secure-use-of-helpers/

Автори: Eric Leblond, Pablo Neira Ayuso, Patrick McHardy, Jan Engelhardt, Mr Dash Four

Вступ

Принцип модулів системи відстеження з’єднань (helpers)

Деякі протоколи використовують окремі потоки, наприклад один для керування, а другий для передачі даних.
Серед багатьох, яскравим прикладом є протоколи FTP, SIP та H.323. За звичай на стадії встановлення з’єднання, керуючий потік використовується для узгодження параметрів зв’язку потоку передачі даних ( наприклад IP адреса та порт). Цей тип протоколів складно фільтрувати фаерволом, так як порушено стандарт шарів OSI, в цьому випадку, параметри шарів 3/4 ми бачимо на 7 рівні. Читати далі Безпечне використання iptables та модулів системи відстеження з’єднань

Linux router, error pptp 619

Зіткнувся з таким рядком в лог файлі dmesg: nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead.

Переклад: nf_conntrack: автоматичне призначення допоміжних модулів застаріло, та воно буде скоро вилучено. Замість цього, для підключення допоміжних модулів використовуйте ціль CT в iptables.

Цю зміну внесли в травні 2012 року до ядер 3.5, зробивши можливим вимкнення атоматичного підключення nf_conntrack helprs. Читати далі Linux router, error pptp 619

OpenVPN кожну годину “soft reset”

На сервері додати параметр у файл openvpn.conf:

reneg-sec 36000

на клієнті додати параметр:

reneg-sec 0

З двох учасників з’єднання, тільки сервер буде ініціалізовувати зміну пари ключів для шифрування трафіку, кожні 36000 секунд.

Squid не стартує, помилка Ipc::Mem::Segment::create

Якщо після компіляції ядра Linux, перестав запускатися Squid, а в журналі є запис:

/var/log/squid/cache.log

Squid Cache (Version 3.5.11): Terminated abnormally.
CPU Usage: 0.020 seconds = 0.010 user + 0.010 sys
Maximum Resident Size: 40928 KB
Page faults with physical i/o: 0
FATAL: Ipc::Mem::Segment::create failed to shm_open(/squid-cf__metadata.shm): (38) Function not implemented

При цьому у файлу fstab

є рядок: tmpfs /dev/shm tmpfs defaults 0 0

Спробуйте змонтувати цю файлову систему командою: mount /dev/shm

Якщо в результаті отримаєте ось це:

mount: wrong fs type, bad option, bad superblock on tmpfs,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail  or so

Це означає, що ядро не підтримує файлову систему TMPFS.

Вам необхідно внести поправки у налаштування ядра, для цього запустіть в директорії з сирцевим кодом команду: make menuconfig.

Далі перейдіть у розділ:

File systems —>  Pseudo filesystems —>  Tmpfs virtual memory file system support (former shm fs)

tmpfs

Та перекомпілюйте ядро: make -j 5 (кількість ядер ЦП + 1)

Чи у файлі налаштувань .config встановіть опцію: CONFIG_TMPFS=y

SOCKS проксі крізь SSH

Існує дуже простий метод, для того щоб зробити підключення до видаленої машини, та запити ресурси від її імені, наприклад війти в інтернет.

Для цього нам знадобиться SSH сервер на віддаленій машині, та SSH клієнт на нашій.

Виконуємо команду підключення до комп’ютера remote.machine.local:

ssh -D 1080 remote.machine.local

Після вдалого під’єднання, на локальній машині порт 1080 буде зв’язано з портом 1080 на віддаленій машині.

В браузері налаштуйте проксі:

Settings -> Advanced -> Network -> Configure how Firefox connects to the Internet -> Manual settings, Socks: localhost, Port: 1080

Якщо вам потрібно робити запити DNS від імені віддаленої машини,  в налаштування “about:config”, додайте це:

network.proxy.socks_remote_dns

Але серфінг це не все. Ще можна встановити демон: tsocks

В той час як, SSH вже зробив SOCKS тунель, для програм які не вміють з ним працювати, налаштовуємо tsocks на використання локальної машини:

echo "server = 127.0.0.1" | sudo tee /etc/tsocks.conf

Після чого можна запускати будь-яку програму, а tsocks буде перехоплювати весь мережевий трафік програми, наприклад:

tsocks ssh server.behind.firewall.example.com

tsocks psql -U pg_admin_user -W -h database.behind.firewall.example.com -W template1

Також можна виконувати команди на віддаленій машині:

. tsocks on
command
command
command
. tsocks off

Можна запустити браузер без переналаштувань:

tsocks firefox http://ripe.net

Перевірити стан проксі:

tsocks show

Якщо змінна оточення LD_PRELOAD порожня, то tsocks вимкнений для цієї консолі.

 

Оригінал