Tag Archives: praca magisterska

Proces instalacji Joomla

Do stworzenia naszego serwisu wykorzystana zostanie Joomla! w wersji JoomlaPE 1.0.12a. Jest to stabilna wersja programu, którego następcą jest Joomla! 1.5. Instalacja Joomla! jest procesem złożonym z kilku kroków, lecz nie jest on zbyt skomplikowany. W pierwszej kolejności musimy ściągnąć pakiet instalacyjny z adresu [joomla.pl] i uruchomić plik instalacyjny, który rozpakuje pliki do wybranego przez nas katalogu.

Kiedy mamy już potrzebne pliki w wymaganym miejscu, uruchamiamy przeglądarkę WWW i wpisujemy w nią adres naszego serwisu, w naszym przypadku jest to adres localhost. System automatycznie rozpozna, że serwis nie jest jeszcze poprawnie skonfigurowany i przekieruje na pierwszą stronę instalatora z testem przedinstalacyjnym. Sprawdzone tu zostaną wymagania odnośnie serwera oraz praw dostępu do plików i katalogów Joomla!. Mamy więc szansę, aby w razie niespełnienia któregoś z wymagań nanieść jeszcze odpowiednie poprawki w ustawieniach naszego serwera.

Ekran testu sprawdzającego czy nasza instalacja Joomla! ma odpowiednie przygotowane środowisko, składa się z trzech części (rys.13). Pierwsza mówi o konfiguracji samego serwera, druga o ustawieniach PHP, natomiast trzecia o prawach dostępu do plików. W następnym kroku należy zaakceptować licencję GNU/GPL/. Kolejny krok to wpisanie parametrów naszej bazy danych MySQL.

Nazwa hosta
(zwykle focaiftost)
Jlocalhost
Nazwa użytkownika
MySQL
Na przykład „root łub użytkownik
|root
nadany przez administratora serwera
Hasto użytkownika MySQL
1———
(Dla bezpieczeństwa hasło fffUSf być wpisane)
Nazwa bazy danych
MySQL
(Baza danych może być założona wcześniej)
|baza
Prefix tabel w bazie danych MySQL |ios_
Niektóre fiosty dopuszczają jedynie określone nazwy bazy przypisanej do serwisu. W takim przypadku użyj prefiksu tabei dla odróżnienia
kolejnych instalacji Joomiai
|— Usunąć istniejące
K tabele?
|— Zarchiwizować
1 tabele?
(kopie zapasowe bazy danych z poprzedniej instalacji Joomiai zostaną zamienione.)
ry Wczytać przykładowe dane?
Zainstaluj przykładowe dane, chyba ie jesteś doświadczonym użytkownikiem Joomiai i chcesz zacząć z pustą stroną. Nie odznaczaj tego, jeśii nie masz doświadczenia z Joomiai

Rysunek 14. Instalacja Joomla! – konfiguracja bazy danych MySQL

Następnie po pomyślnym zaimportowaniu bazy (rys.14) należy wpisać nazwę tworzonej strony internetowej. W kolejnym kroku wyświetla się wygenerowane hasło administratora – ze względów bezpieczeństwa należy je zmienić na własne hasło. Pozostałych ustawień nie zmienia się (rys. 15).

Rysunek 15. Instalacja Joomla! – podstawowe ustawienia użytkownika Ostatnią rzeczą jest usunięcie katalogu instalacyjnego. Po pomyślnym przejściu procesu instalacji otrzymujemy gotową witrynę z wczytanymi przykładowymi danymi.

Ustawienie adresów sieciowych

Dopóki nie chcemy zezwolić komputerom z Internetu na dostęp do żadnej z części naszej sieci lokalnej nie musimy używać prawdziwych adresów. Istnieją numery wydzielone z internetowych do ustawienia odrębnych sieci prywatnych (klasa A 10.0.0.0-10.255.255.255, klasy B, i klasy C: 192.168.0.0.0-192.166.255.255) Ponieważ każdy potrzebuje więcej adresów i ponieważ adres nie mogą się powtarzać w Internecie jest to dobry wybór.

Wybraliśmy jedną z tych klas: 192.168.2.xxx, i użyjemy jej w naszym przykładzie.

Serwer proxy będzie członkiem obu sieci i będzie przekazywał dane do i z sieci prywatnej.

Jeśli używamy filtrującego firewalla możemy używać tych numerów stosując IP masquearading. Firewall będzie przesyłał pakiety i tłumaczył numery IP na ,,PRAWDZIWE” adresy w Internecie.

Musimy przydzielić prawdziwy adres IP karcie sieciowej widocznej z Internetu (na zewnątrz). I przydzielić adres 192.168.2.1 karcie Ethernetowej wewnątrz.

To będzie adres IP naszego gatewaya/proxy. Możemy przydzielić pozostałym komputerom z naszej własnej sieci numery z zakresu 192.168.2.2-192.168.2.254.

Przykładowa zawartość ifcfg-eth1wygląda następująco:

#!/bin/sh
#>>>Device type: ethernet
#>>>Variable declarations:
DEVICE=eth1
IPADDR=192.168.2.1
NETMASK=255.255.255.0
NETWORK=192.168.2.0
BROADCAST=192.168.2.255
GATEWAY=199.1.2.10
ONBOOT=yes
#>>>End variable declarations

Można także zastosować taki skrypt do automatycznego połączenia modemowego do naszego ISP. Jeśli używamy modemu do łączenia się z siecią nasz zewnętrzny adres będzie nam przydzielony w trakcie połączenia.

Testy  sieci

Testy można zacząć od sprawdzenia ifconfig i trasowania (routingu), jeśli mamy dwie karty wynik polecenia ifconfigpowinien wyglądać podobnie do skryptu zamieszczonego poniżej:

#ifconfig
lo    Link encap:Local Loopback
inet addr:127.0.0.0 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:1620 errors:0 dropped:0 overruns:0
TX packets:1620 errors:0 dropped:0 overruns:0

eth0   Link encap:10Mbps Ethernet HWaddr 00:00:09:85:AC:55
inet addr:199.1.2.10 Bcast:199.1.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0
TX packets:0 errors:0 dropped:0 overruns:0
Interrupt:12 Base address:0x310

eth1   Link encap:10Mbps Ethernet HWaddr 00:00:09:80:1E:D7
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0
TX packets:0 errors:0 dropped:0 overruns:0
Interrupt:15 Base address:0x350

tablica trasowania powinna być zbliżona do zamieszczonej;

#route -n
Kernel routing table
Destination   Gateway     Genmask     Flags MSS  Window Use Iface
199.1.2.0    *        255.255.255.0  U   1500  0    15 eth0
192.168.2.0   *        255.255.255.0  U   1500  0    0 eth1
127.0.0.0    *        255.0.0.0    U   3584  0    2 lo
default     199.1.2.10   *        UG  1500  0    72 eth0

Trzeba pamiętać, że 199.1.2.0 jest numerem interface po internetowej stronie firewalla zaś 192.168.2.0 jest wewnątrz.

Po wykonaniu powyższych operacji mamy teraz podstawową konfigurację systemu.

Filtrowanie w systemie operacyjnym

Dzisiaj jeszcze trochę pracy magisterskiej o zaporach ogniowych. Miłego czytania!

Użytkownik może nie zdawać sobie sprawy, że większość wersji UNIX i serwerów Windows NT zawiera moduł filtrowania pakietów w interfejsie protokołu TCP/IP. Można korzystać z tego jako dodatku do silnej ściany ogniowej i za jego pomocą nadzorować dostęp do poszczególnych serwerów. Można także wykorzystywać ten moduł do zapewnienia dodatkowego zabezpieczenia wewnątrz sieci, bez ponoszenia kosztów dodatkowych ścian ogniowych wewnątrz firmy.

Samo filtrowanie nie wystarcza do pełnej ochrony sieci, wewnętrzne filtrowanie zapewniane przez system operacyjny nie pozawala na utworzenie całkowicie bezpiecznego środowiska. Nie można polegać tylko na filtrowaniu wbudowanym do systemu operacyjnego. Funkcje filtrujące systemu operacyjnego można użyć tylko wewnątrz sieci do zbudowania filtrów, które przepuszczają dokładnie tylko te protokoły, które zamierza się obsługiwać. Zapobiega się w ten sposób niezamierzonemu działaniu oprogramowania oraz funkcjonowaniu koni trojańskich nawet wtedy, gdy udało się komuś je zainstalować.

Podstawowe filtrowanie zapewniane w systemie operacyjnym pozwala zdefiniować kryteria, na podstawie których karty sieciowe mogą akceptować przychodzące połączenia w  oparciu o:

  • numer protokołu IP
  • numer portu TCP
  • numer portu UDP

Filtrowanie to nie dotyczy zazwyczaj połączeń wychodzących (tych, które inicjowane są na serwerze użytkownika) i jest odrębne definiowane dla każdej karty w systemie. Dla systemu Windows trzeba pamiętać o tym, że Windows NT 4 w odróżnieniu od systemu Windows 2000 nie obsługuje filtrowania ruchu wychodzącego. Typowy serwer ustawia usługi tak, aby nasłuchiwały wymienionych poniżej portów. Aby usługi te mogły pracować prawidłowo, porty te muszą być otwarte w filtrze.

Podstawowe usługi TCP.IP zazwyczaj nasłuchują na następujących portach:

Tabela 1

Port Usługa TCP/IP
7 Echo
9 Discard (porzuć)
13 Time (czas)
17 Quote of Day (Cytat dnia)
19 Character Generator (Generator znaków)

Źródło własne

Serwery internetowe najczęściej nasłuchują portów:

Tabela 2

Port Serwer
21 FTP
23 Telnet
70 Gopher
80 WWW (HTTP)
119 Net News (NNTP)

Źródło własne

Serwery plików najczęściej nasłuchują portów:

Tabela 3

Port Usługa
53 DNS
135 RPC Locator Service [1]
137 NetBios Name Service [2]
139 NetBios Session Service [3]
515 LPR [4]
530 RPC [5]

Źródło własne

Serwery pocztowe najczęściej są konfigurowane tak, aby nasłuchiwać następujących portów:

Tabela 4

Port Serwer pocztowy
25 SMTP
110 POP wersja 3
143 IMAP

Źródło własne

Przy instalowaniu innej usługi trzeba upewnić się, że ustawienia filtru serwera pozwalają nasłuchiwać portów wymaganych przez usługi – w przeciwnym wypadku usługi te nie będą działać. producent oprogramowania powinien określić, które porty są wymagane dla danej usługi. nie dotyczy to granicznych ścian ogniowych, które powinny być tak skonfigurowane, aby przepuszczać tylko wtedy usługę, jeżeli zamierza się ją świadczyć publicznie.

Konfigurację filtrowania w systemie operacyjnym należy zacząć od zablokowania wszystkich protokołów i adresów. Następnie można precyzyjnie zezwalać na usługi i dostęp do hostów, które będą je świadczyły w sieci. Należy  zabronić wszystkich prób połączeń do hostów wewnątrz sieci. Zezwalając na połączenia do wewnątrz pozwala się hakerom na uzyskanie połączenia z koniami trojańskimi lub na wykorzystywanie błędów w oprogramowaniu usług.

Zaleca się odfiltrowywanie i nie odpowiadanie na komunikaty zmiany trasy ICMP oraz echo (ping). Należy odrzucać wszystkie pakiety IP z ustawionym wyborem trasy przez nadawcę. Mechanizm ten rzadko jest używany w legalnym celu. Należy także odrzucać wszystkie zmiany pochodzące z protokołów zewnętrznego routingu (RIP, OSPF) przeznaczone dla routerów wewnętrznych. Nikt z zewnątrz sieci nie powinien przesyłać zmian RIP. Trzeba umieścić hosty z usługami publicznymi (WWW i SMTP) na zewnątrz filtrów pakietów, żeby nie pozwolić na powstawanie luk w filtrze pakietów.


[1] tylko Windows NT

[2] tylko serwery WINS

[3] tylko sieć Windows i serwery SMB/CIFS

[4] usługa drukowania TCP/IP korzysta z LPR jeżeli została zainstalowana

[5] połączenie RPC jest wykorzystywane przez usługę WinLogon w Windows NT, jak również przez wiele innych sieciowych aplikacji wyższych warstw

Budowa i składowe ściany ogniowej

Dzisiaj wracamy do pracy magisterskiej o zaporach ogniowych. Miłego czytania!

Zapora sieciowa w swej istocie jest raczej koncepcją, a nie produktem. Celem istnienia zapór jest przyznanie, bądź odmowa przyznania połączenia danemu użytkownikowi do danej usługi sieciowej. W bardziej ogólnym sensie zapora sieciowa składa się z odpowiedniego oprogramowania i sprzętu. Oprogramowanie może być typu freeware, shareware lub komercyjne. Sprzęt może być jakimkolwiek urządzeniem, na którym pracuje dany program.

Firewall zabezpiecza połączenie z Internetem w takim stopniu w jakim jest to możliwe za pomocą sprawdzania i zatwierdzania lub odrzucania prób połączenia między siecią wewnętrzną użytkownika a sieciami zewnętrznymi. Silne ściany ogniowe chronią sieć na poziomie wszystkich warstw – od warstwy łącza danych w górę do warstwy aplikacji.

Ściana ogniowa jest umieszczana na granicach sieci – w punktach, które zapewniają dostęp do innych sieci. Z tego powodu ściana uważana jest za gwaranta bezpiecznej granicy. Pojęcie gwaranta bezpiecznej granicy jest ważne, ponieważ bez niego każda stacja w sieci musiałaby samodzielnie wykonywać funkcje ściany, niepotrzebnie zużywać swoje zasoby obliczeniowe i zwiększać ilość czasu potrzebnego do połączenia, uwierzytelniania i szyfrowania danych. Ściany ogniowe pozwalają scentralizować wszystkie zewnętrzne usługi sieciowe na komputerach, które są dedykowane i zoptymalizowane pod kątem tej pracy.

Z natury rzeczy ściany ogniowe tworzą wąskie gardło między sieciami wewnętrznymi a zewnętrznymi, ponieważ cały ruch przechodzący między sieciami musi przechodzić przez pojedynczy punkt kontroli. Jest to niewielka cena, która płaci się za bezpieczeństwo. Ponieważ zewnętrzne połączenia wykorzystujące linie dzierżawione są względnie wolne w porównaniu do szybkości współczesnych komputerów, zwłoka spowodowana przez ścianę ogniową może być całkowicie pominięta.

Firewall działa w oparciu o trzy podstawowe mechanizmy:

  • filtrowanie pakietów (ang. packet filtering) polega na tym, że odrzucane są pakiety TCP/IP z nieautoryzowanych hostów i próby połączenia z nieautoryzowanymi usługami.

Translacja adresów sieciowych NAT (ang. Network address translation) polega na dokonywaniu zmiany adresu IP hosta wewnętrznego w celu ukrycia go przed zewnętrznym monitorowaniem. Mechanizm ten jest również nazywany maskowaniem adresu IP (ang. IP masquerading).

Usługi proxy – ściana ogniowa może dokonywać połączenia na poziomie aplikacji w imieniu wewnętrznego hosta, przerywane jest wtedy połączenie na poziomie warstwy sieciowej pomiędzy hostami wewnętrznymi i zewnętrznymi.

Duża część ścian ogniowych wykonuje jeszcze dwie inne usługi bezpieczeństwa.

  • szyfrowane uwierzytelnianie – użytkownicy sieci publicznej muszą udowodnić swoją tożsamość wobec ściany ogniowej zanim uzyskają dostęp do sieci wewnętrznej.

Szyfrowane tunelowanie – pozwala na ustanowienie bezpiecznego połączenia między dwoma prywatnymi sieciami za pośrednictwem publicznego medium typu Internet. Dzięki temu dwie fizycznie rozdzielone sieci mogą użyć do komunikowania się Internetu zamiast linii dzierżawionej. Tunelowanie jest także nazywane wirtualnymi sieciami prywatnymi.

Przedstawione mechanizmy wykorzystywane są do zapewnienia bezpieczeństwa we wszystkich prawie ścianach ogniowych. Aktualnie na rynku istnieją setki tego typu produktów wzajemnie rywalizujących ze sobą. Oczywiście użytkownicy mogą korzystać tylko z niektórych wymienionych wyżej funkcji za pomocą odpowiednich urządzeń lub serwerów na przykład użytkownik może mieć router filtrujący pakiety i na odrębnym komputerze serwer proxy. Wtedy albo filtr pakietów musi przepuszczać ruch do serwera proxy, albo serwer proxy musi znajdować się na zewnątrz sieci użytkownika i nie mieć ochrony zapewnianej przez filtr pakietów. Obydwa rozwiązania są bardziej niebezpieczne niż używanie pojedynczej ściany ogniowej, która wszystkie funkcje ma zgrupowane w jednym miejscu.

Architektury zapór ogniowych

Dual-Homed Host Firewall (router ekranujący)

Rysunek 1

źródło własne

Umieszczenie routera ekranującego i filtra pakietowego na komputerze z dwoma kartami sieciowymi jest najprostszym rozwiązaniem, w którym jeden komputer oddziela sieć lokalną od potencjalnych zagrożeń. Blokuje on ruch pomiędzy konkretnymi sieciami, hostami lub niektórymi portami.

Screened Host Gateway Firewall (firewall z routerem ekranującym)

Rysunek 2

źródło własne

Taka konfiguracja wymaga dodania WAN routera, który dostarcza połączenie z WAN i filtrowanie pakietów. Rozwiązanie to pozwala umieścić komputer główny z dala od sieci publicznej. Komputer główny w tym przypadku to serwer firewall z usługami proxy i dodatkowym filtrowaniem pakietów. Przerwanie bezpośredniego połączenia tego serwera z Internetem pozwala znacząco zwiększyć bezpieczeństwo.

Screened Subnet Firewall (firewall z dwoma routerami ekranującymi)

Rysunek 3

źródło własne

Firewall z dwoma routerami ekranującymi zapewnia dodatkową izolację sieci lokalnej. Oprócz routera WAN dodajemy router LAN, który kontroluje przepływ danych w sieci lokalnej. Dzięki temu, że komputer główny z Proxy Server jest umieszczony w osobnej sieci, atak ogranicza się jedynie do uderzenia na niego. Dodatkowo router LAN uniemożliwia nieautoryzowany dostęp do komputera głównego z wnętrza sieci. Oba routery mogą zostać skonfigurowane, by serwer komunikował się wyłącznie z nimi.

Funkcje Firewall

Dzisiaj praca magisterska o zaporach ogniowych. Miłego czytania!

Zapora sieciowa (firewall) jest urządzeniem zaprojektowanym do zapobiegania niepowołanemu dostępowi do sieci. Urządzeniem tym zazwyczaj jest niezależny komputer, ruter lub inny sprzętowy element sieci. Zapora stanowi jedyny punkt wejściowy do sieci lokalnej – jej zadaniem jest kwalifikacja nadchodzących z zewnątrz zgłoszeń według zadanych reguł i ich przetworzenie, co w najprostszym ujęciu sprowadza się do akceptacji, bądź odrzucenia żądania połączenia z danym serwerem usług sieciowych.

W większości przypadków kwalifikacji żądania połączenia dokonuje się bazując na adresie źródłowym pakietu. Jeśli, przykładowo, nie chcemy udostępniać usług naszego serwerem użytkownikom z danej domeny, wprowadzamy odpowiednią maskę do reguł sterujących zapory i odtąd próby połączenia z naszym serwerem dla danej grupy użytkowników zakończą się komunikatem „Connection Refused” (połączenia odmówiono) lub podobnym (możliwa jest również sytuacja, gdzie połączenie jest zrywane bez prezentacji żadnego komunikatu).

Zapory sieciowe mogą przeprowadzać analizy nadchodzących pakietów różnych protokołów. W oparciu o taką analizę, zapora sieciowa może podjąć różne działania, zatem możemy zaprogramować firewall do przeprowadzania warunkowego przetwarzania pakietów. („Jeśli zostanie napotkany pakiet spełniający warunek A, podejmij działanie B”).

Takie warunkowe struktury nazywane są regułami. Na ogół, podczas „stawiania” zapory wyposażamy ją w zestaw reguł odzwierciedlający strukturę zależności służbowych w naszej organizacji. Na przykład, załóżmy, że w firmie jest dział sprzedaży i księgowości, a strategia przedsiębiorstwa wymaga, aby tylko dział sprzedaży miał dostęp do zasobów naszego serwera. Aby wymusić realizację tej polityki, wyposażamy nasz firewall w regułę nie przyjmującą zgłoszeń połączenia otrzymywanych z działu księgowości. W takim aspekcie zapory sieciowe są tym dla sieci, czym są przywileje użytkownika dla systemu operacyjnego. Windows NT pozwala na wskazanie użytkowników mających dostęp do danego pliku lub katalogu. Jest to kontrola dostępu na poziomie systemu operacyjnego. Podobnie zapory sieciowe pozwalają na zastosowanie kontroli dostępu do zasobów naszego serwera i stacji roboczych w sieci.

Monitorowanie dostępu jest jednakże tylko częścią tego, do czego można wykorzystać nowoczesne zapory sieciowe – większość komercyjnych firewalli pozwala na kontrolę zawartości pakietów. Można to wykorzystać do odfiltrowywania niepożądanych skryptów JavaScript, VBScript i ActveX oraz plików cookies. Co więcej, mamy możliwość zdefiniowania reguł dyskryminujących poszczególne połączenia na podstawie tzw. sygnatur ataku.

Sygnatury ataków są wzorcami poleceń charakterystycznymi dla danego ataku przypuśćmy, że nasz intruz „telnetuje’ się na port 80 i wydaje szereg istotnych z jego punktu widzenia komend. Znając taki proces, możemy „nauczyć” firewall rozpoznawać i blokować podobne ataki na podstawie wzorca zawartego w sygnaturze. Podobne efekty można również uzyskać analizując ruch na poziomie pakietu niektóre programy do zdalnego wykorzystywania luk systemowych generują charakterystyczne pakiety, które można wyodrębnić i podjąć odpowiednie działania.