Установка и первоначальная настройка 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) | |
-s | IP-адрес отправителя пакета | |
-d | IP-адрес получателя пакета | |
-i | входной интерфейс (eth0, ppp0) для цепочки INPUT | |
-o | выходной интерфейс (eth0, ppp0) для цепочки OUTPUT | |
--sport | порт отправителя пакета | |
--dport | порт получателя пакета | |
--port | порт получателя и отправителя для цепочек INPUT и OUTPUT (при -m multiport) | |
-m | состояние (multiport, mac, string) | |
--mac-source | MAC-адрес отправителя (при -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