Budowa Onion Router opartego o FreeBSD z IPFW jako glownym FireWallem.

Budowa Onion Router opartego o FreeBSD z IPFW jako filter paketow i zalazkiem IPFilter jaki drugie ,,sitko".

Budowe zaczynamy od wyboru sprzetu. Ja do tego celu uzylem ThinClient Fujitsu S450 z allegro, i karte sieciowa na USB od Majfrendow, jednak planuje ja wymienic na jakas Intela. Rowie dobry moze okazac sie ktorys z ThinClientow od HP. S450 wyglada tak: 

666d703145684e6e5a7a673d_8IbbDGqA7Mp7XpUYCbCkbpoedkChGr46.jpg

2. Sciagamy i wypalami FreeBSD na Pendrive lub dysku CD. Ja wypalalem go pod Mintem uzywajac nazedzia ,,disks" i restore image ze wzgledu na to ze wypalenie przez DD nie dziala do konca tak jak powinno, ale jesli ktos by chcial to prosze:
https://www.freebsd.org/doc/ha...


Pod windowsem uzywamy Rufusa. https://rufus.akeo.ie/ najlepiej portable.


No wiec przechodzimy do oficjalnej strony https://www.freebsd.org/where.... i klikamy AMD64 lub i386 jak kto woli.


comment_nO0PitlxLcpmmxJElNudGGZkivVak3ez.jpg


Nastepnie pobieramy interesujaca nas wersje jest jest to jedna z zaznaczonych, jak chcemy memstick to pobieramy memstick img, a jak CD to pobieramy disk.isocomment_w3koQ6eDWSxBCINnAj4CPjOPQ5uTZQws.jpg



I czekamy az sie pobierze. Po skonczonym pobieraniu, wypalamy obraz na pendrive uzywajac pod windowsem rufusa, pod linuxem ,,disks" lub jak ktos sie chce meczyc to DD tak jak pisalem wyzej i przechodzimy do instalacji systemu po kolei:


Klikamy enter
comment_xcxZscqEUiFr2ErR5N2uWu1X2Mv7M0Ky.jpg


Install i zatwierdzamy enterem.

comment_Y2I77elVCNcszURw45Cv19dDYgvsr4Z5.jpg


Klikamy enter.

comment_QrwuhL0dlmluOp76BYcd1lNlk6d5qU8i.jpg


Wpisujemy nazwe i klikamy enter, w moim przypadku bedzie to ,,router"

comment_cxOPDLD2Gx3meStMEaciYPvb5VE8sHl3.jpg


Dznaczamy ,,PORT" klawiszem  SPACJA po najechaniu na nia. Z portow nie bedziemy korzystac to raz a dwa zajmuja za duzo miejsca i sie nie zmieszcza. 

comment_jAF3oFWhmhz4hsBjVNXWMtGwnnUYW5Iw.jpg


Partycjonowanie. Nie bede sie rozpisywac bo mi sie nie chce. W necie sa poradniki mozna poczytac. 


Klikamy Manual

comment_BWcdiwvWRp8YyIQJbbL95UPbfWd5vd3Q.jpg


Klikamy ,,create" Jak instalujemy z pendrive bedzie tutaj tez widoczny nalezy miec to na uwadze.

comment_EAIo1941B09pvhn2HZHPcL8YOhBuhZwz.jpg


Wybieramy GUID partition Table. 

comment_YZtNyp7F9rBdny3LprdByTgJgFeLefUU.jpg


Enter

comment_TlU3AnbuOQsk3GZSQmAD3LhwabqGqshw.jpg


Najezdzamy strzalkami jeszcze raz na CREATE i wciskamy ENTER 

comment_kaHGiTptfKJU7YqdKtz2Grxw4D3iVJgg.jpg



Nie ma miejsca na rozdrabnianie sie w partycje. Na ThinCliencie mamy do dspozycji 1GB wiec tworzymy partycje w calosci. 


najezdzamy klikajac w TAB (Tabulator) az kursor pojawi se na freebsd-ufs,

comment_ykEukcpHQsIydxThHdmhZRFHbDAMWs9L.jpg


a nastepnie strzalkami w dol na ,, Mountpoint" i wpisujemy /

comment_Agfmrc3q7zWZgEV67a8SrrUkBVEOJUsZ.jpg


Potem jeszcze raz "TAB" i zatwierdzamy enterem. 


Wywala komunikat zeby zrobic boot partycje z tego co pamietam w MBR, zeby Legancy ogarnal. 

comment_2gC2zsQGbUwZZoo3J2RPTZgXknLtyBqD.jpg


Finish i enter. 

comment_m5Wk39PIouCp3eawalQn0DTfD6RZ0BVe.jpg


Commit 

comment_M6nMkN0dnUMoEZublHksMK9tuc1OAzNA.jpg


Czekamy az sie zainstaluje. 

comment_Ls2RoRwEXrk7K8rxwzHKeNQdoHZ48L9e.jpg


Podajemy haslo root. 

comment_oWEtwOLRI59EHqYugFAyMz4tj5KTxkmr.jpg


Wybieramy karte sieciowa ktora bedzie podlaczona do internetu, do Routera. 

comment_rcnGmPNeYqBVtA0xHQeDhIXhxp94S85U.jpg


Uwaga Klikamy ,,NIE" ustwimy to potem w plikach konfiguracyjnych. 

comment_vbBUNrfE6rZ2siY4maNRCoQvjeZ0e18l.jpg


Nje

comment_TEYDXLVLoXX2TkHXiZ7HIDITh6iQg7vY.jpg


Ustawamy czas. Wybieramy europa i zatwierdzamy enterem. 

comment_VHu6on0rBMZHD5Tk54B5dfmaJqB4rhWa.jpg


Polska. 

comment_zKnPpvU9XdTShOj0Kz6I4d3kXgxt4zjM.jpg


YES. 

comment_kT7UP8unNSDjICiAdkQOQgsaGHkblXFu.jpg


SKIP bedzie ustawiony potem z zegara atomowego ^^.


comment_CMkPh2bFRXocYIxUfYOMcjuh4nzhSnY0.jpg


SKIP

comment_yQxSr97BhZCGaDKGkAkwyrBMtfjIEZw1.jpg


Odznaczamy wszystko, bedzie ustawione potem. 

comment_sTN02EHEkqmVw9uQyi8TAIVPAUGuITm4.jpg


Tutaj wszystko zaznaczamy. 

comment_b3eFec0GuDl5fGTQPeLdOe9g4297jgJv.jpg


Nie dodajemy innych uzytkownikow. 

comment_x9k3q6lXmWzT8WzjcTB5wp2HJAXzjLdK.jpg


Exit i zatwierdzamy. 

comment_65YxtGkiua5lYeE2bYPFmlmDUuVVHzRJ.jpg


NO i zatwierdzamy. 

comment_eBOGM07koGLxRpuOBSx2SdhUvsuMofCJ.jpg


REBOOT

comment_3RiDl9CN5aI3MygKbH2FcmqDh6NtxoBr.jpg



Czekamy az sie wylaczy i wyciagamy medium instalacyjne.

comment_90VaXOSeSSVSWmSoUaFkvDmvD50lEOhC.jpg


Jak sie juz uruchomi logujemy sie na konto roota. LOGIN: root PASSWORD:haslo

Widzimy konsole. System jest gotowy do uzytku. 

comment_Eymg0CIIzzNav31P8h4RgFgQl3M8jydO.jpg




Sciagamy moja paczke z plikami konfiguracyjnymi z MEGA: 


https://mega.nz/#!QxURXCIT!Jsj...


Nastepnie prawdzamy jakie mamy karty sieciowe. W tym przykladzie em0 to WAN (internet) a LAN to em1.


Sprawdzamy to poleceniem `# ifconfig.`

comment_3aEPtHqvgUTC6Ns1WFqHeH5TTf7niFbW.jpg


Skoro juz wiemy ktora to nasza karta od WAN a ktora od LAN to przepisujemy! (rc.conf koniecznie) z paczki ktora pobralismy do routera.

Edytor tekstu ktorym bedziemy sie poslugiwac to ee, podobny do nano z linuxa, ale prostrzy od vi, ktory tez jest dostepny. No wiec wpisujemy w konsole: 


# ee /etc/rc.conf 


i kasujemy wszystko co tam jest napisane, uzywajac kombinacji klawiszy CTRL+C. nastepnie przepisujemy konfig z paczki zamieniajac ,,re0" na waszego WANa a ue0 na waszego LANa. Dla mnie to jest oczywiste... nastepnie wychodzimy z edytora klawiszem esc zatwierdzamy zmiany dwa razy ENTEREM. 

comment_RC3aGvx3wsLK1Qolwzx8EokjhYyWR5n7.jpg


/etc/rc.conf na pastebin. https://pastebin.com/w5JGRZnk

Wsunalem wszystkie logowania wylaczylem sendmaila ssh dodalem serwer czasu i inne takie. 


Taka sama czynnosc wykonujemy dla pozostalych plikow z folderu ,,etc" z paczki PAMIETAJAC o podmianie "re0" na swoj wan i "ue0" na swoj LAN.


/etc/ipfw.rules https://pastebin.com/35dLRQQC UWAGA. Tutaj jest maly ,,blad" jest usawiony moj adres DHCP ktory dostalem od swojego routera. Zamiast 192.168.1.40 wpiscie sobie any jak na obrazku. IPFW broni routera z dwoch stron. Puszczone jest tylko to co niezbedne czyli DHCP DNS HTTP HTTPS.


comment_3Oqcckpnyw4WJPUtyUhSvT9Pl5cfoD7m.jpg



Teraz LAN. Lan ustawiony jest za pomoca PacketFilter. Przepisujemy go i zamieniamy interfacy na swoje tak jak poprzednio.


/etc/pf.conf https://pastebin.com/80F3DWei 


Zeby TOR wystartowal (skonfigurujemy go pozniej) trzeba dopisac w /etc/devfs.conf uprawnienia dla Packetfilter. Wiec edytujemy ee /etc/devfs.conf i dopisujemy:


`own /dev/pf root:_tor`
`perm /dev/pf 0660`


/etc/devfs.conf https://pastebin.com/QfC5TRvZ

Teraz IPFilter. Nie wiem czym dokladnie jest bcast ale lepiej to zablokowac. W dodatku jest to zalazek drugiego sitka, po wiecej szczegolow zapraszam do manuali:

https://www.freebsd.org/doc/ha...

lub w konsoli #man ipf, #man ipf.conf


/etc/ipf.rules https://pastebin.com/McYQWiVr

Dopisujemy do crontab: Sa to skrypty ktore odpowiadaja za przeladowanie sie tora ze wzgledu na to, ze z niedwiadomych dla mnie przyczyn jak wszystko na raz startuje TOR jest przymulony. Pomaga dopiero przeladowanie. Drugi skrypt odpowiada za Update TORa bo jak sie pojawi nowa wersja stara moze przestac dzialac.

`@reboot root /bin/sh /root/tor.sh`
`@hourly root /bin/sh /root/tor.sh`
`@reboot root /bin/sh /root/torupdate.sh`
`@weekly root /bin/sh /root/torupdate.sh`

/etc/crontab https://pastebin.com/qcZz0kb2


Skoro sa odnosniki do skryptow ktore jeszcze nie istnieja wiec trzeba je zrobic. W tym celu w konsoli:


`#ee /root/tor.sh`

i wpisujemy:

`#!/bin/bash`
`sleep 10`
`service tor restart`


Wychodzimy z edytora i dalej. 


`#ee /root/torupdate.sh`

i wpisujemy:

`!#/bin/bash`
`sleep 20`
`pkg update -q`
`pkg upgrade -y tor`
`pkg clean -a -y`
`pkg autoremove -y`

Nastepnie nadajemy uprawnienia do wykonywania pliku. 


`#chmod +x /root/tor.sh`

`#chmod +x /root/torupdate.sh`


Teraz mozemy bezpiecznie podlaczyc komupter do internetu w tym celu z konsoli:
`#poweroff`


jak sie wylaczy to podlaczamy kabelek jesli wszystko zostalo zrobione, przepisane poprawnie i adres routera z ktorego mamy internet to jeden z tych adresow:

`192.168.0.0/16` to powinnismy miec dostep do internetu, zegar powinien sie zsynchronizowac. Jak mamy dostep do internetu instalujemy TOR i DNSMASQ, bo jest lekki.


No wiec logujemy sie na konsole roota i kolejno instalujemy PKG

#pkg

wpisujemy ,,y" i zatwierdzamy enterem.

comment_XgPYi9K7VZHq5d24kXovaDH8ZTRJ9LBd.jpg


Nastepnie uaktualniamy repozytorium pakietow do najnowszych.


#pkg update -f

jak sie zrobi to szukamy paczki z TORem w tym celu wpisujemy w konsole


`#pkg seach tor` i zatwierdzamy enterem.

comment_lMZYPvfULB6vv0rrAVVi00OZtAnall33.jpg


Po chwili powinna nam sie wyswietlic lista paczek do zainstalowania. Jezeli jest zbyt dluga niz ekran to mozemy ja przewinac w gore uzywajac klawisza ,,pasue brake" na klawiaturze a nastepnie strzalka w gore. Odnajdujemy TORa

comment_s4bEvlkmsq74DBH37EowKuWJyN8VDaJY.jpg


I go instalujemy, najpierw zwalniajac ,,pasue-brake"


`#pkg install tor-0.3.3.7`


Jezeli wkepalibysmy odrazu pkg install tor zainstalowalo by wszystko co ma ,,tor" w nazwie. Nie chcemy tego. 


y i zatwierdzamy enterem.

comment_QrpckZJwPKPE1ckCqPkdErVNmOYfu8m8.jpg


Analogiczna czynnosc powtarzamy dla dnsmasq. 

`#pkg search dnsmasq`

`#pkg install dnsmasq-xxxxx`


Na koncu edytujemy dwa pliki. Jeden to dnsmasq.conf ktory przydzieli nam adres dla komputerow ktore chcemy schowac za LANem. A drugi to config tor.

No wiec w pierwsze kolejnosci konfigurujemy dnsmasq.conf. Plik konfiguracyjny znajduje sie w /usr/local/etc/dnsmasq.conf wiec go usuwamy. 

`#rm -R /usr/local/etc/dnsmasq.conf`

comment_H57EFlhRVUhK6SAyfC8YecNBDbbnqADV.jpg


Nastepnie tworzymy go na nowo i wpisujemy co nastepuje


`domain-needed`

`server=208.67.222.222`
`server=208.67.220.220`

`dhcp-range=set:ue0,10.1.1.10,10.1.1.200,255.255.255.0,24h`
`dhcp-option=ue0,option:router,10.1.1.1`


`#ee /usr/loca/etc/dnsmasq.conf`  https://pastebin.com/VrTx6Wda

comment_C9hXMvEaekBuWNuUtEWGnMjJCR7By9iJ.jpg



Na samym koncu pozostal na do edycji plik konfiguracyjny tora. Wiec analogicznie usuwamy domyslny konfig tworzymy go na nowo i dodajemy wpisy:


`SOCKSPort 127.0.0.1:10001`
`TransPort 9050`
`DNSPort 9053`

Plik konfiguracyjny znajduje sie w /usr/local/etc/tor/torrc


`#rm -R /usr/local/etc/tor/torrc`
comment_Wk5IdbvGFzHxnl4ENIxhjvuNe0F2E21U.jpg


`#ee /usr/local/etc/tor/torrc`

comment_l6M9gmpqywJVnguS6P1CnYvRp7m8vO0X.jpg


To juz wszystko. Teraz wystarczy zresetowac komputer i jezeli nic nie sprartoliliscie to powinien powstac Onion Router. A oto wyniki z NMAP:


https://www.wykop.pl/wpis/3358...


Na koniec mieszamy w przegladarce. Ja korzystam z FireFoxa wiec dla niego zrobilem configi. https://pastebin.com/C0VM0uRK

zapisujemy kopiujemy to co tam jest i zapisujemy jak prefs.js nastepnie przechodzimy do: /home/User22/.mozilla/firefox/o7hbslcg.default/ i kopijemy prefs.js i podmieniamy istniejacy. Nastepnie istalujemy dwa dodatki. Canvas Blocker oraz Ublock origin. Kazdy znajdzie. https://www.wykop.pl/wpis/3228...





Zapraszam i polecam.