Archiwum kategorii ‘it’

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/

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

Microsoft Security Essentials

Piekło chyba zamarzło… pierwszy raz jestem zadowolony z darmowej aplikacji Microsoftu. Microsoft Security Essentials (MSE) (wcześniej znane jako Morro) jest darmowym programem antywirusowym zapewniającym całkiem dobrą ochronę przez wirusami, spyware, rootkitami i trojanami działającym na Windowsie XP, Vista oraz 7. Dodatkowym atutem tego oprogramowania jest proste i intuicyjne menu, niestety narazie nie ma dostępnego języka polskiego ale myślę że konfiguracja i obsługa nie powinna sprawiać problemów osobom nawet słabo znającym język angielski. Po za prostym menu program oferuje trzy tryby skanowania (pełne, skrócone i użytkownika, w którym możemy wybrać dyski, a nawet poszczególne foldery), harmonogram skanowania, automatyczne (lub definiowane przez użytkownika) aktualizacje baz sygnatur, a także historię wykrytych zagrożeń.

Kolejnymi plusami dla MSE jest całkiem dobre wykrywanie zagrożeń czyhających na pendrivach, bardzo małe zapotrzebowanie na zasoby systemu oraz dosyć częste aktualizacje bazy wirusów które zresztą odbywają się automatycznie. Podczas pracy MSE nie zalewa nas zbędnymi alertami o zagrożeniach, działa sobie cicho odzywając się jedynie gdy jest potrzebna nasza ingerencja. To wszystko sprawia, że MSE staje się idealnym antywirusem dla osób mniej wymagających oraz takich które nie korzystają z żadnej ochrony lub chcą przejść na oryginalne oprogramowanie.

Wymagania:
· dla XP – CPU 500 MHz lub lepszy, 256 MB RAM lub więcej
· dla Vista / W7 – CPU 1.0 GHz lub lepszy,1 GB RAM lub więcej
· Rozdzielczość: 800 x 600 lub większa
· Dysk: 140 MB wolnej przestrzeni lub więcej
· Dostęp do internetu
· IE lub Firefox

Pliki do pobrania:
Dla XP
Dla Visty i 7

Linki:
http://en.wikipedia.org/wiki/Microsoft_Security_Essentials
http://arstechnica.com/microsoft/news/2009/09/first-look-microsoft-security-essentials-impresses.ars

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/

Audyt legalności oprogramowania

Audyt lub inaczej kontrola legalności oprogramowania posiadanego w firmie jest bardzo ważną częścią pracy każdego administratora oraz samego procesu audytu informacyjnego. Pozwala kontrolować faktyczny stan zainstalowanego oprogramowania, jego legalność oraz posiadane licencje. W krytycznych sytuacjach pozwala uniknąć dużych nieprzyjemności dla firmy lub samej osoby informatyka, ponieważ POSIADANIE – KOPIOWANIE – KORZYSTANIE z nielegalnego oprogramowania to PRZESTĘPSTWO. Usuwanie, obchodzenie, łamanie zabezpieczeń programów to również PRZESTĘPSTWO. Postępowanie takie jest zagrożone:
- karą pozbawienia wolności od 3 miesięcy do 5 lat (art.278 § 2 K. K)
- karą ograniczenia wolności
- grzywną
- środkami karnymi np. przepadek przedmiotów, naprawienie szkody, świadczenie pieniężne na cel społeczny).

Aby tego uniknąć należy przeprowadzać w miarę możliwość często audyt. Wielu pracowników może nieświadomie instalować nielegalne oprogramowanie lub ściągać muzykę czy filmy na komputery firmowe. Robiąc to mogą kierować się niewiedzą albo chęcią umilenia sobie pracy. Do prawidłowego wykrywania takich nadużyć niezbędne w pracy audytora może się okazać dodatkowe oprogramowanie ale o tym później, teraz chciałbym skupić się na samym przebiegu audytu.Procedura audytu informatycznego jest złożona i może różnić się w zależności od profilu firmy i jej wielkości, jednak w większości wypadków składa się ona z pięciu najważniejszych etapów.

Gromadzenie danych
Zbieranie danych o sprzęcie i oprogramowaniu w firmie polega na skanowaniu komputerów przy wykorzystaniu wyspecjalizowanej aplikacji umożliwiającej gromadzenie szczegółowych danych o zainstalowanych programach na komputerach podłączonych do sieci informatycznej. Po zgromadzeniu informacji nt. posiadanego w firmie oprogramowania porównuje się te informacje z wykupionymi licencjami.

Analiza danych

Aplikacja zbierająca dane o wykorzystywanym oprogramowaniu porównuje jego stan ze stanem zakupionych licencji.

Raportowanie

Po przeprowadzeniu analizy legalności wykorzystywanego oprogramowania tworzone są szczegółowe raporty o stanie licencji, pozwalające na podjęcie decyzji o usunięciu zbędnego oprogramowania z sieci lub o nabyciu odpowiednich licencji.

Kroki zaradcze

Po zgromadzeniu szczegółowej wiedzy nt. braków w licencjach podejmowane są decyzje mające na celu usunięcie problemów i zapewnienie firmie optymalnego poziomu wykorzystania posiadanych licencji, bądź decyzje o zakupie dodatkowych licencji oprogramowania.

Bardziej szczegółowo o audycie, krok po kroku:

1. Inwentaryzacja oprogramowania zainstalowanego (skanowanie komputerów):

1.1. Zbierane informacje o oprogramowania wszystkich producentów, crackach, plikach audio i video.
1.2. Oznaczenie jednostek numerami audytowymi.
1.3. Spisanie i sprawdzenie zgodności certyfikatów autentyczności COA systemów operacyjnych Microsoft.
1.4. Spisanie urządzeń podłączonych do skanowanego komputera (np. drukarka, skaner, itp.).

2. Inwentaryzacja zakupionego oprogramowania:
2.1. Spisanie ilości zakupionego oprogramowania.
2.2. Uporządkowanie i skompletowanie licencji z nośnikami.
2.3. Sporządzenie cyfrowych zdjęć każdej licencji na oprogramowanie (wszystkich producentów).
2.4. Wprowadzenie danych do elektronicznej bazy inwentaryzacji.
2.5. Kontrola antypiracka – sprawdzenie autentyczności licencjonowanych produktów.

3. Analiza danych:
3.1. Weryfikacja zainstalowanego oprogramowania z oprogramowaniem zakupionym.
3.2. Zestawienie braków/nadmiarów oprogramowania i wskazanie najefektywniejszych metod legalizacji.
3.3. Ocena efektywnego wykorzystania systemów komputerowych i wskazanie najefektywniejszych metod zakupów.
3.4. Przygotowanie dokumentacji pod wdrożenie zasad i procedur zarządzania oprogramowaniem.
3.5. Sporządzenie raportów rozliczeniowych.

4. Raport wstępny:
4.1. Opis zakresu przeprowadzonych prac audytowych w firmie.
4.2. Analiza danych zebranych w procesie skanowania i inwentaryzacji oprogramowania.
4.3. Ustalenie wraz z klientem planu naprawczego celem szybkiej i możliwie najtańszej legalizacji.
4.4. Baza danych – nośnik optyczny (CD/DVD) zawierający informacje o prowadzonych działaniach.

5. Wdrożenie zaleceń audytowych:
5.1. Usunięcie niezgodności wykrytych podczas audytu, tj. deinstalacja nielicencjonowanych i zbędnych programów.
5.2. Usuwanie plików multimedialnych, cracków itp.
5.3 Instalacja oprogramowania na życzenie zleceniodawcy z wyłączeniem instalacji systemów operacyjnych, rozwiązań serwerowych, antywirusowych oraz systemów zarządzania firmą.
5.4. Instalacja oprogramowania do zarządzania oprogramowania (opcja).
5.5. Utworzenie metryk komputerowych i przypisanie do nich odpowiednich licencji na zainstalowane oprogramowanie.
5.6. Pomoc we wdrożeniu zasad i procedur zarządzania oprogramowaniem (SAM).

6. Szkolenia i wsparcie merytoryczne
6.1. Szkolenie kadry działu informatycznego z zakresu licencjonowania.
6.2. Szkolenie użytkowników komputerów w zakresie korzystania z oprogramowania i przestrzegania procedur zarządzania oprogramowaniem.
6.3. Szkolenie z obsługi programu do zarządzania oprogramowaniem (opcja).
6.4. Wsparcie merytoryczne z zakresu licencjonowania w okresie obowiązywania umowy.

7. Raport końcowy:
7.1. Opis zakresu przeprowadzonych prac audytowych w firmie.
7.2. Analiza danych zebranych w procesie skanowania i inwentaryzacji oprogramowania.
7.3. Baza danych – nośnik optyczny (CD/DVD) zawierający informacje o prowadzonych działaniach.
7.4. Wydanie wniosku o certyfikację.

Inną kwestią są sprzedawane na allegro lub innych aukcjach niby oryginalne Windowsy w okazyjnych cenach. Zazwyczaj sprzedawca nie wystawia faktury lub są to wersje systemów dedykowane dla danych producentów i używanie ich jest złamaniem licencji. Kupując takie Windowsy pamiętajmy, że według standardów BSA i Microsoft dowodami legalnego oprogramowania są:
1) Certyfikat Autentyczności COA (w przypadku systemu operacyjnego) – główny dowód legalnego systemu operacyjnego. Naklejka naklejana na obudowę stacji roboczej.
2) Licencja – prawo do korzystania z oprogramowania na warunkach określonych przez jego twórcę.
3) Oryginalny nośnik/i
4) Pudełko – wyłącznie w wersji BOX
5) Poprawnie wystawiona faktura zakupu – ! UWAGA ! – sama licencja nie jest dowodem legalnego oprogramowania

Skupmy się teraz na oprogramowaniu. Oprogramowanie wspomagające proces audytu informatycznego umożliwia precyzyjną kontrolę legalności poprzez automatyzację ww. czynności.
Specjalistyczne programy do audytu IT dysponują funkcją jednoznacznej identyfikacji każdego zainstalowanego w sieci lokalnej pakietu oprogramowania oraz dodatkowo są one z reguły odporne na działania samych użytkowników, którzy mogą próbować zatuszować obecność nielicencjonowanych kopii programów na swoich komputerach. W internecie można znaleźć wile tego typu narzędzi. Ściągając je uważajmy żeby samemu nie złamać zapisów zawartych w licencji;] Osobiście polecałbym zainteresować się tymi programami :

1. Microsoft Software Inventory Analyser (MSIA)
Microsoft Software Inventory Analyser (MSIA) to bezpłatne narzędzie wyszukujące informacje o oprogramowaniu firmy Microsoft zainstalowanym na poszczególnych komputerach. Korzystając z tego narzędzia, można przeprowadzić inwentaryzację wszystkich najpopularniejszych produktów Microsoft zainstalowanych na wszystkich komputerach w firmowej sieci. Rezultaty skanowania przeprowadzonego przez MSIA są prezentowane w eleganckich raportach i jak zapewnia producent, są całkowicie poufne i nie są wysyłane do firmy Microsoft. Program umożliwia także wprowadzenie ilości posiadanych licencji tak aby w łatwy sposób można było wykryć ich niedobór bądź nadmiar.
http://www.dobreprogramy.pl/Software-Inventory-Analyser,Program,Windows,12690.html

2. Menedżer Licencji
Polski program służący do inwentaryzacji oprogramowania w firmie. Menedżer Licencji pozwala zdalnie pobrać informacje o zainstalowanym oprogramowaniu ze wszystkich firmowych komputerów w sieci lokalnej. Opcjonalnie możne je też przenieść na dyskietkach. Informacje pobierane są o wszelkiego rodzaju programach dzięki czemu można kontrolować nie tylko aplikacje komercyjne ale np. sprawdzać czy na poszczególnych stanowiskach nie ma zainstalowanych programów niepożądanych (np. do bezpośredniej wymiany plików w sieciach p2p). Program generuje raporty w popularnych formatach, według stanowisk komputerowych lub nazw własnych programów. Spis posiadanych licencji pozwoli porównać listę zainstalowanych programów z licencjami uprawniającymi do ich używania.
http://www.dobreprogramy.pl/Menedzer-Licencji,Program,Windows,12244.html

3. PCinfo MagicEYE
Rozbudowany system do audytu oprogramowania i zarządzania zasobami IT w firmach. PCinfo MagicEYE umożliwia przeprowadzanie bardzo szczegółowej ewidencji posiadanych komputerów, podzespołów komputerowych i innych urządzeń informatycznych, a także precyzyjne wykrywanie zainstalowanego na komputerach oprogramowania (opcjonalnie także plików graficznych, muzycznych czy filmów). Wszelkie dane pobierane są z instalowanych zdalnie agentów rezydujących na poszczególnych końcówkach w sieci i wyświetlane na stanowisku administratora. Od wersji 5 możliwe jest także sprawdzanie komputerów pracujących pod kontrolą systemu Linux. Program umożliwia wprowadzenie liczby posiadanych licencji na oprogramowanie dzięki czemu można w łatwy sposób wychwycić ewentualne różnice, a także sprawdzić na jakich konkretnie komputerach zainstalowane jest dane oprogramowanie.
http://www.dobreprogramy.pl/PCinfo-MagicEYE,Program,Windows,12569.html

4. EVEREST Ultimate Edition
EVEREST oferuje możliwość gromadzenia informacji o sprzęcie i oprogramowaniu w postaci plików CSV lub bazy danych SQL i pozwala przeprowadzić wyczerpujący audyt sieci w oparciu o zebrane informacje. Wybrane informacje sprzętowe:
Płyta główna i procesor, karta graficzna i monitor, urządzenia pamięci masowej, karty sieciowe, multimedia, urządzenia wejściowe, pozostały sprzęt (informacje o urządzeniach PCI, Plug & Play, PCMCIA i USB, porty komunikacyjne, informacje o zarządzaniu energią, lista zasobów sprzętowych, informacje o drukarkach). Informacje o oprogramowaniu: System operacyjny, serwer i wyświetlanie, praca w sieci, informacje o zainstalowanym oprogramowaniu, zaplanowanych zadaniach, programach uruchamiania i rozwiązaniach antywirusowych.
http://www.instalki.pl/programy/download/testowanie_i_diagnostyka/EVEREST_Ultimate_Edition.php

Skuteczna, systematyczna kontrola legalności oprogramowania jest konieczna w każdej firmie. Praktycznie nie ma firmy, w której nie znajduje się choćby jeden pakiet oprogramowania nieposiadający odpowiedniej licencji. Kontrola legalności oprogramowania ma nie tylko ustalić, jaki jest stan faktyczny zainstalowanego oprogramowania i licencji, ale w efekcie ma doprowadzić do wprowadzenia procedur zarządzania oprogramowaniem oraz do efektywnego i świadomego kupowania nowych licencji.

Linki :
Po co Ci audyt legalności oprogramowania?
Dowody legalności
Kontrola legalności oprogramowania

Google Chrome pod Ubuntu 9.10

Google Chrome jest przeglądarką internetową tworzoną przez Google. Jej szybkość oraz stabilność bardzo mnie zaskoczyły. Uruchamia się znacznie szybciej niż FireFox3.5 i jeszcze ani razu się nie wysypała. Jak narazie ilość dodatków nie powala ale podstawowe jak AdBlock czy Flashblocker są, dodatkowe można znaleźć fajne wtyczki dla Gmaila i Kalendarza Google. Nad tym Chrome przechodzi testy acid czy nie, nie będę się rozwodził ponieważ zwykłego użytkownika mało to obchodzi. Ważne że działa i wygląda o niebo lepiej niż konkurencja;] W tym wpisie pokaże jak zainstalować Google Chrome pod Ubuntu 9.10 oraz dograć dodatkowe wtyczki i skórki.

Instalacja :
$ sudo -i
# pico /etc/apt/sources.list

I dodajemy dwa wpisy :
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main

następnie w konsoli wpisujemy :
# apt-get update
# apt-get install chromium-browser

Instalujemy dodatkowe wtyczki :
1. Adblockery
AdSweep blokuje i ukrywa niechciane reklamy w Google Chrome
http://arienh4.net/AdSweep.crx

Adblock+ jest oficjalną wersją tego popularnego dodatku z FireFoxa dla z Google Chrome. Posiada więcej możliwości blokowanie reklam i jest bardziej konfigurowalny niż AdSweep
http://ruzanow.ru/extensions/adblock.crx

2. Flashblocker
Ten dodatek automatycznie zatrzymuje pliki flashowe zanim się załadują i pozwala je ręcznie wystartować dzięki przyciskowi PLAY jeżeli będziemy chcieli je zobaczyć.
http://www.chromeextensions.org/appearance-functioning/flashblock/

3. Poczta w Gmailu
Wyświetla ilość nieprzeczytanych mejli na naszym koncie w Gmailu
https://dl-ssl.google.com/chrome/extensions/gmail.crx

4. Kalendarz Google
Dodatek ten informuje nas o zbliżających się wydarzeniach zapisanych w naszym kalendarzy google
http://www.chromeextensions.org/alerts-updates/gocalendar/

5. Zapisywanie sesji
Coś co jest normalne w FireFoxie niestety w google chrome jest zarządzane przez zewnętrzny dodatek. Pozwala on nam na zapisanie obecnej sesji i spokojne wyłączenie przeglądarki. Oczywiście można wrócić do uprzednio zapisanej sesji
http://www.chromeextensions.org/tabs/session-saver/

6. Inne dodatki
http://www.chromeextensions.org/
http://www.omgubuntu.co.uk/2009/10/15-chrome-extensions.html

Zarządzanie dodatkami w Google Chrome:
Aby dostać się do miejsca w którym będziemy mogli zmieniać ustawienia, wyłączać lub kasować zainstalowane dodatki musimy w pasku przeglądarki wpisać chrome://extensions/

Instalacja dodatkowych skórek :
Sporo fajnych skórek można znaleźć pod adresami https://tools.google.com/chrome/intl/en/themes/index.html,
http://www.freechromethemes.com/themes-gallery/index.html

Mam nadzieję, że kogoś zaciekawiłem i zachęciłem do zainteresowania się tą przeglądarką która staje się liczącym graczem na rynku przeglądarek.

Synchronizowanie katalogów przy użyciu rsync

Rsync (z angielskiego remote synchronization – zdalna synchronizacja) to protokół synchronizacji plików przez sieć. Zwykłe systemy przesyłania różnic (takie jak popularny diff/patch) wymagają istnienia obu wersji po jednej stronie, na podstawie których tworzona jest lista różnic a następnie przesyłana przez sieć. Rsync działa w odmienny sposób – przez sieć wysyłany jest spis plików z hashami bloków (zwykle ok. 1 kB), po czym na drugiej maszynie program sprawdza, które z fragmentów już posiada. Daje to bardzo dobre rezultaty i umożliwia radzenie sobie z sytuacjami, które dla patch/diff byłyby trudne do realizacji, jak przeniesienia plików. Rsync umożliwia też dostęp na bieżąco, w przeciwieństwie do “raz na dzień” w przypadku patch/diff.
Źródło : http://pl.wikipedia.org/wiki/Rsync

Tyle teorii na wstępie. Rsync można używać do robienia kopii zapasowych danych lub synchronizacji katalogów użytkowników z innych maszyn. Ten wpis będzie miał na celu pokazać jak łatwo wdrożyć Rsync na swoim serwerze i na klientach.

Program jest częścią standardowej dystrybucji Linuksa więc procesu instalacji nie będę opisywał bo nawet w czystej instalacji systemu już on jest.

Konfiguracja rsync :
Tworzymy plik /etc/rsyncd.conf
# pico /etc/rsyncd.conf
i dodajemy w nim :
uid = root
[baza]
path = /home/baza
[dok]
path = /home/dokumenty
read only = false

Udział baza pozwala tylko i wyłącznie na łączenie się z nim i pobieranie katalogu baza jeżeli istnieją różnice. Udział dok pozwala na wymianę plikami w obie strony.

Startujemy serwis Rsync :
./rsync start && rsync --daemon

Synchronizacja plików z serwera :
rsync -avz 192.168.0.103::baza /home/bartek/baza
Ważne jest użycie :: między adresem serwera a nazwą udziału. /home/bartek/baza to miejsce docelowe ściąganych plików.
Powtórne wywołanie tej samej komendy spowoduje ściągnięcie tylko nowych i zmodyfikowanych plików a nie wszystkiego od nowa.
W poleceniu rsync -avz .. można pominąć parametr -v (bo to jest verbose) oraz -z (kompresja ‘w locie’). Parametr -a oznacza archiwizację z zachowaniem wszystkich atrybutów plików (uid/gid/rwx/typ pliku).

Synchronizacja na serwer :
rsync -avz /home/bartek/dokumenty 192.168.0.103::dok

Po zestawieniu tego z Cronem zyskujemy całkiem dobre narzędzie do wykonywania kopii danych.

Jeżeli spotkamy się z takim błędem podczas próby połączenia z serwerem :
sync: failed to connect to 192.168.0.103: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]

To oznacza że nie wydaliśmy polecenia rsync –daemon podczas startowania serwera.

Stawiamy serwer PROXY – SQUID+DansGuardian

O samym sensie wdrażania PROXY nie będę się rozpisywał, jeżeli już ktoś szuka jak to zrobić to zakładam że wie co korzysta z tego powodu. Dla innych polecam lekturę http://pl.wikipedia.org/wiki/Serwer_po%C5%9Brednicz%C4%85cy

W tym wpisie zajmiemy się instalacją serwera PROXY jakim jest Squid razem z DansGuardianem, da to nam pełną kontrolę nad treścią wyświetlaną na komputerach klientów. Pokażę także na przykładzie naszej-klasy.pl jak filtrować ruch przy tej konfiguracji.

Instalacja SQUIDa :
$ sudo -i
# apt-get update
# apt-get install squid

Po instalacji pozostaje nam edycja configów, w tym celu wydajemy polecenie :
# mv /etc/squid/squid.conf /etc/squid/squid.conf.old
# echo > /etc/squid/squid.conf
# pico /etc/squid/squid.conf

I wpisujemy :
# NETWORK OPTIONS
# -----------------------------------------------------------------------------
# Port na którym squid nasłuchuje i transparentność
http_port 3128 transparent

# OPTIONS WHICH AFFECT THE CACHE SIZE
# -----------------------------------------------------------------------------
# Należy pamiętać iż to nie jest cała pamięć użyta przez squida
# Tu jest ustawienie dla mnie, a mam 1024 MB.
# cache_mem = (RAM - linux - apache - mysql - MTA - userzy - etc) / 3
cache_mem 128 MB

# Informacje na jakim poziomie zapełnienia ma pracować dyskowy cache
# Przy 80% demon powinien zacząć się martwić jego wymianą (low) lub agresywnie wziąć się do roboty (high)
# przy pełnym zapełnieniu cache.
cache_swap_low 80%
cache_swap_high 100%

# LFUDA ma hit rate mniejszy, a byte hit o kilkanaście procent większy od GDSF.
# Zatem ustawiamy politykę LFUDA dla dysku (optymalizacja dla byte hit ratio)
# i GDSF dla pamięci (zatrzymuje w cache niewielkie często używane obiekty).
# Jeśli używamy polityki LFUDA dla dysku poniższy parametr należy zwiększyć,
# w celu zmaksymalizowania byte hit.
maximum_object_size 32768 KB
# Poniżej tej wartości obiekty NIE są zachowywane na dysku.
minimum_object_size 0 KB
maximum_object_size_in_memory 128 KB
ipcache_size 16384
fqdncache_size 0
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# -----------------------------------------------------------------------------
# Chce mieć 6GB cache (mam na dysku 16GB wolnego)
# Liczba środkowa w parametrze cache_dir to liczba katalogów pierwszego poziomu.
# Wyliczamy ją dzieląc miejsce przeznaczone na cache przez średnią wielkość obiektu,
# a nastepnie wynik jeszcze raz dzielimy przez 32. Przykładowo:
# Liczba katalogów pierwszego poziomu = (6144 / (16 * 32))
#cache_dir ufs /usr/local/squid/var/cache 6144 12 256
cache_dir ufs /var/spool/squid 4000 12 256

# Logi (Permanentna inwigilacja + wyłączenie logów niepotrzebnych ani mi, ani squidowi).
# Wyłączenie logowania wpływa na wydajność systemu.
cache_log /dev/null
cache_store_log none

# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
# -----------------------------------------------------------------------------
dns_nameservers 192.168.0.1

# 1. Url
root@ubuntu:~# more /etc/squid/squid.conf

# NETWORK OPTIONS
# -----------------------------------------------------------------------------
# Port na którym squid nasłuchuje i transparentność
http_port 3128 transparent

# OPTIONS WHICH AFFECT THE CACHE SIZE
# -----------------------------------------------------------------------------
# Należy pamiętać iż to nie jest cała pamięć użyta przez squida
# Tu jest ustawienie dla mnie, a mam 1024 MB.
# cache_mem = (RAM - linux - apache - mysql - MTA - userzy - etc) / 3
cache_mem 128 MB

# Informacje na jakim poziomie zapełnienia ma pracować dyskowy cache
# Przy 80% demon powinien zacząć się martwić jego wymianą (low) lub agresywnie wziąć się do roboty (high)
# przy pełnym zapełnieniu cache.
cache_swap_low 80%
cache_swap_high 100%

# LFUDA ma hit rate mniejszy, a byte hit o kilkanaście procent większy od GDSF.
# Zatem ustawiamy politykę LFUDA dla dysku (optymalizacja dla byte hit ratio)
# i GDSF dla pamięci (zatrzymuje w cache niewielkie często używane obiekty).
# Jeśli używamy polityki LFUDA dla dysku poniższy parametr należy zwiększyć,
# w celu zmaksymalizowania byte hit.
maximum_object_size 32768 KB
# Poniżej tej wartości obiekty NIE są zachowywane na dysku.
minimum_object_size 0 KB
maximum_object_size_in_memory 128 KB
ipcache_size 16384
fqdncache_size 0
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# -----------------------------------------------------------------------------
# Chce mieć 6GB cache (mam na dysku 16GB wolnego)
# Liczba środkowa w parametrze cache_dir to liczba katalogów pierwszego poziomu.
# Wyliczamy ją dzieląc miejsce przeznaczone na cache przez średnią wielkość obiektu,
# a nastepnie wynik jeszcze raz dzielimy przez 32. Przykładowo:
# Liczba katalogów pierwszego poziomu = (6144 / (16 * 32))
#cache_dir ufs /usr/local/squid/var/cache 6144 12 256
cache_dir ufs /var/spool/squid 4000 12 256

# Logi (Permanentna inwigilacja + wyłączenie logów niepotrzebnych ani mi, ani squidowi).
# Wyłączenie logowania wpływa na wydajność systemu.
cache_log /dev/null
cache_store_log none

# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
# -----------------------------------------------------------------------------
dns_nameservers 192.168.0.1

# 1. Url
# 2. Minimalny wiek obiektu w minutach
# 3. Maksymalny stosunek wieku obiektu do czasu od ostatniej modyfikacji
# 4. Maksymalny wiek obiektu w minutach
# Proponuję usunąć linijkę z uporem maniaka lansowaną w necie ^gopher: 1440 0% 1440.
# Znasz kogoś kto używa świstaka w XXI w?
# Kolejne linijki były skuteczne w 2005 roku. Odkąd Microsoft wprowadził ograniczenia
# dla niezarejestrowanych kopii ruch zmalał 200 krotnie usmiech
refresh_pattern -i \.(gif|jpg|jpeg|png|html|bmp) 0 50% 7200 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 20% 4320


# TIMEOUTS
# -----------------------------------------------------------------------------
half_closed_clients off

# ACCESS CONTROLS
# -----------------------------------------------------------------------------
acl all src 0.0.0.0/0.0.0.0
acl siec src 192.168.1.0/255.255.255.0

acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
#acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http

acl ZA-DUZO maxconn 50


http_access deny ZA-DUZO siec

http_access allow siec

http_access deny !Safe_ports
#http_access deny CONNECT !SSL_ports
#http_access deny !SSL_ports

# ADMINISTRATIVE PARAMETERS
# -----------------------------------------------------------------------------
visible_hostname lazowski.us

# MISCELLANEOUS
# -----------------------------------------------------------------------------
# Anonimowość dla użytkownikow za natem - squid ustawia w nagłówku HTTP/1.1
# pole 'X-Forwarded-For: unknown' zamiast 'X-Forwarded-For: 10.10.10.171'.
# Więcej o tym: http://www.squid-cache.org/Doc/FAQ/FAQ-4.html#ss4.18
forwarded_for off
# Wyłączenie logowania zapytań ICP z innych serwerów web cache
log_icp_queries off
store_avg_object_size 16 KB
store_objects_per_bucket 36
# Włączenie buforowania dla logów zapisywanych przy pomocy funkcji stdio (cache_log)
buffered_logs on
reload_into_ims on
acl FTP proto FTP
always_direct allow FTP

strip_query_terms off

Na koniec sprawdzamy czy istnieje katalog /var/spool/squid , jeżeli nie to tworzymygo.


Instalujemy DansGuardiana :

# apt-get install dansguardian

Przenosimy config DG w bezpieczne miejsce i tworzymy nowy pusty plik /etc/dansguardian/dansguardian.conf
# pico /etc/dansguardian/dansguardian.conf
i wklejamy do niego :

reportinglevel = 3
languagedir = '/etc/dansguardian/languages'
language = 'polish'
loglevel = 2
logexceptionhits = 2
logfileformat = 1
filterip =
filterport = 8080
proxyip = 127.0.0.1
proxyport = 3128
nonstandarddelimiter = on
usecustombannedimage = on
custombannedimagefile = '/usr/share/dansguardian/transparent1x1.gif'

filtergroups = 1
filtergroupslist = '/etc/dansguardian/lists/filtergroupslist'
bannediplist = '/etc/dansguardian/lists/bannediplist'
exceptioniplist = '/etc/dansguardian/lists/exceptioniplist'
showweightedfound = on
weightedphrasemode = 2
urlcachenumber = 1000
urlcacheage = 900
scancleancache = on
phrasefiltermode = 2
preservecase = 0
hexdecodecontent = off
forcequicksearch = off
reverseaddresslookups = off
reverseclientiplookups = off
logclienthostnames = off
createlistcachefiles = on
maxuploadsize = -1
maxcontentfiltersize = 256
maxcontentramcachescansize = 2000
maxcontentfilecachescansize = 20000
filecachedir = '/tmp'
deletedownloadedtempfiles = on
initialtrickledelay = 20
trickledelay = 10
downloadmanager = '/etc/dansguardian/downloadmanagers/fancy.conf'
downloadmanager = '/etc/dansguardian/downloadmanagers/default.conf'
contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'
contentscannertimeout = 60
contentscanexceptions = off
recheckreplacedurls = off
forwardedfor = off
usexforwardedfor = off
logconnectionhandlingerrors = on
logchildprocesshandling = off
maxchildren = 120
minchildren = 8
minsparechildren = 4
preforkchildren = 6
maxsparechildren = 32
maxagechildren = 500
maxips = 0
ipcfilename = '/tmp/.dguardianipc'
urlipcfilename = '/tmp/.dguardianurlipc'
ipipcfilename = '/tmp/.dguardianipipc'
nodaemon = off
nologger = off
logadblocks = off
loguseragent = off
daemonuser = 'dansguardian'
daemongroup = 'dansguardian'
softrestart = off

Konfigurujemy przekierowywanie portów do naszego SQUIDa :
# pico /bin/masq
W pliku /bin/masq wklejamy :
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=1280
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -F -t filter
/sbin/iptables -X -t filter
/sbin/iptables -t filter -P FORWARD DROP
/sbin/iptables -t filter -A FORWARD -s 192.168.1.0/255.255.255.0 -d 0/0 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -s 0/0 -d 192.168.1.0/255.255.255.0 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE

#przekierowanie ruchu na Dansguardian nie tylko po porcie 80
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3124 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3127 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j REDIRECT --to-port 8080

Nadajemy prawa wykonywania dla pliku /bin/masq
# chmod +x /bin/masq
Na koniec dodajemy go do /etc/rc.local
# pico /etc/rc.local
i wklejamy linijkę :
/bin/masq

Blokowanie stron na przykładzie naszej-klasy.pl :
Edytujemy plik /etc/dansguardian/lists/bannedsitelist
# pico /etc/dansguardian/lists/bannedsitelist
i dodajemy w dziale #List other sites to block:
nasza-klasa.pl

W pliku /etc/dansguardian/lists/weightedphraselist odznaczamy kategorie, które chcemy blokować, a zahaszujemy te, których blokować nie chcemy. Mamy tu do wyboru: pornografię, narkotyki, przemoc i nietolerancję, gry hazardowe i inne. Domyślnie blokujemy pornografię, inne kategorie hashujemy.

Pozwalamy również użytkownikom na pobieranie plików. Hashujemy wszystkie rozszerzenia w plikach lists/bannedextensionlist oraz zezwalamy na przeglądanie filmów i słuchanie muzyki – hashujemy wszystko w pliku lists/bannedmimetypelist .

Możemy też dopisać do listy wyjątków największe polskie portale informacyjne. Niestety zmieniają one po godzinie 22.00 profil z inforamacyjnych na erotyczne. Dopisujemy do pliku /etc/dansguardian/lists/exceptionsitelist
onet.pl
wp.pl
interia.pl

Na koniec możemy zrestartować komputer żeby zobaczyć czy wszystko się podniosło. Od tej pory ruch będzie automatycznie przekierowywany na nasz serwer Proxy bez zmiany konfiguracji przeglądarek i bez wiedzy użytkowników. Plik /bin/masq zawiera reguły przekierowujące ruch dla większości używanych portów proxy, więc eliminujemy sytuacje że ktoś omija nasz serwer proxy i łączy się z innym dzięki czemu zyskuje niczym nie normowany dostęp do internetu.

Warto jest zagłębić się w konfigurację DG ponieważ domyślne ustawienia lub te pokazane na stronie mogą być nie wystarczające dla kogoś. Dg posiada spore możliwość blokowania, jako przykład posłużyć może lista wyjątków i reguł które możemy ustawić :
root@ubuntu:/etc/dansguardian/lists# ls
authplugins bannedphraselist bannedurllist downloadmanagers exceptioniplist exceptionsitelist greyurllist logurllist weightedphraselist
bannedextensionlist bannedregexpheaderlist blacklists exceptionextensionlist exceptionmimetypelist exceptionurllist headerregexplist phraselists
bannediplist bannedregexpurllist contentregexplist exceptionfilesitelist exceptionphraselist filtergroupslist logregexpurllist pics
bannedmimetypelist bannedsitelist contentscanners exceptionfileurllist exceptionregexpurllist greysitelist logsitelist urlregexplist

Linki i pliki konfiguracyjne :
http://www.kathmannlabs.net/mediawiki/index.php/Dansguardian_Ubuntu_Linux_Install_how-to
http://www.dansguardian.pl/index.php?s=home
http://www.howtoforge.com/squid-proxy-server-on-ubuntu-9.04-server-with-dansguardian-clamav-and-wpad-proxy-auto-detection
MASQ
squid.conf
dansguardian.conf
bannedsitelist

Przenoszenie na inny komputer bazy Płatnika 7.03.001 działającej na SQL 2000

Ostatnio się troszkę namęczyłem przy wydawałoby się tak banalnej czynności jaką jest przeniesienie bazy Płatnika 7.03.001 działającej na SQL 2000. Serwer SQL dołączany do Płatnika uległ zmianie i teraz zamiast wspominanej wcześniej wersji MSDE2000 jest już SQL 2005 EXPRES. Tutaj zaczynają się schody, ponieważ za nic nie udało mi się odpalić bazy na nowym SQLu. Po kilku godzinach dłubania, dziesiątkach komunikatów o błędnym loginie oraz o tym że baza jest uszkodzona wpadłem na pomysł jak korzystać z MSDE2000 i mieć ciągle nowe wersje Płatnika po przeniesieniu z działającego komputera. Do poprawnego przeprowadzenia instalacji potrzebna nam będzie płytka/instalka Płatnika od 6.03.001 w dół.

Zaczynamy :
1. Na komputerze gdzie ma znajdować się nowa instalacja odinstalowujemy najnowszego Płatnika oraz serwer SQL (jeżeli próbowaliśmy wcześniej instalować)
2. Usuwamy wszystkie pozostałości po najnowszym SQLu z C:\Program Files\Microsoft SQL Server oraz te pliki z C:\Documents and Settings\user\Dane aplikacji oraz Ustawienia lokalne
3. Na obecnie działającej instalacji zatrzymujemy serwer SQL i kopiujemy sobie katalog MSSQL$PLATNIK z C:\Program Files\Microsoft SQL Server
4. Przechodzimy do instalacji starej wersji płatnika
a. wybieramy instalację z serwerem SQL MSDE2000
b. tworzymy bazę taką jaką nam podpowiada, czyli Platnik
c. ustalamy hasła i kontynułujemy standardowo instalację
5. Restartujemy komputer
6. Po ponownym uruchomieniu się komputera zatrzymujemy serwer SQL i w katalogu C:\Program Files\Microsoft SQL Server podmieniamy cały folder MSSQL$PLATNIK
7. Startujemy serwer SQL i odpalamy Płatnika
8. Łączymy się z bazą. Wśród serwerów nie pojawi się nasz serwer więc musimy wpisać ręcznie w postaci NAZWA-KOMPUTERA\PLATNIK baza platnik. (np: KADRY\PLATNIK baza platnik) . Nazwę możemy zobaczyć lub ją zmienić w Panelu sterowania > SYSTEM
9. Po komunikacie o błędnej wersji bazy wyłączamy Płatnika.
10. Zaczynamy instalację najnowszej wersji Płatnika ( ja robiłem to na 7.03.001 )
a. wybieramy rodzaj bazy SQL
b. zaznaczamy żeby nie instalował Serwera SQL 2005 i kontynułujemy standardowo instalację
11. Po zakończeniu instalacji odpalamy Płatnika i łączymy się z naszą bazą SQL tak jak w punkcie 8. używając autoryzacji Windows.

Jeżeli kombinowaliśmy wcześniej z instalacją płatnika+SQL 2005 EXPRES i stworzyliśmy serwer PLATNIK to mogą pojawić się problemy podczas instalacji starszych wersji Płatnika z MSDE2000 ( komunikaty o braku uprawnień do wykonania operacji, komunikat informujący nas że mamy założone ograniczenia na koncie lub inne komunikaty informujące nas że serwer MSDE2000 nie może być zainstalowany ). W celu ominięcia tego musimy podczas instalacji zmienić nazwę serwera na inną niż podawaliśmy wcześniej, czyli zamiast PLATNIK na np BAZA a całą zawartość MSSQL$PLATNIK przekopiować po prostu do MSSQL$BAZA i postępować analogicznie przy łączeniu podając NAZWA-KOMPUTERA\BAZA a nazwa bazy to platnik itd.

Link do MSDE2000 http://www.microsoft.com/downloads/details.aspx?familyid=413744D1-A0BC-479F-BAFA-E4B278EB9147&displaylang=en

Jeżeli będzie potrzebna instalka Płatnika 6.03.001 to proszę pisać.

Do pobrania :

Obraz płyty robiony programem dd, po rozpakowaniu należey zmienić rozszerzenie na .iso i nagrać na płytkę. http://dl.getdropbox.com/u/1207653/wordpress/platnik603001.gz

Następna strona »