Въведение в Squid: Настройка стъпка по стъпка

Лого на калмари и Tux

Squid е друг филтър на ниво приложение които могат да допълват iptables. Squid е кеширан уеб прокси сървър, той е много популярен и безплатен и е междуплатформен. Въпреки че може да се използва за подобряване на ефективността на интернет връзките, може да се използва и за целите на сигурността. От началото на проекта през 90-те години, Squid е много напреднал и сега ви го представяме, за да знаете как да го използвате.

За вашата инсталация, можете да получите достъп до официален уебсайт на проекта и изберете двоичните пакети за вашата операционна система или дистрибуция. Ако искате да го инсталирате от пакета с изходен код чрез компилация, също имате тази опция. Наличните tarballs са tar.gz, tar.bz2 и tar.xz. Ако не знаете как да инсталирате, можете да отидете на статията, за която редактираме в този блог как да инсталирам всеки пакет от linux. око! Ако имате Debian или дериват и сте видели, че той е инсталиран със sudo "apt-get install squid", може да получите грешка, защото трябва да замените "squid" с "squid3", за да влезе в сила .. .

Сега преминаваме директно към обяснение на действията няколко примера за използване на Squid за защита на нашето оборудване. Преди бих искал да обясня, че Squid се основава на ACL, тоест на списъка за контрол на достъпа или списъка за контрол на достъпа, тоест списъци, които подробно описват разрешенията за контрол в този случай мрежовия поток и прилагат филтри, подобни на тези на iptables, но на ниво приложение.

Обикновено след инсталацията се включва конфигурационен файл, който може да се намери в /etc/squid3/squid.conf и това е този, който трябва да редактираме с редактор като nano или gedit. В него можем да генерираме нашите правила за филтриране, въпреки че има опции cache_dir, cache_mem и http_port, ние ще използваме последните за нашите правила за сигурност. Друга подробност е, че този файл определя порта по подразбиране, използван от услугата Squid, който по подразбиране е 3128 (вижте реда или директивата "http_port 3128" и премахнете #, за да го активирате). Ако искате, можете да го промените на друг порт като 8080 ... И друго нещо, което е необходимо, е да конфигурирате името на хоста, потърсете коментара "TAG: Visible_hostname" и ще видите ред "visible_hostname", където трябва да поставите вашия име на хост.

За да знаете името на хоста си, можете да въведете терминала:

hostname

И името, което се появява, го добавяте към реда, който не трябва да се предшества от #, така че да не се пренебрегва като коментар. Тоест, би изглеждало така:

visible_hostname hostname_have_you_apperely

Ако видите конфигурационния файл, ще видите, че той е много коментиран, ако искате да замените създадено правило, можете да започнете реда с # и го трансформирате в коментар, с който Squid го игнорира, за да го пуснете обратно в експлоатация, изтривате # и това е всичко. Всъщност има много създадени и коментирани правила, които можете да използвате, като премахнете #. Така че не е нужно да изтривате и пренаписвате правила. Е, за да добавите конкретно правило или филтър, той трябва да има ACL и директива, която указва какво да правите.

Между другото, когато премахнете #, за да активирате правило, уверете се, че не оставяте интервали в началото на реда, Например:

Грешен начин:

http_port 3128

Правилен начин:

http_port 3128

Не сте ли чували нищо? Е, не се притеснявайте, с Пример ще видите всичко много по-добре. Представете си това:

acl, блокиращ url_regex като facebook
http_access отказва блокиране

Какво означава това правило е, че acl с името "блокиране" ще забрани достъпа до URL адреса, който съдържа "facebook" (следователно, ако се опитаме да влезем във Facebook, той ще пропусне грешка в браузъра). Ако вместо „откажете“ използвате „разреши“, ще разрешите достъп, вместо да го забраните. Можете също да използвате! За да изключите например, да предположим, че искате да разрешите достъп до list1, но не и list2:

http_access allow lista1 !lista2

Друг пример може да е създаването на файл / etc / squid3 / ips позволено и в него запишете списък с IP адреси, до които искаме да разрешим достъп. Да предположим например, че съдържанието на разрешени ips е:

192.168.30.1

190.169.3.250

192.168.1.26

И тогава ние създаваме ACL за да разрешите достъп до тези IP адреси:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Доста практичен примерПредставете си, че компютърът ви се използва от деца под 18-годишна възраст и искате да ограничите достъпа до определени сайтове за съдържание за възрастни. Първото нещо е да създадете файл, наречен / etc / squid3 / list със съдържанието:

за възрастни

порно

секс

поринга

А сега вътре  файла squid.conf поставяме следното правило:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Както виждаш използвали сме позволи което по принцип е да се разреши, но ако погледнете сме добавили! да се отрече, следователно би било еквивалентно на поставяне:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Също така могат да се създават списъци, не само на имена на домейни или IP адреси, както направихме, можете да поставите и домейни и например ограничават достъпа до домейни като .xxx, .gov и др. Нека разгледаме пример, основан на предишното правило. Създаваме файл / etc / squid3 / domains, който има:

. Edu

.es

. Org

А сега нашето правило, за да откажем достъп до списъка със забранени сайтове, които създаваме, но позволявайки достъп до URL адреси с тези домейни:

acl denegados url_regex "/etc/squid3/lista" 
acl permitidos dstdomain "/etc/squid3/dominios"

http_access allow !denegados dominios

РАЗШИРЕНИЕ:

Извинете, когато видях коментарите, разбрах това Пропуснах главното. Току-що поставих примери за това как се използва и забравих да кажа, че за стартиране на сървъра на Squid:

sudo service squid3 start

Преди да се изправи с "/etc/init.d/squid start", но сега трябва да използвате този друг ред, който съм ви поставил. Точно както конфигурационният файл вече не е в /etc/squid/squid.conf, а в /etc/squid3/squid.conf. Добре, след като политиките за филтриране са създадени и стартирайки го, трябва също да конфигурираме браузъра, например, ако използвате Mozilla Firefox или производни, можете да отидете в менюто за конфигуриране (знаете, трите ленти) и след това да Предпочитания, Разширени и в раздела Мрежа щракнете върху Конфигурация в раздела Свързване. Там избираме Ръчна конфигурация на прокси и поставяме нашия IP и портът, който Squid използва, в случая 3128. Също така избираме „Използвайте същия прокси за всичко“ и излезте, запазвайки промените.

моля Не забравяйте да оставите вашите коментари, съмнения или каквото искате ... Въпреки че е урок далеч над Squid, надявам се да ви помогне.