| Logowanie | | Nie masz jeszcze konta? Możesz sobie założyć. Jako zarejestrowany użytkownik będziesz miał kilka przywilejów. |
|  |  |  |
Jak zbudować system internetowy i nie zbankrutować?(1604 słów w tym tekście) (1653 ) 
Webinside.pl
autor: Qmis, Paul
W obecnej sytuacji ekonomicznej oraz coraz silniejszej
konkurencji większośc firm nie może pozwolić sobie na
inwestowanie dużych środków na rozwiązania internetowe.
Jednak rezygnacja z jakichkolwiek projektów oznacza utratę
pozycji konkurencyjnej.
Trzeba znaleźć rozsądną propozycję dla firm, które chcą się
rozwijać, ale nie dysponują dużą ilością kapitału. Na
szczęście obecnie na rynku istnieje bardzo dużo rozwiązań
darmowych lub prawie darmowych. Co ciekawe, nie są one zwykle
gorsze od produktów za x00000$. Proponujemy przyjrzeć się
wybranym (i sprawdzonym) produktom realizującym podstawowe
funkcje związane z Internetem. Przegląd ten nie jest
kompletny - zawiera tylko kilka wybranych rozwiązań z setek
(tysięcy?) dostępnych. Czynnikami decydującymi o wyborze były
głównie niezawodność, jakość, elastyczność i bezpieczeństwo.
Wybrano rozwiązania zwykle bardzo popularne (a przez to godne
zaufania - bo dokładnie przetestowane i znane "od podszewki".
System operacyjny
Do wyboru mamy różne rodzaje linuxów oraz systemy z rodziny
BSD. Wszystkie są darmowe. Z linuxów można wybrać np.
najbardziej popularną dystrybucję RedHat. Mirror w Polsce
wraz z obrazem iso płyty z systemem znajduje się na
ftp://sunsite.icm.edu.pl/pub/Linux/redhat/. Jest to
dystrybucja bardzo szybko wprowadzająca wszelkie nowinki do
systemu. Łatwa w instalacji, jednak znane są jej słabe strony
dotyczące bezpieczeństwa. Nie powinno się instalować
domyślnej konfiguracji, należy dopracować własną. Bardzo
szybko i dynamicznie polski rynek zdobywa dystrybucja
Mandrake. Strona projektu znajduje się pod adresem
http://www.linux-mandrake.com/, mirroruje ją
ftp://sunsite.icm.edu.pl/pub/Linux/mandrake/. Bardzo polecaną
dystrybucją na serwery jest Debian - obrazy płyt znajdują się
na ftp://sunsite.icm.edu.pl/pub/Linux/debian-cd/. System
posiada bardzo wygodne narzędzia do zarządzania update'ami
pakietów. Bardzo dobrym systemem jest Slackware, dystrybucja
ta ma bardzo wiele cech wspólnych z systemami BSD, nie jest
trudna w administracji, chociaż nie posiada żadnych
"kreatorów " oraz im podobnych "wodotrysków". Większość opcji
ustawiamy w plikach o bardzo czytelnej składni. Więcej na
temat innych dystrubucji znajdziemy pod adresem Przegląd
dystrybucji Linuxa Systemy z rodziny BSD UNIX.
Na całę tę rodzinę składają się FreeBSD ,NetBSD oraz OpenBSD.
Oparte są na UNIX-owych systemach. Bardzo dobrze sprawują się
jako serwery sieciowe. Opracowano je na Uniwersytecie
Kalifornijskim Berkeley.
Linux i FreeBSD mogą pracować nie tylko na procesorach
Intela. Stabilne implementacje istnieją dla DECowskiej Alphy
(procesora 64-bitowego), dla niektórych maszyn z procesorem
Motoroli 68k, m.in. Amigi, PowerPC Apple'a i Sparca Suna.
Wreszcie, jeżeli ktoś zdecyduje się kupić płytę z kilkoma
procesorami Intela lub Suna to Linux może wykorzystać
możliwości takiej płyty. Na FreeBSD decydowały się duże
firmy, wymagające pełnej niezawodności, wydajności i
bezpieczeństwa przykładami są serwisy yahoo.com, cdrom.com.
Poniżej przedstawone są niektóre cechy systemów BSD.
Celem przyświecającym programistom OpenBSD było zapewnienie
dużego bezpieczeństwa systemu, oraz wieloplatformowości,
dlatego też pierwsza wersja (1996 r.) została oparta na
NetBSD 1.1, a obsługiwała 9 platform sprzętowych. Od tego
czasu autorzy audytują każdy fragment kodu pod kątem
jakichkolwiek zagrożeń bezpieczeństwa. OpenBSD jest też
pierwszym systemem, w którym znalazła się tak szeroka obsługa
kryptografii.
Jako, że system nie jest rozwijany w USA, autorzy nie musieli
dbać o restrykcje eksportowe. Co do FreeBSD to jądro tego
systemu zapewnia pełną zgodność binarną z Linuxem, SCO
Unixem, NetBSD i BSD/OS, co pozwala na bezproblemowe
uruchamianie aplikacji działających w innych środowiskach,
jednocześnie nie powodując ich spowolnienia działania.
System NetBSD również pochodzi od 4.4BSD Lite2 (pierwsza
edycja w 1994 roku), jednakże w tym wypadku celem
programistów było uzyskanie zgodności z jak największą liczbą
platform sprzętowych. W chwili obecnej NetBSD pracuje na 30
różnych platformach, od VAX do Atari.
Zarówno Linux jak i systemy BSD dostarczane są wraz ze
źródłami, co jest ich dodatkowym atutem. Obecnie także firma
SUN udostępnia system SOLARIS również za darmo jest to bardzo
dobry system operacyjny - trochę trudności może sprawić jego
instalacja. Wymaga on ponadto lepszego sprzętu.
Serwer WWW
Co do serwerów www, to niepodzielnie króluje Apache Wg
specjalistów z firmy Netcraft Apache prowadzi dość znacznie
nad innymi konkurencyjnymi serwerami www. Jego główne zalety
to wydajność, łatwa konfiguracja oraz, co chyba
najważniejsze, olbrzymie możliwości rozbudowy o dodatkowe
moduły (ich lista znajduje się tutaj). Dużym atutem jest
dokumentacja do tego serwera - jej angielską wersję można
znaleść na tej stronie, natomiast wersję polską znajdziemy
tutaj.
Z Apachem bardzo łatwo zintegrować obsługę jezyków
programowania. Chodzi tutaj głównie o PHP oraz Perl-a
Inne rozwiązania dopiero zaczynają postawać. Z ciekawszych
warto wymienić Aol Serwer oraz Roxenzwiązany z FreeBSD.
Pełną listę serwerów wraz z cenami :) można znaleść na
stronach Pc Kuriera
Baza danych
Ostatnio wzrosło znaczenie niekomercyjnych baz danych -
powstały nowe produkty. Został przełamany monopol dużych
firm. Obecnie dostępne są opensource'owe rozwiązania w pełni
gotowe do wykorzystania w rozwiązaniach B2B, B2C.
Udostępniają użyteczne i elastyczne mechanizmy przechowywania
wszelkiego rodzaju informacji. Nic więc dziwnego, iż
relacyjne bazy danych używane są w aplikacjach tak małych jak
prywatny spis telefonów, az po potężne magazyny danych
stosowane w bankach do zapisywania realizowanych transakcji.
Standardem obecnie są bazy oparte na języku sql. Jest to
język zapytań umożliwiający pobieranie i zapisywanie danych.
Na język SQL składają sie zapytania które bardzo łatwo
konstruować.
Dwa najpopularniejsze "silniki" baz danych to mySQL i
PostgreSQL. Zdania co do ich wydajności są podzielone - MySQl
nadrobił dystans do PostreSQL implementując obsługę
transakcji. Do obsługi ich powstało wiele bibliotek np dla
C++. W języki PHP oraz Perl> wbudowano bardzo wygodne funkcje
do ich obsługi. Szczególnie perl posiada bogate archiwum CPAN
PHP bardzo łatwo właczać do stron generowanych dynamicznie.
MySQL nie ma możliwości zapamiętywania procedur i dlatego
wszystkie operacje należy programować niejako "z zewnątrz", w
językach: C/C++, Tcl, Perl, PHP lub Python.
Dostęp do informacji jest możliwy z poziomu protokołów ODBC i
JDBC. Kolejnym ograniczeniem jest brak tzw. triggerów -
procedur wykonywanych automatycznie po odczycie/zapisie
konkretnego pola. Ten mechanizm jest często wykorzystywany w
oprogramowaniu internetowym, m.in. do zabezpieczania dostępu
do części serwisu na hasło (obsługa logowania).
Postgresql obsługuje transakcje i triggery. Ma możliwość
składowania procedur napisanych w języku zbliżonym do PL/SQL.
Te cechy zostały jednak okupione wolniejszym działaniem
oprogramowania. Postgresql nadaje się doskonale do tworzenia
zaawansowanych aplikacji Duża pojemność informacyjna
(maksymalny rozmiar tabeli danych - 64 TB, największe pole -
1 GB, liczba pól w rekordzie - do 1600) i obsługa
standardowych protokołów komunikacji (ODBC/JDBC) pozwalają na
zastosowanie nawet w profesjonalnych systemach do zarządzania
oraz w hurtowniach danych.
Dostęp do danych można także realizować w językach: C/C++,
Tcl, Perl, PHP i Python.
Wśród popularnych serwerów baz danych dla Linuksa, które są
dostępne za darmo należy jeszcze wymienić Adabas D i
InterBase. Baza Adabas w wersji 11 jest oferowana także jako
bezpłatna Linux Edition. Firma Borland, producent InterBase
udostępnia gotowy do skompilowania pełny kod źródłowy w
ramach tzw. Open Edition.
Reasumując jeżeli posiadamy mniejsze bazy, a zależy nam na
szybkości polecamy Mysqla, w przeciwnym wypadku użyjmy
PostgreSQL.
System poczty
Linux jako serwer poczty sprawuje się znakomicie. Do niedawna
jedynym MTA (MAIL TRANSPORT AGENT) był Sendmail Znane były
jego problemy z bezpieczeństwem .Na stronach
http://securityfocus.com można jeszcze znaleść kilka
exploitów na starsze jego wersje . Programiści Sendmaila
bardzo dokładnie audytowali jego kod i w tej chwili jest to
bardzo dobry elastyczny program. Jego konfiguracja może
sprawić początkującym użytkownikom dość duże problemy.
Ciekawym programem i bardzo łatwo konfigurowalnym jest
Postfix napisany przez Wietse Venema. Program ten zasługuje
na uwagę - jest bezpieczny i bardzo wydajny. Składa się z
kilku niezależnych procesów (całością zarządza daemon o
nazwie master) które nie "ufają sobie nawzajem", co dodatkowo
zabezpiecza system.
Na uwagę zasługuje też Qmail jest modularnym i bardzo
wydajnym narzędziem do transportu poczty elektronicznej,
autorstwa prof. Dana J. Bernstein'a. Główną cechą,
odróżniającą go od większości MTA (ang. mail transport agent)
zbudowanych na wzór sendmail'a jest właśnie modularność oraz
prostota, a co za tym idzie bezpieczeństwo. Według testów
autora, qmail potrafi dostarczyć 9 mln lokalnych wiadomości
dziennie na komputerze klasy Pentium 100. Wadą jest
niestandartowy sposób przechowywania skrzynek pocztowych co
wymaga dodatkowych zabiegów konfiguracyjnych.
Istnieje też Zmailer Serwer pocztowy autorstwa Rayana S.
Zachariassena i Matti Aarnio stworzony został z myślą o
dużych instalacjach. Zmailer obsługuje inne protokoły
pocztowe oprócz SMTP , m.in. UUCP czy Bitnet, popularne na
przełomie lat 80. i 90., a także bramkę pomiędzy pocztą
elektroniczną a usenetem.
Ciekawy w konfiguracji jest też Exim Jest to serwer pocztowym
rozwijanym na Uniwersytecie Cambridge na zasadach GNU GPL.
Architektura Exima różni się zasadniczo od np. Postfiksa.
Mailer skomponowany został jako jeden plik binarny,
uruchamiany z identyfikatorem obowiązującym root. Nie jest to
zbyt popularny MTA. Sądzę że najlepszym kompromisem jest
Postfix - mamy w nim zarówno bezpieczeństwo, jak i prostotę
konfiguracji.
Inne
Najbardziej znanym serwerem DNS (Domain Name Server) jest
BIND. Niestety zyskał on sobie złą sławę poprzez wpływ na
bezpieczeństwo systemu. Alternatywą, spełniającą wszelkie
oczekiwania odnośnie bezpieczeństwa, stabilności oraz
wydajności jest djbdns Autorem programu jest Dan J.
Bernstein, autor bardzo popularnego serwera poczty QMail. Dla
dużych sieci jednak dalej najlepszym rozwiązaniem będzie BIND
działający w chrootowanym środowisku bez uprawnień roota.
Nasz serwer należy zabezpieczyć za pomocą firewalla. Możemy
go "napisać" za pomocą kilku narzędzi - dobranych w
zależnosci od jądra systemu (dla systemów linux).
We wszystkich jądrach do serii 2.0 używa sie narzedzia
ipfwadm. Jądra 2.2.x wprowadziły trzecią generacje firewalla
IP dla Linuksa o nazwie IP Chains (łancuchy IP). Łańcuchy IP
używają programu podobnego do ipfwadm, ale noszącego nazwe
ipchains. W nowszej jądrach serii 2.4.x używany jest
Netfilter IPtables
Filtrowanie jest opisane w dwóch bardzo dobrych dokumentach
Filtrowanie pakietów IP na temat filtra ipf z systemów BSD.
napisany przez Daniela Letkiewicza oraz w artykule Pawła
Krawczyka Filtrowanie stateful-inspection w Linuksie i BSD
Do badania bezpieczeństwa systemu służą różne bardzo ciekawe
narzędzia IDS(Intrusion Detection) Z znanych należy wymienić
pakiet Snort
W utrzymaniu bezpieczenstwa pomagają skanery dziur Nessus
oraz Typhon Internet Scanner
Narzędzi im podobnych jest bardzo dużo - należy ich szukać na
serwerach Freshmeat isourceforge - są to największe serwery z
opensource'owym oprogramowaniem.
Jak widać darmowych narzędzi jest wiele. Jak przyznają
fachowcy, można dzięki nim stworzyć system nadający się do
większości zastosowań nie gorzej, niż drogie systemy
komercyjne. Jeżeli chodzi o wsparcie techniczne, to można
znaleźć bez większych problemów ludzi, którzy mają
doświadczenie w konfiguracji ww. rozwiązań. Koszt instalacji
i obsługi tego typu oprogramowania jest znacznie niższy, niż
rozwiązań "brandowych", a jakość również zwykle od nich nie
odbiega.
Wykorzystano strony
http://www.pckurier.pl
http://ipsec.pl/
http://frasunek.com/
http://www.google.com
http://www.blitz.pl
|
|
[ Powrót do Biblioteka - artykuły prasowe | Wykaz sekcji ] |
|
|