Widziałem w tym watku bardzo dużo niekompletnych - a przez to bezwartościowych odpowiedzi.
Co się tyczy Windowsów - to są najsłabsze pod względem bezpieczeństwa ze wszystkiego - co można spotkać.
Moze są na nich niektóre strony www - ale zdecydowana większosć działa na szybkich systemach Unixowych - w tym wszystkie największe serwisy internetowe na świecie.
Serwer Windows jest potrzebny pod aplikacje sieciowe bazujące na Windowsowej technologii .NET i asp.
Zabezpieczanie takiego serwera ( na Windows) to kwadratura koła - niezależnie od tego - co twierdzą zwolennicy Windowsa.
Ja od 2 lat mam w domu tylko linuxa.
W związku z tym moja rada.
Konfiguracja serwera i zastosowany system operacyjny to dopiero połowa problemu.
Podstawowe kryterium w ocenie serwera - to pbciążenie - pod którym ma pracować.
Czyli - ilu userów równocześnie obrabia, ile mocy obliczeniowej pożerają zabezpieczenia (potrafią naprawdę zamólić serwer) - i jakie wąskie gardła są w konfiguracji.
Onet lub wp na procku 500 Mhz - większej bzdury nie słyszałem dawno.
Ja testowałem sklep oscommerce ( 7000 produktów) na apachu z mod-security, php zabezpieczonym suhosinem, itp - wszystkie demony w osobnych chrootach, do tego qmail do poczty.
Na procku P4 1600 - serwer chodził wspaniale - dopóki nie zrobiłem prawdziwego testu - czyli symulacji zalogowania 100 userów do sklepu (przy włączonych wszystkich zabezpieczeniach (ze snortem włącznie) - i serwer poległ na polu chwały.
Co do systemów operacyjnych - najbezpieczniejszy z darmowych systemów jest OpenBSD (ale nie najszybszy).
Szybki i bezpieczny jest FreeBSd - często używany na olbrzymich serwerach - takich - jak portal yahoo.com.
Z linuxów polecam wybrać system - który ma największą liczbę użyszkodników - jeśli brakuje ci doświadczenia - duża społeczność bardzo ułatwia robotę - ze względu nawymianę danych na forach internetowych.
Tutaj na czoło wysuwają się dwa systemy bliźniaczo do siebie podobne - Debian i bazujący na nim Ubuntu).
Można je nieżle zabezpieczyć -są powszechnie używane - np: na Debiainie chodzi między innymi hosting neo.pl - i kilka innych które sprawdzałem - natomiast większosć ludzi -którzy stawiają serwery dedykowane - stawia je na debianie.
Ubuntu - na tym systemie chodzi między innymi Wikipedia (cała) - jest zmodyfikowaną wersją Debiana - uzupełnioną o moduł zabezpieczający apparmor -który dobrze sprawdza się w desktopach, natomiast na serwer sam apparmor jest na razie trochę za cienkim zabepieczeniem.
Na serwerach potrzeba grsecurity.
Natomiast najlepszy w mojej opinii (wśród linuxów) jest system gentoo-hardened - ze względu na budowę zorientowaną na maksymalne bezpieczeństwo.
Jest to jednak jeden z najtrudniejszych systemów operacyjnych - jakie widziałem.
Do gento są tony dokumentacji - także po polsku - na tomiast na polskim forum Gentoo w ciągu roku pojawia się mniej więcej tyle postów - co na forum Ubuntu w 1 -2 tygodnie.
Krótko mówiąc dla kogoś - kto ma doświadczenie w systemach Unixowych i potrafi sobie sam poradzić w razie kłopotów Gentoo-Hardened lub FreeBSD - dla kogoś - kto dopiero zaczyna uczyć się takich systemów - Debian lub Ubuntu.
Drobny szczegól - jeśli serwer ma być dostepny z internetu - to:
Po pierwsze - moduł zabezpieczający Grsecurity- porządnie skonfigurowany.
Po drugie - usługi dostępne z netu w chrootach (jailach) które grsecurity ochrania funkcją chroot-protect.
Kłopot polega na tym - że grsecurity - to wyższa szkoła jazdy -trudne w konfiguracji - ale niezawodne.
Przenoszenie usługi do chroota - tu tez trzeba mieć trochę doświadczenia - większosć gotowych przepisów z netum ożna o kant doopy rozbić.
Ostatnia rada - w debianie, Ubuntu,Fedorze czy Mandriwie wszystkie programy instaluje się z pakietów gotowych. Kompilowanie ze źródel (budowanie paczek) jest dość trudne ze względu na nierzadkie kłopoty z zależnościami między programami a bibliotekami - można się wpakować w "piekło zależnosci".
Systemy *BSD oraz Gentoo-hardened także kilka innych Linuxów - bazuje na paczkach które są kompilowane ze żródeł na lokalnej maszynie - i mają bardzo porządne narzedzia do zarządzania tymi budowanymi pakietami.
Ich instalacja jest rudniejsz - ale dobrze przeprowadzona powoduje - że system jest bezpieczniejszy i szybszy - niż jakikolwiek system bazujący na gotowych pakietach.
Wynika to zbudowania wszystkich paczek na jednym kompilatorze - z użyciem ustawień optymalnych do sprzęto na którym mają pracować.
Dzięki temu unika śiębłędów wynikających z faktu - że paczki budowane na różnych maszynacz pod wszystkieznane architektóry sprzętowe czasami powodują błędy - wynikające zfaktu - że któs z ludzi budujących paczki miał niewielki błąd w kompilatorze - lub inaczej ustawioną konfigurację kompilatora -drugi człowiek budujący inną paczkę na swoim komputerze miał inaczej skonfigurowany kompilator - może nawet nieco inną wersję - a programy potem w twoim systemiemuszą pracować - zależą od siebie - iróżnica w kompilatorach - na których były budowane czasami powoduje różne luki w bezpieczeństwie, natomiast ogólnie wyrażnie mniejszą wydajność.
Mój system na kernelu dystrybucyjnym chodzi około 20-30% wolniej - niż na skompilowany przeze mnie, serwer apache z paczek (używam Ubuntu) jest wyraźnie wolniejszy od kompilowanego lokalnie z budową modułową, natomiast najszybciej ten serwer (apache - to serwer www) kiedy mu wbuduję na stałe wszystkie potrzebne moduły (statycznie).
NA serwer poczty najlepszy (wydajność i bezpieczeństwo) jest Qmail - jednak jego instalacja - droga przez mękę - i polega na nakładaniu kilkunastu łat (patchowanie źródeł) - dość czasochłonne i trzeba sie na tym trochę znać), postfix i inne - mają dośc zawiłą konfigurację - natomiast są w paczkach - mają też długą historię luk bezpieczeństwa, natomiast w serwerach poczty beżpieczeństwo takich serwerów jest kluczowe - większość ataków na komputery obok kradzieży informacji - to po prostu szukanie kolejnych maszy - które można wykorzystać do wysyłania spamu.
Serwery poczt są tutaj na pierwszej linni ognia i muszą być bardzo starannie zabezpieczona, natomiast postwienie i skonfigurowanie serwera poczty jest 2-3 razy trudniejsze niż Apacha czy serwera baz danych (Mysql lub Postgresql).
To by było na tyle.
Pozdrawiam