Strona 1 z 2
squidGuard kilka pytań o konfigurację
: 09 września 2010, 23:00
autor: dhapollo
Witam.
Potrzebuję wykonać kilka blokad dostępu do stron www:
1. Dostęp w godzinach 8:00 - 20:00
2. Blokowanie dostępu do stron z list (porno, sex, proxy, ....)
3. W czasie gdy dostęp jest zabroniony jest wyświetlany odpowiedni komunikat
4. Zmuszenie wszystkich komputerów w sieci z korzystania z proxy (osobny serwer w sieci)
Szukałem na forum i w google niestety z podanych tam opisów nic mi nie

Wszyscy piszą użyj squidGuard ale jak to skonfigurować?
: 10 września 2010, 10:22
autor: sector
Ostatnio bawiłem się Squidem, więc mogę Ci powiedzieć jak można takie coś zrobić przy pomocy samego Squida + np. crona.
Możesz dodać do Squida do /etc/squid/squid.conf linijki odpowiedzialne, za blokowanie strony.
Później tworzysz plik z adresami blokowanych stron i sprawdzasz czy działa. Gdy chcesz edytować komunikat wyświetlany w przeglądarce na Twój własny wystarczy, że edytujesz plik /usr/share/squid/errors/Polish/ERR_ACCESS_DENIED (o ile dobrze pamiętam) i tam wpisujesz co chcesz, nawet obrazek.
Czas blokowanych stron można rozwiązać np. cronem. Np. O 8:00 dajesz zadanie dla crona aby zrobił zmianę nazwy pliku z blokowanymi stronami na inna i podmienił ją z domyślną. To samo o 20:00. Zmieniasz nazwę pliku ze stronami blokowanymi na plik gdzie nie są blokowane strony. Oczywiście za każdym razem restartujesz Squida.
Jest to w pewien sposób rozwiązanie Twojego problemu. SquidGuardem nigdy się nie bawiłem.
: 10 września 2010, 19:26
autor: dhapollo
sector nigdy squidem się nie bawiłem i tu jest największy problem. Może byśmy zaczęli od początku czyli od skonfigurowania qsuida? obecnie mam ustawienia tak jak po instalacji tylko musiałem zmienić dostęp dla wszystkich ponieważ wszystko blokował
: 10 września 2010, 19:42
autor: Unit
W squid.conf dodajesz:
Kod: Zaznacz cały
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
Instalujesz squidGuard-a:
W katalogu /etc/squid powinien się pojawić plik squidGuard.conf, który może mieć postać:
Kod: Zaznacz cały
logdir /var/log/squid
dbhome /var/lib/squidguard/db
# godziny pracy
time workinghours {
weekly mtwhfas 08:00-17:00
}
#definiujemy odblokowane strony
dest blocked {
domainlist blocked/domains
}
src admins {
ip 10.10.10.12
}
src people {
ip 10.10.10.2-10.10.10.5
}
# defuniujemy reguly korzystania z www
acl {
# administratorzy zawsze i wszystko - sprawiedliwosc na tym swiecie musi byc ;-)
admins {
pass all
}
# uzytkownik w godzinach pracy wszystko oprocz blokowanych
people within workinghours {
pass !blocked all
redirect http://10.10.10.10/denied.html
} else {
#poza godzinami pracy ma byc w domu :-)
pass none
redirect http://10.10.10.10/afterwork.html
}
default {
pass none
redirect http://10.10.10.10/info.html
}
}
Oprócz tego oczywiście użytkownik ma mieć dostęp do serwera www, w tym przypadku
http://10.10.10.10, żeby widział komunikaty.
Cały ruch www przekierować na port squida:
Kod: Zaznacz cały
iptables -t nat -A PREROUTING -s 10.10.10.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3129
: 10 września 2010, 20:27
autor: dhapollo
Jak tylko dotrę do domku to spróbuję. SquidGuard zainstalowany, listy ściągnięte ale nic nie blokuje mi. Może nie tej regułki w squid.conf wpisanej.
Do serwera podłączając się adresy z poza lan (inny odział firmy, a nie ma sensu uruchamiać im osobnego serwera) mają mieć tak samo blokowane strony. Co trzeba wpisać w ,,src people''? Dodam, że mają zmienne IP. Jak tam odróżnić pracownika od kierownika, czy dyrektora, który może wszystko?
: 10 września 2010, 20:45
autor: Unit
dhapollo pisze:Dodam że maja zmienne IP. Jak tam odróżnić pracownika od kierownika czy dyrektora, który może wszystko?
Dwie możliwości widze:
1. po loginach, ale wtedy u każdego pracownika w przeglądarce będziesz musiał skonfigurować serwer proxy
2. dhcp po adresach MAC
: 06 sierpnia 2011, 12:44
autor: dhapollo
Zmienne IP, mam na myśli IP zewnętrze (Netia).
Bardziej zainteresowany będę opcją 1. Ale to za chwilkę, najpierw ogarniemy lan. Tak jak pisałem, będę w domu za około 40 minut to powiem co wyszło po zmianach.
Dodane:
Niestety coś jest nie tak.
Po dodaniu linijki do squida, wszystko jest blokowane, oczywiście godziny zmieniłem
.
Kod: Zaznacz cały
Serwer proxy odrzuca połączenia
Firefox został skonfigurowany tak, by używał serwera proxy, który odmawia połączenia.
* Należy sprawdzić, czy ustawienia serwerów proxy są prawidłowe.
* Należy zapytać administratora sieci, czy serwer proxy funkcjonuje prawidłowo.
To już rozwiązane, inna nazwa pliku u mnie była.
Strona Wirtualnej Polski ładuje mi się około 20-30 minut.
squid.conf
Kod: Zaznacz cały
#ilosc ramu
cache_mem 500 MB
# Maksymalny rozmiar pliku
maximum_object_size 65536 KB
maximum_object_size_in_memory 20 KB
ipcache_size 1240
ipcache_low 90
ipcache_high 95
cache_access_log /var/log/squid/access.log
http_port 3128 transparent
error_directory /usr/share/squid/errors/Polish
visible_hostname transfer
log_fqdn on
log_mime_hdrs on
#ident_lookup_access allow all localhost SSL_ports Safe_ports CONNECT
#1000 oznacza 1000mb dysku dla squida
cache_dir ufs /var/spool/squid 3000 16 256
#na jakim poziomie zapełnienia ma pracować cache dyskowe
cache_swap_low 90
cache_swap_high 95
#dla archaicznych internet exploderów
ie_refresh on
acl all src 0.0.0.0/0.0.0.0
# udostepnianie proxy dla wszystkich
#http_access deny blok_plikow
#http_access deny blok_reklam
http_access allow all
###########################################################
#acl all src 192.168.11.0/255.255.255.0
#acl all src 0.0.0.0/0.0.0.0
#acl blok_plikow urlpath_regex "/etc/squid/pliki.acl"
#acl blok_reklam url_regex "/etc/squid/reklamy.acl"
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21 70 80 210 443 563 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
icp_access allow all
miss_access allow all
#cache_mgr [EMAIL="apoloniusz@dhapollo.waw.pl"]apoloniusz@dhapollo.waw.pl[/EMAIL]
######################################################
vary_ignore_expire on
relaxed_header_parser on
request_header_max_size 50 KB
refresh_pattern -i \.(gif|jpg|jpeg|png|html|bmp) 4320 90% 43200 reload-into-ims
refresh_pattern -i \.(zip|gz|bz2|exe|rar|mp3|mpg|avi|wmv|vqf|ogg) 43200 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll) 43200 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll) 43200 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll) 43200 100% 43200 reload-into-ims
refresh_pattern symantecliveupdate.com/.*\.(zip|exe) 43200 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe) 43200 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe) 43200 100% 43200 reload-into-ims
refresh_pattern avast.com/.*\.(vpu|vpaa) 43200 100% 43200 reload-into-ims
refresh_pattern . 0 90% 43200 reload-into-ims
collapsed_forwarding off
refresh_stale_hit 100 seconds
half_closed_clients on
ident_timeout 1 seconds
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
Jeśli usunę ostatnią linijkę to działa ale zależy mi na squidGuard
.
squidGuard.conf
Kod: Zaznacz cały
logdir /var/log/squid
dbhome /var/lib/squidguard/db
# godziny pracy
time workinghours {
weekly mtwhfas 08:00-23:55
}
#definiujemy odblokowane strony
#dest blocked {
# domainlist blocked/domains
#}
dest porn_sites {
domainlist porn/domains
urllist porn/urls
redirect [URL]http://192.168.11.17[/URL]
logfile blocking.log
}
src admins {
ip 192.168.11.222
}
src people {
ip 192.168.11.1-192.168.11.100
}
# defuniujemy reguly korzystania z www
acl {
# administratorzy zawsze i wszystko - sprawiedliwosc na tym swiecie musi byc ;-)
admins {
pass all
}
# uzytkownik w godzinach pracy wszystko oprocz blokowanych
people within workinghours {
pass !blocked all
redirect [URL]http://192.168.11.17[/URL]
} else {
#poza godzinami pracy ma byc w domu :-)
pass none
redirect [URL]http://192.168.11.17[/URL]
}
default {
pass none
redirect [URL]http://192.168.11.17[/URL]
}
Proszę o pomoc.
Ruszyło, ale nie do końca, nie mogę sobie poradzić z
e słowami kluczowymi
.
Dodane:
Odgrzebuje temat ponieważ mam problemik z ustawieniami.
Nie mogę zdefiniować administratorów po nazwie użytkownika. Przykładowo użytkownik dhapollo jest administratorem i jest zalogowany na jednym z komputerów w sieci lokalnej (obojętnie który) wtedy posiada dostęp do wszystkich stron, pozostali użytkownicy mają ograniczenia czasowe stron itp.
Mój
konfig wygląda tak:
Kod: Zaznacz cały
logdir /var/log/squid.
dbhome /var/lib/squidguard/db
#------------------------------------------------------------------------------------------
time wpracy {
weekly * 07:00-17:00
}
dest porn {
expressionlist porn/expressions
logfile blocking.log
}
dest white {
domainlist white/domains
}
src admins {
user dhapollo
}
src dom {
ip<>192.168.1.2-192.168.1.253
}
acl {
admins {
pass all
}
dom within wpracy {
pass !porn all
redirect http://sp206.waw.pl/error/403.htm
} else {
#poza godzinami pracy ma byc w domu :-)
pass white none
redirect http://sp206.waw.pl/error/403.htm
}
default {
pass white none
redirect http://sp206.waw.pl/error/403.htm
Przy tych ustawieniach pomimo zalogowania na maszynie na konto dhapollo mam dostęp ograniczony, ma ktoś jakiś pomysł co robię nie tak?
: 06 sierpnia 2011, 15:25
autor: Unit
dhapollo pisze:
src dom {
ip<>192.168.1.2-192.168.1.253
}
Czy ta część konfiguracji jest poprawna?
: 07 sierpnia 2011, 20:23
autor: dhapollo
Tak ta część działa poprawnie. Jeśli chodzi o znaki <> lub <---> czy też ....... to są znaczniki tabulatora lub spacji z edytora na jakim pracuję ujawniają się w czasie kopiowania w programie jaki używam do połączeń ssh ten zakres działa w 100%. Zapytanie dotyczy sekcji admins, ale jeśli sadzisz ze jest źle to pokaż co jest nie tak? W sumie zamiast podawać przedział mogłem już zrobić ip 192.168.1.0/24
: 07 sierpnia 2011, 20:26
autor: Unit
Jeżeli użytkownik dhapollo ma adres IP należący do przedziału 192.168.1.0/24 to do której trafi sekcji src - admins czy dom?