Сайт
Чукина
Владимира
Владимировича

8 мая 2024 г.

PROXY, файрволл

Установка и первоначальная настройка PROXY сервера

Для запуска и остановки сервера служит скрипт /etc/init.d/squid. Настройки сервера задаются с помощью файла /etc/squid/squid.conf, который может иметь следующий вид:

# Объем кэша
cache_mem 8 MB

# Каталог для хранения кэшированных файлов (максимально 100 Мбайт, 16 каталогов, 256 подкаталогов)
cache_dir ufs /var/spool/squid 100 16 256

# Squid слушает порт 3128
http_port 3128

# IP-адрес при отправке информации
tcp_outgoing_address 192.168.3.215

# Пассивный режим ftp (off - если используется брандмауер)
passive_ftp off

# Пароль анонимного пользователя ftp-сервера
ftp_user root@example.com

# Списки доступа - Access List (acl)

# Список сетей и хостов
acl localhost src 127.0.0.1/255.255.255.255
acl allowed_hosts src 192.168.3.0/255.255.255.0

# Список портов
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
acl Safe_ports port 280		# http-mgmt
acl Safe_ports port 488		# gss-http
acl Safe_ports port 591		# filemaker
acl Safe_ports port 777		# multiling http
acl CONNECT method CONNECT
acl SSL_ports port 443 563

# Правила доступа к squid-серверу
http_access allow localhost
http_access allow allowed_hosts
http_access deny all

# Запретить доступ к неизвестным портам
http_access deny !Safe_ports

# Запретить метод CONNECT ко всем портам, кроме SSL-портов
http_access deny CONNECT !SSL_ports

Установка и первоначальная настройка файрволла

Запуск и остановка файрвола осуществляется с помощью скрипта /etc/init.d/iptables. Работа файрвола заключается в проверке принимаемых или отправляемых пакетов на соответствие заданным правилам, которые позволяют или запрещают дальнейшее распространение пакетов. Правила размещаются в таблицах (filter, nat, mangle), которые состоят из цепочек правил. Стандартные цепочки называются INPUT, FORWARD, OUTPUT. Для просмотра содержимого таблицы используется команда:

iptables -L -t имя_таблицы

Для добавления нового правила в цепочку служит команда:

iptables -ОПЦИЯ ЦЕПОЧКА ключ1 значение1 ключ2 значение2 -j действие


Возможны следующие опции.
ОпцияОписание
-Nсоздать цепочку
-Xудалить цепочку
-Pустановить политику цепочки
-Aдобавить правило
-Dудалить правило
-Iвставить правило в цепочку
-Lпоказать все правила цепочки


КлючОписание
-pпротокол (tcp, udp, icmp)
-sIP-адрес отправителя пакета
-dIP-адрес получателя пакета
-iвходной интерфейс (eth0, ppp0) для цепочки INPUT
-oвыходной интерфейс (eth0, ppp0) для цепочки OUTPUT
--sportпорт отправителя пакета
--dportпорт получателя пакета
--portпорт получателя и отправителя для цепочек INPUT и OUTPUT (при -m multiport)
-mсостояние (multiport, mac, string)
--mac-sourceMAC-адрес отправителя (при -m mac)
--algoалгоритм поиска текстовой строки в пакете (fsm, bm, kmp)
--stringискомая строка в пакете
-jдействие (ACCEPT, DROP, REJECT)

Возможные действия.

ДействиеОписание
ACCEPTпринять
DROPотклонить
REJECTотклонить с уведомлением источника

Все сделанные настройки храняться в файле /etc/sysconfig/iptables.

Набор правил, разрешающих входящим пакетам доступ к 22 и 80 портам компьютера с IP-адресом 192.168.3.215:
iptables -P INPUT DROP
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 192.168.3.215 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 192.168.3.215 --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

Правило для запрета получения пользователями web-страниц в которых присутствует слово "linux"
iptables -I INPUT -p tcp --sport 80 --dport 1024: -m string --algo kmp --string "linux" -j DROP

Правило для запрета получения пользователями звуковых файлов формата mp3
iptables -I INPUT -p tcp -s 0.0.0.0/0 -m string --string ".mp3" -j DROP

Правило для блокировки ping-запросов:
iptables -I INPUT -p icmp -s 0.0.0.0/0 -d 192.168.3.215 --icmp-type echo-request -j DROP

Правило для блокировки пакетов утилиты traceroute:
iptables -I INPUT -p udp -s 0.0.0.0/0 -d 192.168.3.215 --dport 33435:33525 -j DROP

Ссылки по теме

Как настроить пакетный фильтр для фильтрации по содержимому пакетов
Православное радио "Воскресенье"   Валаамский монастырь   Медиа-сервер "Россия Православная"   Интернет-магазин "ЛинуксЦентр"   Яндекс цитирования   Valid CSS!   Valid XHTML 1.0 Strict!   Unicode Encoded Badge