Archiwum kategorii ‘linuks’
Torsocks: czyli przepuszczanie przez TOR aplikacji typu ssh, gg itp
W jednym z poprzednich wpisów poruszałem temat anonimowego i względnie bezpiecznego przeglądanie sieci przy pomocy sieci TOR. Względnie bezpiecznego ponieważ jak zauważył użytkownik Maciek w linku który podał z tym bezpieczeństwem nie jest tak różowo jak mogłoby się wydawać. Jednak jeżeli nie zraziło to nikogo i dalej chce czerpać korzyści z sieci TOR to chciałem pokazać jak anonimowo korzystać z różnych programów w sieci TOR. usewithtor testowałem z SSH, KADU i PIDGINem.
Potrzebna nam będzie paczka usewithtor ze strony projektu http://code.google.com/p/torsocks/ .
Ściągamy ją :
# wget http://torsocks.googlecode.com/files/torsocks-1.0-epsilon.tar.gz
Rozpakowujemy ulubionym sposobem ;]
Przechodzimy do katalogu z programem :
# cd torsocks-1.0-epsilon
I zabieramy się za ręczną kompilację programu :
# ./configure
# make
# make install
Jeżeli wszystko poszło dobrze to już możemy korzystać z usewithtor. Składnia polecenia jest bardzo prosta, np:
$ usewithtor ssh -p 1234 bartek@qwe.pl
lub
$ usewithtor kadu
Z kadu i pidginem często pojawiało się Segmentation fault więc korzystanie z tych programów przy pomocy Torsocks nie należy do przyjemnych.
SSH po użyciu usewithtor:
Last login: Fri Nov 27 09:26:37 2009 from anonymizer2.blutmagie.de
Listę aplikacji kompatybilnych z Torsocks można znaleźć tutaj http://code.google.com/p/torsocks/
Linki:
http://wiki.noreply.org/noreply/TheOnionRouter/TorifyHOWTO
http://code.google.com/p/torsocks/
Screenshot listopad
* OS: Ubuntu 9.10+włączone bajery graficzne+Docky+Screenlets
* WM: Gnome
* Tapeta: znaleziona na… sam nie wiem gdzie ale jak ktoś chce to mogę wystawić ;]
* GTK : Trochę przerobiony New Wave
* Ikony : Darkfire Evolution
A dla leniwych lub chcących szybko zmienić swój pulpit polecam skrypt zamieszczony na tej stronie http://www.omgubuntu.co.uk/2009/11/spatial-desktop-ubuntu-gorgeous-gnome.html. Naprawdę świetne narzędzie do kompleksowej zmiany wyglądu systemu.
SAMBA + rozproszone bazy danych i problem z blokowaniem dostępu do plików
Przeglądając polskie forum Ubuntu natknąłem się na taki wątek http://forum.ubuntu.pl/showthread.php?t=113578 . Pamiętam, że sam się jakiś czas z tym męczyłem.
Programy DOSowe powoli wychodzą już z użytku jednak z doświadczenia wiem wiem, że są one wciąż popularne a więc warto opisać jak rozwiązać ten problem. Może komuś jeszcze się przyda.
W celu prawidłowego udostępniania zasobów programów DOSowych dla ludzi pracujących na nich jednocześnie musimy dodać taki udział do configa samby :
[dos] # nazwa udziału
comment = dos # jak wyżej
path = /home/system1/dos # ścieżka do programów dosowych
public = yes # to możemy zmienić wedle uznania
writable = yes
guest ok = yes # to możemy zmienić wedle uznania
public = yes # to możemy zmienić wedle uznania
printable = no
oplocks = False # ustawienia potrzebne do prawidłowej pracy na rozproszonych bazach danych
force user = nobody # ustawienia potrzebne do prawidłowej pracy na rozproszonych bazach danych
level2 oplocks = False # ustawienia potrzebne do prawidłowej pracy na rozproszonych bazach danych
veto oplock files = /*.DBF/*.dbf/ # tutaj ustawiamy najważniejsze pliki bazy, w moim przypadku są to pliki *.DBF
create mode = 0777 # ustawienia potrzebne do prawidłowej pracy na rozproszonych bazach danych
directory mode = 0777 # ustawienia potrzebne do prawidłowej pracy na rozproszonych bazach danych
Restart samby i już można pracować z wielu komputerów.
Koniec neutralności sieci w Polsce? NIE! Jest w końcu TOR!
Jeżeli wierzyć doniesieniom prasowym to wkrótce będziemy mieli w Polsce drugie Chiny. Rząd Donalda Tuska chce, wzorem Chin, Iranu i Australii, zmusić dostawców Internetu do blokowania wybranych adresów www. Adresy mają być wskazywane przez UKE, policja, służby specjalne i Ministerstwo Finansów. Czyli cenzura internetu stanie się faktem. Kto wie może niedługo gg i poczta znajdą się na celowniku inteligentnych inaczej z rządu. Za nim do tego dojdzie chciałem pokazać prosty sposób jak poradzić sobie z tego typu sankcjami. Wszystko pięknie i anonimowo będzie działało jednak niesmak zostaje po tym jak przypomnę sobie na kogo głosowałem…
Tor, bo o nim będzie mowa, jest programem działającym w otwartej sieci, która pomaga chronić użytkowników przed inwigilacją, zagrażającej anonimowości i prywatności w sieci.
Tor chroni cię, przekazując twoją komunikację poprzez rozproszoną sieć przekaźników sieciowych uruchamianych przez wolontariuszy na całym świecie: zapobiega to odkrywaniu, jakie strony odwiedzasz poprzez podsłuchiwanie twojego połączenia internetowego i zapobiega to odkrywaniu twojego miejsca pobytu przez strony, które odwiedzasz. Tor działa z wieloma już istniejącymi aplikacjami, łącznie z przeglądarkami internetowymi, komunikatorami, zdalnym logowaniem i innymi, opartymi na protokole TCP.
Instalacja :
Edytujemy naszą source.liste :
pico /etc/apt/sources.list
Dodajemy dwa wpisy :
deb http://mirror.noreply.org/pub/tor jaunty main
deb-src http://mirror.noreply.org/pub/tor jaunty main
Aktualizujemy nasze repozytoria i instalujemy TORa i privoxy :
# apt-get update
# apt-get install tor privoxy
Jeżeli podczas instalacji pokaże nam się taki komunikat, to będziemy musieli ściągnąć jedną paczkę
Następujące pakiety mają niespełnione zależności:
tor: Wymaga: libevent1 (>= 1.3e) ale nie da się go zainstalować
E: Pakiety są uszkodzone
ściągamy ją :
# wget http://fr.archive.ubuntu.com/ubuntu/pool/main/libe/libevent/libevent1_1.3e-3_i386.deb
# dpkg -i libevent1_1.3e-3_i386.deb
i wracamy do naszej instalacji :
# apt-get install tor privoxy
Edytujemy plik konfiguracyjny privoxy :
# pico /etc/privoxy/config
Dodajmy ten wpis ( obojętnie gdzie ) :
forward-socks4a / 127.0.0.1:9050 .
kropka na końcu jest ważna !
I haszujemy tą linijkę :
logfile logfile
( #logfile logfile )
w pico szuka się po wciśnięciu CRTL+W
Restartujemy privoxy :
# /etc/init.d/./privoxy restart
Na koniec zostaje nam już tylko pobrać dodatek do FireFoxa. Torbutton daje użytkownikowi przycisk do szybkiego i bezpiecznego włączania i wyłączania korzystania z Tora przez przeglądarkę. Od wersji 1.1 Torbutton dostarcza mechanizmy zaawansowanej prywatności i izolacji stanu przeglądarki, które czynią ją bardziej prywatną i bezpieczną w używaniu Tora niż jakiekolwiek inne rozszerzenie do zmiany proxy.
https://addons.mozilla.org/pl/firefox/addon/2275
Przy wyłączonej wtyczce Torbutton :

Oraz po jej włączeniu :

Linki:
http://osnews.pl/koniec-neutralnosci-sieci-w-polsce/
http://www.torproject.org/index.html.pl
http://wiki.noreply.org/noreply/TheOnionRouter/TorifyHOWTO
Tworzymy własny motyw XSplash
Odwołując się do poprzedniego wpisu postanowiłem znaleźć sposób na stworzenie własnego motywu dla XSplasha. Okazało się to dosyć proste a rezultat jaki udało mi się osiągnąć wygląda tak :

Tło ekranu logowania GDM automatycznie samo się zmienił więc wszystko ze sobą gra i nie ma nic do zarzucenia od strony estetycznej :

Wszystkie pliki odpowiedzialne za wygląd XSplasha znajdują się w /usr/share/images/xsplash
Są to między innymi pliki tła bg_rozdzielczość.pg które musimy podmienić zachowując odpowiednią rozdzielczość :
bg_1024x768.jpg
bg_1280x1024.jpg
bg_1440x900.jpg
bg_1680x1050.jpg
bg_1920x1200.jpg
Oraz pliki z logiem i samym paskiem postępu które możemy edytować/podmieniać wedle własnego uznania :
logo_xtra_large.png
throbber_large.png
logo_large.png throbber_medium.png
logo_medium.png throbber_small.png
logo_small.png throbber_xtra_large.png
Paczka z moim XSplashem http://dl.getdropbox.com/u/1207653/wordpress/xsplash.rar . Należy całą jej zawartość rozpakować do /usr/share/images/xsplash zastępując istniejące tam pliki jeżeli zależy nam na takim samym efekcie jaki mi udało się osiągnąć. Tła znajdujące się w paczce można wykorzystać jako tło dla pulpitu będące doskonałym dopełnieniem do motywu XSplasha.
Teraz zmiana wyglądu GDMa którą opisałem tutaj ma nawet sens ;]
Zamiana XSplash na USplash w Ubuntu 9.10
Nowe wydanie Ubuntu zawiodło chyba sporą część społeczności. GDM i XSplash w oficjalnej wersji 9.10 bez możliwości dostosowania ich wyglądu to jakieś nieporozumienie. Zmuszeni jesteśmy do używania sztuczek żeby zmienić wygląd GDMa ale wiąże się to z pewnymi estetycznymi niedogodnościami. W aktualnej wersji GDM i XSplash stanowią tak jakby jedność, brązowy motyw jest w jednym i drugim produkcie a zmiana ustawień GDMa sprawia, że nic ze sobą nie gra.. Dlatego postanowiłem pokazać jak dostosować wygląd tych elementów do swoich potrzeb, będzie się to wiązało z zastąpieniem XSplasha USplashem z wersji Ubuntu 9.04.
Wywalamy XSplash’a i instalujemy USplash’a :
# sudo -i
# apt-get update
# apt-get remove xsplash ubuntu-xsplash-artwork
# apt-get install usplash-theme-ubuntu-color
# apt-get remove usplash-theme-ubuntu
i w tym momencie posiadamy zainstalowany motyw Splasha z wersji 9.04. Po zrestartowaniu komputera będzie on już dostępny.
Po instalacji paczki usplash-theme-debian będzie pojawiał się sam tekst zamiast grafiki i pasków postępu.
Zarządzanie motywami USplash’a :
Parę motywów USplasha możemy znaleźć w repozytoriach, np szukając przy pomocy aptsh. Innym sposobem jest zainstalowanie startupmanager’a
# apt-get install startupmanager

i z jego poziomu zmieniać motywy. Sporo ciekawych motywów można znaleźć tutaj http://gnome-look.org/index.php?xcontentmode=160
Edycja GDM’a :
Odpalamy konsolę i wpisujemy
$ gksudo -u gdm dbus-launch gnome-appearance-properties
Po podaniu hasła pokaże nam się okno edycji ustawień wyglądu identyczne jak to w którym możemy zmieniać ustawienia wyglądu okien i zmieniać tapety :


Po wykonaniu tej komendy za każdym razem gdy uruchomimy Ubuntu pojawia się niebieska ikonka dostępu uniwersalnego. Jeżeli chcemy to wyłączyć to musimy wejść do ustawień Technologi wspierających :
System --> Preferencje --> Technologie wspierające --> Dostępność klawiatury --> i odznaczamy opcję "przełączanie funkcji dostępności przy użyciu skrótów klawiszowych"
Wyłączamy listę użytkowników pokazywaną w GDMie :
sudo -u gdm gconftool-2 --set --type boolean /apps/gdm/simple-greeter/disable_user_list true
A tak włączmy z powrotem:
sudo -u gdm gconftool-2 --set --type boolean /apps/gdm/simple-greeter/disable_user_list false
Efekt końcowy :
Szyfrowanie ruchu w sieci LAN z IPSec
Częstym problemem występującym w sieciach LAN jest brak szyfrowania ruchu lub zbyt słabe zabezpieczenia dostępne w tanich urządzeniach takich jak np routery. Jednym ze sposobów poradzenia sobie z tym jest zastosowanie sieci VPN którą opisałem w poprzednim wpisie lub wprowadzenie szyfrowania całego ruchu w oparciu o dostępny w Windowsie protokół IPSec. IPsec to zbiór protokołów służących implementacji bezpiecznych połączeń oraz wymiany kluczy szyfrowania pomiędzy komputerami. Protokoły tej grupy mogą być również wykorzystywane do tworzenia Wirtualnej Sieci Prywatnej (ang. VPN). IPsec składa się z dwóch kanałów komunikacyjnych pomiędzy połączonymi komputerami: kanał wymiany kluczy za pośrednictwem którego przekazywane są dane związane z uwierzytelnianiem oraz szyfrowaniem (klucze) oraz kanału (jednego lub więcej), który niesie pakiety transmitowane poprzez sieć prywatną. Kanał wymiany kluczy jest standardowym protokołem UDP (port 500). Kanały przesyłu danych oparte są na protokole ESP (protokół numer 50) opisanym w dokumencie RFC 2406. Więcej do poczytania na wikipedii http://pl.wikipedia.org/wiki/IPsec .
W tym wpisie pokażę jak zainstalować i skonfigurować połączenie oparte o IPSec pomiędzy Windowsem XP i Linuksem Ubuntu 9.04.
Instalacja Ubuntu :
# apt-get update
# apt-get install isakmpd
Jeżeli wszystko pójdzie dobrze to powinniśmy zobaczyć
Konfigurowanie isakmpd (20041012-5) ...
Starting OpenBSD isakmpd: done
Przechodzimy do konfiguracji isakmpd:
# cp /etc/isakmpd/isakmpd.conf /etc/isakmpd/isakmpd.conf.kopia
# echo > /etc/isakmpd/isakmpd.conf
# pico /etc/isakmpd/isakmpd.conf
Do pliku isakmpd.conf wklejamy :
[Phase 1]
Default= any
[any]
Phase= 1
Configuration= Default-main-mode
Authentication= TAJNE-HASLO
[Default-main-mode]
EXCHANGE_TYPE= ID_PROT
Transforms= AES-SHA,3DES-SHA
Następnie :
# cp /etc/isakmpd/isakmpd.policy /etc/isakmpd/isakmpd.policy.kopia
# echo > /etc/isakmpd/isakmpd.policy
# pico /etc/isakmpd/isakmpd.policy
i wklejamy :
KeyNote-Version: 2
Comment: This policy accepts ESP SAs from a remote that uses the right password
$OpenBSD: policy,v 1.6 2001/06/20 16:36:19 angelos Exp $
$EOM: policy,v 1.6 2000/10/09 22:08:30 angelos Exp $
Authorizer: "POLICY"
Licensees: "passphrase:TAJNE-HASLO"
Conditions: app_domain == "IPsec policy" &&
esp_present == "yes" &&
esp_enc_alg != "null" -> "true";
Na koniec restartujemy tunel :
# /etc/init.d/isakmpd restart
Konfiguracja Windowsa XP :
1. Start > uruchom > mmc
2. Gdy odpali się konsola mmc przechodzimy menu Plik > Dodaj/Usuń przystawkę.. > w zakładce Autonomiczna klikamy na Dodaj > na samym dole listy wybieramy Zarządzanie zasadami zabezpieczeń IP > Komputer lokalny
3. Prawy klik w miejscu gdzie są Zasady > Utwórz zasadę zabezpieczeń IP > nazwa IPSec
4. Dalej > Dalej > W miejscu gdzie jest możliwość wyboru metody autoryzacji wybieramy : Użyj tego ciągu do ochrony wymiany kluczy i wpisujemy tam nasze TAJNE-HASLO > dalej > edytuj właściwości
5. Dodaj > Ta reguła nie określa żadnego tunelu > Sieć LAN > Użyj tego ciągu do ochrony wymiany kluczy i wpisujemy tam nasze TAJNE-HASLO > dalej > w miejscu Listy filtrów IP dajemy DODAJ > DODAJ > Dalej > Mój adres IP > Dowolny adres IP > Dowolny > Zakończ > OK > na koniec zaznaczamy naszą regułę klikając na nią > dalej > zaznaczamy Wymagaj Zabezpieczeń > Zakończ > OK > Zakończ >
6. Na liście zasad klikamy na naszą zasadę IPSec prawym przyciskiem i wybieramy Przypisz

Przykład ruchu przed ustawieniem szyfrowania i po :
Przed ( ping na wp.pl z komputera 192.168.0.104 ) :
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:24:18.810670 IP 192.168.0.104 > www.wp.pl: ICMP echo request, id 512, seq 3328, length 40
15:24:18.810685 IP 192.168.0.104 > www.wp.pl: ICMP echo request, id 512, seq 3328, length 40
15:24:18.833136 IP www.wp.pl > 192.168.0.104: ICMP echo reply, id 512, seq 3328, length 40
Po ( ping na 192.168.0.103 z tego samego komputera ) :
15:43:55.230110 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 1 I ident
15:43:55.231793 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 1 R ident
15:43:55.261015 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 1 I ident
15:43:55.293697 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 1 R ident
15:43:55.304717 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 1 I ident[E]
15:43:55.311441 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 1 R ident[E]
15:43:55.320323 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 2/others I oakley-quick[E]
15:43:55.321473 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 2/others R oakley-quick[E]
15:43:55.329405 IP 192.168.0.104 > 192.168.0.103: ESP(spi=0x54ec7b59,seq=0x1), length 76
15:43:55.329431 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 2/others I oakley-quick[E]
15:43:55.334433 IP 192.168.0.103 > 192.168.0.104: ICMP 192.168.0.103 protocol 50 unreachable, length 104
15:43:56.156008 IP 192.168.0.104 > 192.168.0.103: ESP(spi=0x54ec7b59,seq=0x2), length 76
15:43:56.162215 IP 192.168.0.103 > 192.168.0.104: ESP(spi=0x72c430f4,seq=0x1), length 76
15:43:57.155322 IP 192.168.0.104 > 192.168.0.103: ESP(spi=0x54ec7b59,seq=0x3), length 76
15:43:57.158452 IP 192.168.0.103 > 192.168.0.104: ESP(spi=0x72c430f4,seq=0x2), length 76
Prosty VPN na przykładzie PPTP
Jeżeli zależy nam na bezpieczeństwie komunikacji w firmie lub poza jej obrębem to powinniśmy zainteresować się wdrożeniem sieci VPN. Wirtualne sieci prywatne zapewniają szyfrowany transfer danych przesyłanych przez Internet. Rozwiązanie to umożliwia budowę bezpiecznej formy komunikacji zarówno w obrębie przedsiębiorstwa, jak i dla celów prywatnych. W tym wpisie postaram się pokazać jak skonfigurować i zestawić takie bezpieczne połączenie przy pomocy PPTP. PPTP (Point-to-Point Tunneling Protocol) – wspólne dzieło Microsoftu i US Robotics, został zaprojektowany do łączenia VPN. PPTP jest rozszerzeniem PPP (Point-to-Point Protocol), standardowego protokołu komunikacyjnego Internetu, gwarantującego niezawodność asynchronicznej transmisji łączem szeregowym punkt-punkt bez ograniczania przepływności. Jest on szeroko stosowany do łączenia i przesyłania informacji zarówno w publicznym Internecie, jak i prywatnej sieci korporacyjnej. Ponieważ PPP funkcjonuje w warstwie drugiej, to połączenie PPTP, umożliwiające kapsułkowanie pakietów PPP, pozwala użytkownikom wysyłać nie tylko pakiety IP, ale także IPX i NetBEUI (NetBIOS Extended User Interface). Typowym klientem PPTP jest komputer z zainstalowanym systemem operacyjnym Microsoftu. W Windows zdefiniowanym protokołem szyfrującym jest MPPE (Microsoft Point to Point Encryption). Jest oparty na standardowym systemie kryptograficznym RSA (Rivest, Shamir, Adleman), który obsługuje 40-bitowe lub 128-bitowe szyfrowanie. Chociaż poziom bezpieczeństwa zapewniany przez ten protokół jest wystarczający dla wielu aplikacji, to najczęściej jest postrzegany jako mniej bezpieczny od niektórych algorytmów szyfrowania oferowanych przez IPS, a w szczególności od 168-bitowego Triple DES (Data Encryption Standard).
Instalacja :
# apt-get update
# apt-get install pptpd
Konfiguracja :
1. Dodajemy użytkowników którzy będą mogli łączyć się z naszą siecią. W tym celu edytujemy plik /etc/ppp/chap-secrets
# pico /etc/ppp/chap-secrets
Plik ten ma bardzo prostą budowę. Musimy w nim podać nazwę usera jaką będzie używał do logowania się, server któremu będzie podlegać ten user, jego hasło i adres IP jaki ma dostać przy zalogowaniu się. W miejscu IP możemy wstawić * , wtedy adres będzie przydzielany z puli adresów które ustalimy w configu PPTP
# Secrets for authentication using CHAP
# client server secret IP addresses
user pptpd tajne-haslo 192.168.0.250
user2 pptpd tajne haslo 192.168.0.251
2. Konfigurujemy PPTP
W tym celi edytujemy plik /etc/pptpd.conf
# pico /etc/pptpd.conf
Na samym końcu pliku odnajdujemy wpis :
localip 192.168.0.103 # adres serwera PPTP
remoteip 192.168.0.234-238 # pula adresów do wykorzystania dla podłączających się userów
I dopasowujemy go do siebie.
Na koniec zostaje nam już tylko zrestartować server PPTP
# /etc/init.d/pptpd restart
i już możemy się cieszyć VPNem.
3. Konfiguracja połączenia w Win XP
Panel sterowania > Połączenia sieciowe > Kreator nowego połączenia > Połącz z siecią w miejscu pracy > Połączenie wirtualnej sieci prywatnej > Tutaj wypełniamy odpowiednimi danymi takimi jak nazwa połączenia, adres ip serwera itp
Linki:
http://pigtail.net/nicholas/pptp/
http://onlyubuntu.blogspot.com/2008/09/howto-setup-pptp-server-vpn-on-ubuntu.html
http://www.networld.pl/artykuly/5716_1/Praktyczne.aspekty.wirtualnych.sieci.prywatnych.html
http://www.pcworld.pl/artykuly/21394_0_1/Droga.prywatna.wstep.wzbroniony.html
Sposoby używania netcat’a
Netcat jest czymś w rodzaju scyzoryka szwajcarskiego – wielofunkcyjnym narzędziem, jego zastosowanie i ilość funkcji jaką będzie oferował jest ograniczona tylko naszą pomysłowością. Zainstalowany jest on domyślnie we wszystkich systemach *niksopodobnych, istnieje też wersja dla Windows, która jest tak samo funkcjonalna jak ta na *niksy.
Postanowiłem zamieścić tutaj parę przydatnych zastosowań :
Skanowanie portów:
netcat -z -v 192.168.0.1 1-100
Wynik tego polecenia to np:
192.168.0.1: inverse host lookup failed: Unknown host
(UNKNOWN) [192.168.0.1] 80 (www) open
reverse shell, czyli odpalamy powłokę która pozwoli nam wykonywać zdalnie polecenia:
netcat -l -p 9876 -c /bin/bash
odpalona w ten sposób powłoka ma takie same uprawnienia jak user odpalający to polecenie ( i tak o to stworzyliśmy prostego backdoora ;] )

Polecenie wyżej może być też użyte do pokazywania zawartości katalogów:
netcat -l -p 9876 -c "ls /boot"

wrzucając tam polecenie uptime będziemy mogli uzyskiwać uptime komputera
Prosty serwer www:
while true ; do netcat -l -p 80 -c 'cat index.htm' ; done
Kopiowanie plików między komputerami:
Na komputerze gdzie chcemy wrzucić plik otwieramy port 9876
netcat -l -p 9876 > plik
A na drugim komputerze wrzucamy go na port 9876
netcat localhost 9876 < wazny.plik
Lub metoda z kompresją:
komputer1: netcat -lvp 12345 | tar -xv
komputer2: tar -cv plik | netcat -v adres_IP_komputera1 12345
Sprawdzamy informacje o naszej przeglądarce:
netcat -l -p 9876
Teraz łączymy się przy pomocy naszej przeglądarki z lochalhost:9876 i już wszystko jest jasne ;] :
GET / HTTP/1.1
Host: 192.168.0.2:9876
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; pl; rv:1.9.1.3) Gecko/20091007 Ubuntu/9.10 (karmic) Firefox/3.5.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cache-Control: max-age=0
Wireshark + netcat + tcpdump
http://www.gumularz.net/linux-tips/2009/06/wireshark-netcat-tcpdump/
Ręczna kompilacja kernela pod Ubuntu +instalacja łatki GRSecurity
Dawno temu pisywałem sposób jak łatwo zainstalować kernel z łatką GRSecurity przy pomocy apt-get. Było to rozwiązanie raczej dla leniwych lub mniej doświadczonych i miało pewne wady :
* brak możliwości dostosowania kernela do własnych potrzeb
* repozytoria z których był ściągany kernel nie były oficjalnymi repozytoriami
* rzadko pojawiały się tam najnowsze wersje kerneli
Dlatego teraz postanowiłem opisać sposób samodzielnej instalacji najnowszego jajka z łątką GRSec. Zależnie od mocy obliczeniowych maszyny na której będziemy to robić może to potrwać od pół do nawet kilkunastu godzin jednak da nam to wymierne korzyści. Począwszy na wyeliminowaniu minusów opisanych wyżej a skończywszy na wiedzy jaką zdobędziemy.
Zanim przejdziemy do kompilacji sprawdźmy czy mamy na dysku kilka giga wolnej przestrzeni.
Zaczynamy :
Do poprawnej kompilacji jajka będzie potrzebne nam parę paczek :
# apt-get update
# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential bin86 libqt3-headers libqt3-mt-dev
Domyślnie w Ubuntu /bin/sh jest dowiązane do /bin/dash. /bin/dash może powodować problemy podczas kompilacji ze źródeł, dlatego też zamienimy je na /bin/bash. Tak aby /bin/sh wskazywał /bin/bash.
# rm -f /bin/sh
# ln -s /bin/bash /bin/sh
Przechodzimy do katalogu /usr/src i zaczynamy ściąganie źródeł kernela i patch GRSec :
# cd /usr/src/
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.4.tar.bz2
Inne wersji kerneli i GRSec można pobrać z oficjalnych stron które zamieściłem na końcu wpisu w dziale Linki.
Rozpakowujemy źródła :
# tar -xvjf linux-2.6.31.4.tar.bz2
# cd linux-2.6.31.4
# wget http://www.grsecurity.net/test/grsecurity-2.1.14-2.6.31.4-200910141729.patch
Patchujemy źródła :
# patch -p1 < grsecurity-2.1.14-2.6.31.4-200910141729.patch
Jeżeli nie zależy nam na łatce GRSecurity to możemy pominąć ten krok i przejść dalej.
Kopiujemy configa kernela z aktualnie działającego systemu :
# cp /boot/config-`uname -r` .config
I teraz zaczyna się najciekawsze.. Nie ukrywam, że ten etap jest najtrudniejszy i wymaga sporej wiedzy o systemie od użytkownika lub cierpliwości i chęci szukania informacji o modułach które są dostępne w samym kernelu. Z biegiem czasu kernel się rozrasta, dzięki temu zyskujemy możliwość obsługi dużej ilości sprzętu jednak sytuacja się komplikuje gdy mamy sami wybrać jakie moduły mają być ładowane przy starcie systemu. Pozostawienie domyślnie zaznaczonych prawie wszystkich sprawi że kernel będzie kompilował się godzinami i będzie bardzo “ociężały”. Jest to dobra opcja dla mniej doświadczonych, jednak dla bardziej wtajemniczonych polecam poświęcenie trochę czasu na poszperanie w modułach. Pozwoli to nam dostosować kernel do własnych potrzeb a wyeliminowanie zbędnych modułów dodatkowo zwiększa bezpieczeństwo systemu. Inną sprawą są dodatkowe opcje konfiguracji które pokażą nam się po spaczowaniu źródeł łatką GRSec. Oczywiście można wybrać jeden z trybów bezpieczeństwa (słaby, średni, mocny) lub poczytać tutaj -> http://newbie.linux.pl/wydruk.php?wydruk=108&show=artykul i samemu dostosować GRSec pod siebie. Jednak nawet tryb słaby daje nam większe bezpieczeństwo niż czysty kernel.
Odpalamy menu konfiguracji jajka:
# make menuconfig
Zaczynamy kompilować i tworzyć paczki *.deb naszego kernela :
# make-kpkg clean
# make-kpkg --initrd kernel_image kernel_headers modules_image
Na koniec możemy zabrać się za czyszczenie systemu :
# cd ../
# rm -rf linux-2.6.31.4/
I instalację nowego kernela :
# dpkg -i *.deb
Nowy kernel powinien się nam dodać automatycznie do menu wyboru w grubie. Jeżeli wszystko poszło dobrze to po restarcie komputera powinniśmy zobaczyć coś takiego :

Linki:
http://newbie.linux.pl/wydruk.php?wydruk=108&show=artykul
http://kernel.org/
http://www.grsecurity.net/
Komentarze (1)
Dodaj komentarz

Dodaj komentarz