Używanie iplist nie wpływa na używane firewall'e (u mnie firestarter i wszystko gra)
Wymagane pakiety do instalcji:
- libnetfilter-queue1
- libnfnetlink1 (etch, feisty) lub libnfnetlink0 (lenny, gutsy)
- sun-java5-jre lub sun-java6-jre
Pobieramy paczkę dla swojej konfiguracji stąd download .
Instalujemy.
Program od wersji 0.14 posiada gui. Z moich doświadczeń na razie odradzam korzystanie z gui. Aby odpalić gui należy zrobić to z uprawnieniami root'a, wcześniej odpalony ipblock bądź to z konsoli lub przy starcie systemu jest nie rozpoznawany przez gui. Konfiguracja programu jest bardzo prosta więc na razie nie widze potrzeby korzystania z gui. Program oczywiście można sobie odpalić na pewien czas i go potem zakończyć (zamknięcie gui kończy prace ipblock) z poziomu gui. Poniżej opisze sposób w jaki ja mam to skonfigurowane - start ipblock wraz ze startem systemu. Jeżeli interesuje Cię tylko okresowa ochrona to posłuż się gui lub użyj konsoli.
Konfiguracja ipblock.
Całą procedurę wykonujemy przy wyłączony programie. Programy odpowiedzialny za filtrowanie to iplist. Jeżeli jest obecny w systemie należy go zamknąć.
Edytujemy plik /etc/ipblock.conf.
Kod: Zaznacz cały
sudo gedit /etc/ipblock.conf
Gdzie:INPUT_FILES="level1.gz ads-trackers-and-bad-pr0n.gz edu.gz spyware.gz bogon.gz "
OUTPUT_FILES="${INPUT_FILES}"
IGN_TCP_PORT_OUT=""
IGN_TCP_PORT_IN="${IGN_TCP_PORT_OUT}"
IGN_UDP_PORT_OUT=""
IGN_UDP_PORT_IN="${IGN_UDP_PORT_OUT}"
IPLIST_LISTDIR="/var/cache/iplist"
URL_FILE="/usr/share/doc/iplist/README.lists"
LOGFILE="/tmp/ipblock.log"
LOGLEVEL="match"
VERBOSE="-q"
GUI_UPDATE_INTERVAL="2"
INPUT_FILES - listy z adresami ip które mają być blokowane przez program. Opisy list można znaleźć w pliku /usr/share/doc/iplist/README.lists; warto także wejść na storonę www.bluetack.co.uk (ja tylko dodałem level2.gz do listy blokowanych ip - dzięki temu nie mam problemu np. z sambą po mojej lokalnej sieci; wcześniej używałem nipfilter ale odradzam więcej z nim kłopotów niż pożytku). Po każdej zmianie należy wykonać
Kod: Zaznacz cały
sudo ipblock -u
aby ściągnąć odpowiednie listy; także gdy chcemy aktualizować listy
IGN_TCP_PORT_OUT oraz IGN_UDP_PORT_OUT - w tych miejscach wpisujemy usługi bądź porty, które będą nie blokowany przez ipblock. Lista dostępnych usług znajduje się w pliku /etc/services. Można wykorzystać dostępne tam wpsiy i dodać także własne. Nazwy danych usług wpisujemy pomiędzy "". Pierwszy parametr jest odpowiedzialny za usługi na TCP drugi na UDP. Od razu proponuje dodać usługi odpowiedzialne za najczęściej używane np. www, poczta, ftp, czy co tam używamy. UWAGA nie dodajemy portów od programów typu p2p (amule, torrenty i inne donkeye).
To wszystko na temat konfiguracji programu. Resztę pozostawiamy bez zmian
Miejsca gdzie:
-program trzyma listy ip - /var/cache/iplist
-program gdzie trzyma logi - /tmp/ipblock.log
Start programu wraz z systemem.
Następujący skrypt zapisujemy w katalogu /etc/init.d/ jako ipblock.sh; nadajemy uprawnienia do uruchamiania.
Kod: Zaznacz cały
#!/bin/sh
do_start()
{
ipblock -s
}
do_stop()
{
ipblock -d
}
do_update()
{
ipblock -u
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
r|restart)
$0 stop
sleep 1
$0 start
;;
u|update)
do_update
;;
s|status)
ipblock -l
;;
*)
echo "Usage: $0 {start|stop|restart|update|status}" >&2
exit 1
;;
esac
exit 0
Od rc.2 do rc.5 firestarter jest uruchamiany z S20 więc dowiązania robi PO STARCIE FIREWALLA - S21 lub więcej.
Należy także zwrócić uwagę na uruchamiane programy do p2p i dostosować odpowiednio zamykanie oraz start ipblock.sh.
Warto także dorzucić sobie do /usr/sbin/ coś na kształt tego skryptu (ja nazwałem go ipb)
Kod: Zaznacz cały
#!/bin/bash
ipb="/etc/init.d/ipblock.sh"
$ipb $1
exit 0
Dorzucić warto także do /etc/cron.daily/ skrypt który aktualizowały by listy np. taki (ipb-update)
Kod: Zaznacz cały
#!/bin/bash
ipbupdate="/etc/init.d/ipblock.sh update"
$ipbupdate
exit 0
Po ponownym uruchomieniu możemy się cieszyć ochroną non stop. Zwiększy się na pewno czas startu systemu (jak bardzo to zależy od ilości list)
W razie problemów z usługami należy zajrzeć do logów ipblock (ewentualnie ipblock -l), po logach zorientować się co jest blokowane i na jakich portach, następnie zamknąć ipblock (/etc/init.d/ipblock.sh stop) dodać odpowiednie porty/usługi do /etc/ipblock.conf i wystartować ipblock (/etc/init.d/ipblock.sh start). Jeżeli to nie pomoże można także przeszukać listy (katalog /var/cache/iplist) i odrzucić te które utrudniają nam pracę.
Linki
Strona projektu: iplist.sourceforge.net/start.html
How-To napisane przez autora (na stronach ubuntuforums.org): HOW-TO (ang)
Strona z listami (oraz forum nt. bezpieczeństwa): www.bluetack.co.uk
W razie pytań wysyłajcie PW. Postaram się pomóc.