Słyszę, że systemy oparte na systemie Linux są lepsze pod względem bezpieczeństwa. Najwyraźniej nie mają wirusów i nie potrzebują oprogramowania antywirusowego. Nawet moja uczelnia twierdzi, że tak - odmawiają posiadania systemu Windows na swoich serwerach, co jest ogromnym wstydem, ponieważ chcieliśmy wykorzystać platformę .NET do tworzenia niektórych stron internetowych.
Jedynym powodem, dla którego widzę, że Linux jest bezpieczniejszy, jest to, że jest open source, więc błędy teoretycznie zostałyby złapane i naprawione wcześniej.
Wiem trochę o tym, jak działają systemy operacyjne, ale tak naprawdę nie zagłębiłem się w sposób, w jaki Linux i Windows implementują swój system operacyjny. Czy ktoś może wyjaśnić różnicę, która sprawia, że systemy oparte na systemie Linux są bardziej bezpieczne?
Odpowiedzi:
Nie sądzę, aby system operacyjny był „bezpieczny”. Konkretna konfiguracja systemu operacyjnego ma szczególny stopień odporności na ataki.
Prawdopodobnie zostanę oskarżony o bycie „apologetą Microsoftu” tutaj, ale ten wątek jest bardzo ukierunkowany na uogólnienia na temat „Windows”, które nie są prawdą.
Windows 1.0 - 3.11, 95, 98 i ME są oparte na DOS. Ta linia systemów operacyjnych nie miała żadnych zabezpieczeń w sensie formalnym (chronione przestrzenie adresowe, separacja trybu jądra / użytkownika itp.). Na szczęście, gdy mówimy dziś o „Windows”, nie mówimy o tych systemach operacyjnych.
Rodzina systemów operacyjnych Windows NT (Windows NT 3.5, 3.51, 4.0, 2000, XP, 2003, Vista, 2008 i 7) ma bardzo rozsądny system bezpieczeństwa „zaprojektowany” od pierwszej wersji w 1992 roku. System operacyjny był zaprojektowany z myślą o „Pomarańczowej książce” TCSEC i chociaż nie jest doskonały, uważam, że jest on dość dobrze zaprojektowany i wdrożony.
Windows NT od samego początku był „wieloużytkownikowy” (chociaż funkcjonowanie wielu użytkowników otrzymujących jednocześnie graficzny interfejs użytkownika z tego samego serwera nie działało aż do Citrix WinFrame w erze Windows NT 3.51). Istnieje separacja trybu jądra od trybu użytkownika, z ochroną przestrzeni adresowej zależną od podstawowych funkcji sprzętowych MMU i CPU. (Powiedziałbym, że to bardzo „Unix-y”, ale tak naprawdę to „VMS-y”.)
Model uprawnień systemu plików w NTFS jest dość „bogaty” i chociaż ma brodawki w stosunku do „dziedziczenia” (lub jego braku - zobacz Jak obejść wadę projektu przenoszenia / kopiowania NTFS? ), Nie było to do przez ostatnie 10 lat systemy operacyjne w stylu uniksowym wdrożyły podobną funkcjonalność. (Novell NetWare pokonał Microsoft na tym, choć myślę, że MULTICS pobił ich obu ...> uśmiech <)
Menedżer kontroli usług, w tym system uprawnień do kontrolowania dostępu do programów serwisowych uruchamiania / zatrzymywania / wstrzymywania, jest bardzo dobrze zaprojektowany i ma znacznie solidniejszą konstrukcję niż różne architektury skryptów „init.d” (bardziej przypominające „umowy dżentelmeńskie”) ”) w wielu dystrybucjach Linuksa.
Menedżer obiektów wykonawczych (patrz http://en.wikipedia.org/wiki/Object_Manager_(Windows) ), który jest luźno podobny do systemu plików / proc i systemu plików / dev w połączeniu, ma model ACL podobny do systemu plików i znacznie, znacznie bogatszy niż każdy model uprawnień, o którym wiem dla / proc lub / dev w dowolnej dystrybucji Linuksa.
Chociaż moglibyśmy omówić zalety i wady rejestru, model uprawnień dla kluczy w rejestrze jest znacznie bardziej szczegółowy niż model ustawiania uprawnień do plików w katalogu / etc. (Szczególnie podoba mi się komentarz Roba Shorta dotyczący rejestru w wywiadzie dla „Behind the Code”:http://channel9.msdn.com/shows/Behind+The+Code/Rob-Short-Operating-System-Evolution Rob był początkowo jedną z głównych osób odpowiedzialnych za rejestr systemu Windows i myślę, że bezpiecznie jest powiedzieć, że nie jest niekoniecznie szczęśliwy z tym, jak się potoczyło.)
Sam Linux jest tylko jądrem, podczas gdy Windows jest bardziej podobny do dystrybucji Linuksa. Porównujesz jabłka i pomarańcze, aby porównać je w ten sposób. Zgadzam się, że trudniej jest „rozebrać” system Windows niż niektóre systemy oparte na Linuksie. Z drugiej strony niektóre dystrybucje Linuksa są dostarczane z włączoną dużą ilością „badziewia”. Wraz z pojawieniem się różnych „wbudowanych” smaków systemu Windows możliwe jest (choć nie dla ogółu społeczeństwa) budowanie „dystrybucji” systemu Windows, które różnią się swoim zachowaniem od ustawień domyślnych Microsoft (z wyłączeniem różnych usług, zmiany domyślnych uprawnień itp.) .
Różne wersje systemu Windows miały swój udział w źle dobranych ustawieniach domyślnych, błędach, które umożliwiały nieautoryzowanym użytkownikom uzyskanie uprawnień, ataki typu „odmowa usługi” itp. Jądra systemu Unix (i wiele aplikacji opartych na systemie Unix domyślnie uruchamianych jako root) te same problemy. Microsoft wykonał niesamowitą robotę, od Windows 2000, ułatwiając podział aplikacji na części, uruchamianie programów z najmniejszymi uprawnieniami i usuwanie niepotrzebnych funkcji systemu operacyjnego.
Krótko mówiąc, myślę, że to, co mówię, to to, że konkretna konfiguracja danego systemu operacyjnego dla twoich potrzeb, w odniesieniu do bezpieczeństwa, ma większe znaczenie niż typ używanego systemu operacyjnego. Dystrybucje Windows i Linux mają bardzo podobne możliwości w zakresie funkcji bezpieczeństwa. Możesz zastosować solidne techniki bezpieczeństwa (najmniej uprzywilejowane, ograniczona instalacja opcjonalnych komponentów, kryptograficznie bezpieczne mechanizmy uwierzytelniania itp.) W dowolnym systemie operacyjnym. Czy faktycznie to robisz, czy nie - to jest ważne.
źródło
Inną rzeczą, o której nie wspomniano, jest to, że bezpieczeństwo w systemie Windows jest znacznie bardziej niejasne niż w systemie Linux.
Na przykład mogę spojrzeć na kilka plików tekstowych i zobaczyć dokładnie, co działa mój serwer WWW. IIS? Nie tyle - wyniki konfiguracji można zobaczyć za pomocą narzędzia GUI, ale są ukryte ustawienia. Następnie musisz użyć innego zestawu narzędzi do przeglądania list ACL plików itp.
Podobnie jest z większością programów w świecie Windows - bardzo trudno jest dokładnie zrozumieć, co wpływa na środowisko wykonawcze, między rejestrem a listami ACL.
źródło
Nie wiem o porównaniu uprawnień do plików ... kiedy byłem administratorem UNIX / Linux, NT4 miał listy ACL, które były znacznie bardziej szczegółowe niż tradycyjne uprawnienia w stylu „777” w systemie UNIX / Linux. Uprawnienia to oczywiście nie wszystko i jestem pewien, że nowoczesne dystrybucje Linuksa przynajmniej udostępniają drobnoziarniste listy ACL, nawet jeśli nie są domyślnie implementowane. Moim zdaniem koncepcje sudo i root zawsze istniały w systemie UNIX, chociaż system Windows stale dodaje te koncepcje i prawdopodobnie są teraz na równi.
Moja własna interpretacja jest taka, że ponieważ kod jądra Linuksa, a także wiele jego sterowników i narzędzi, są otwarte - prawdopodobnie został poddany szerszej analizie i jest naprawiany znacznie częściej pod kątem błędów kodowania, które mogą prowadzić do zdalnych luk, które może wykorzystać haker. Teoria ta jest w mojej głowie, że skoro Linux nie jest własnością korporacji, może on lepiej zbadać cel w zakresie bezpieczeństwa niż korporacja. Firmy muszą zarabiać; podczas gdy grupy open source po prostu nie mają tego ograniczenia.
O wiele łatwiej jest wejść do systemu Linux i po prostu zamknąć cały system okienkowy, demony RPC itd. - system Linux lub BSD można obniżyć do jednego lub dwóch otwartych portów przy minimalnej liczbie zainstalowanych pakietów i nadal bardzo łatwo mieć bardzo użyteczny system. Prawdopodobnie ma to więcej wspólnego z dziedzictwem UNIX jako systemu operacyjnego programisty; wszystko zostało zbudowane tak, aby było modułowe, a nie nadmiernie połączone. Prowadzi to do znacznie bardziej konfigurowalnego systemu, w którym można po prostu usunąć rzeczy, które nie są istotne. Nie sądzę, że tak łatwo jest zahartować serwery Windows w ten sposób.
Grupa OpenBSD doprowadziła skrajnie tę koncepcję. Głównym celem numer jeden programu jest przeglądanie każdego wiersza kodu pod kątem możliwych wad bezpieczeństwa. Dowód znajduje się w puddingu, na przestrzeni lat znaleziono niewiarygodnie małą liczbę luk w OpenBSD z powodu tej niemal fanatycznej (używam tego słowa z szacunkiem) dbałości o szczegóły.
Korporacje, chociaż tworzą wspaniałe oprogramowanie (MSSQL, Exchange, Windows Server 2003 są w mojej książce cudowne), mają po prostu inne cele.
źródło
Moim zdaniem, jeśli skonfigurowane wystarczająco dobrze, systemy oparte na Linuksie są bardziej bezpieczne niż systemy Windows. Oto niektóre z powodów:
Przejrzystość i liczne proste narzędzia sieciowe: Na przykład administratorowi Linuksa bardzo łatwo jest zobaczyć bieżącą konfigurację zapory sieciowej, wpisując „iptables -L -n” na powłoce. Możesz również sprawdzić, które porty są otwarte na komputerze, uruchamiając „nmap” z innego komputera z systemem Linux. To sprawia, że życie jest o wiele łatwiejsze, ponieważ można bardzo dokładnie określić, które porty mogą być dostępne i z jakich adresów itp.
Tekstowe pliki dziennika w jednej lokalizacji: tekstowe pliki dziennika w jednej lokalizacji „/ var / log” można łatwo tworzyć kopie zapasowe i analizować. Również narzędzia takie jak Logwatch, które mogą monitorować te pliki dziennika i wysyłać e-maile do ważnych linii, ułatwiają wszystko. Możemy nawet napisać własne narzędzia do analizy plików dziennika i znaleźć informacje, które nas interesują. Dzienniki można nawet wyeksportować na zdalny serwer syslog, na wypadek gdybyśmy nie chcieli, aby dzienniki były obecne na tym samym serwerze.
Nie martw się o wirusy: czy wirusów jest mniej w Linuksie, ponieważ jest mniej systemów opartych na Linuksie LUB dlatego, że wszyscy użytkownicy kochają Linuksa lub dlatego, że Linux jest bezpieczniejszy. Powód nie ma znaczenia. Jeśli na końcu Linux ma mniejsze zagrożenie wirusami, to dobrze, że jest to Linux. Osobiście widziałem, jak ludzie instalują dwa programy antywirusowe, antyspyware i adware na tym samym komputerze. Wszystkie te narzędzia ochrony pochłaniają dużo procesora i pamięci.
Obsługa wielu języków programowania: Kodowanie w systemie Linux jest bardzo łatwe. C, C ++, Python, Perl, Java itp. Po prostu działają bez potrzeby instalowania dodatkowego pakietu. (To w przypadku, gdy zainstalujesz dużą dystrybucję, taką jak Fedora, która jest dostarczana na DVD.) Zwiększa to bezpieczeństwo, ponieważ możemy wykonywać powtarzalne zadania przez kodowanie. Więc jeśli popełnisz błąd i wystąpi problem, będzie to dotyczyć wszystkich kont i łatwo będzie je wykryć i naprawić. Gdybyśmy musieli ręcznie wprowadzić te same zmiany w dużej liczbie kont / katalogów, moglibyśmy popełnić błąd w jednym lub dwóch i znalezienie takich błędów może zająć dużo czasu. Możemy również poprawić błędy i poszukać prostych błędów za pomocą kodu. Ponieważ wszystkie pliki konfiguracyjne, pliki informacji użytkownika, pliki dziennika itp. Są w tekście, bardzo łatwo jest zakodować wszystko, co chcemy osiągnąć, i istnieje wiele sposobów wykonania tych samych czynności.
Kod open source: ponieważ prawdopodobnie wiele osób widziało kod, bardzo rzadko niektóre programy szpiegujące / reklamowe są częścią aplikacji dostarczanych z Linuksem. Możesz także zobaczyć kod źródłowy, jeśli bezpieczeństwo jest bardzo ważne dla niektórych usług i zobaczyć, jak to działa. Jeśli wiesz dokładnie, jak to działa, znasz ograniczenia i kiedy się złamie. W rzeczywistości, jeśli istnieją dobrze znane ograniczenia bezpieczeństwa, które zostałyby udokumentowane na stronach podręcznika man, stronie pakietu oraz w komentarzach w plikach konfiguracyjnych. Programiści nie mają nic do stracenia, mówiąc, że korzystanie z naszego narzędzia w takim scenariuszu jest ryzykowne. Organizacje, które sprzedają oprogramowanie, mogą nie przynosić lukratywnych ograniczeń w oprogramowaniu, a ich wygląd może źle wyglądać i może zmniejszyć sprzedaż / zysk.
Darmowy i interoperacyjny: chociaż nie jest to związane z bezpieczeństwem. Na uniwersytecie, gdzie koszty mają znaczenie, systemy oparte na systemie Linux są znacznie bardziej ekonomiczne niż systemy oparte na systemie Windows i nie ma potrzeby kupowania licencji na system operacyjny, a także na dodatkowe oprogramowanie, które instalowalibyśmy po zainstalowaniu systemu operacyjnego. Jeśli chodzi o interoperacyjność, możemy łączyć się z maszynami z systemem Linux do innych systemów operacyjnych i łatwo udostępniać pliki. W systemie Linux możemy zamontować wiele systemów plików, w tym FAT, NTFS, HFSPLUS. Możemy udostępniać rzeczy za pomocą ftp, http, ssh, samba, nfs itp. I wszystkie te rzeczy są instalowane lub mogą być instalowane za pomocą jednego polecenia. Inne systemy operacyjne zazwyczaj zapewniają tylko jedną opcję udostępniania rzeczy.
Ale jeśli nie zostanie poprawnie skonfigurowany, systemy oparte na systemie Linux mogą powodować więcej problemów, niż można sobie wyobrazić. Wielu użytkowników może zalogować się do komputera w tym samym czasie i robić prawie wszystko z poziomu powłoki. Bardzo łatwo jest opuścić backdoora, trojany na wypadek, gdyby zapora ogniowa nie została poprawnie skonfigurowana. Atakujący może usunąć plik dziennika lub manipulować nim, aby ukryć swoje ślady. Atakujący może kodować na zaatakowanym komputerze, ponieważ wszystkie edytory, kompilatory i debuggery są łatwo dostępne, gdy atakujący ma dostęp do powłoki. Wszystkie serwery ftp, http, mogą być uruchamiane z konta użytkownika, ale nie na bezpiecznych portach (1-1024). Atakujący może więc pobrać kod serwera HTTP, skompilować go i uruchomić serwer HTTP na porcie 6000, aby wyglądał jak X Server.
Dzięki temu systemy Linux są bezpieczniejsze, pod warunkiem, że administrator wie, co robi, lub przynajmniej zadaje sobie trud wyszukania informacji na stronach podręcznika i dokumentacji przed wprowadzeniem jakiejś nowej zmiany.
źródło
Bezpieczeństwo serwera to coś więcej niż tylko system operacyjny. Powiedziałbym, że większym czynnikiem bezpieczeństwa serwera jest osoba zarządzająca serwerem i ich ostrożność w blokowaniu.
To powiedziawszy, jeśli uniwersytet jest sklepem z Linuksem, nie pozwolą ci używać Windows Servera, niezależnie od tego, jakie dane znajdziesz na zabezpieczeniach serwera Windows. Sprawdziłbym za pomocą Mono (www.mono-project.com), jeśli chcesz korzystać z frameworku .Net.
źródło
Przejrzystość
ps auxf
i wiesz, jakie usługi są uruchomione, w ramach którego konta.netstat -lnp
i wiesz, jakie programy mają otwarte porty TCP.iptables -L
i wiesz, jakie reguły ma Twój firewall.strace
lub,lsof
aby sprawdzić aktywność procesu.ls -lah
lubtree -pug
wiesz dokładnie, jakie prawa własności i uprawnienia posiada cały folder./var/log
i można je przeglądać za pomocą prostego „przeszukiwania plików”./etc
. Przeszukiwanie plików tekstowych, ich archiwizowanie lub stosowanie kontroli wersji (subversion / git) jest naprawdę łatwe.Wyczyść system uprawnień
ls
trybie koloru).$HOME
i/tmp
.Zaawansowane opcje bezpieczeństwa
sudo
użytkownikom i procesom można przyznać uprawnienia do uruchamiania tylko kilku poleceń administracyjnych.Pojedyncze punkty za wejście i podniesienie uprawnień
sudo
skontaktowanie się z usługą DBus, która najpierw sprawdza PolicyKit. Te programy SetUID można znaleźć za pomocą pojedynczego polecenia „Wyszukaj wszystkie pliki”.ssh
. To tunel SSL z funkcją sprawdzania klucza publicznego / prywatnego.Bezpieczne procesy w tle
Dobre narzędzia do audytu
nmap
,ncat
inspekcję zabezpieczeń Make Easy.Dobre aktualizacje bezpieczeństwa
lsof | grep =
).Wszystko, o czym tu mowa, jest dostarczane lub każda główna dystrybucja Linuksa, tj. Red Hat, Debian, openSUSE lub Ubuntu.
źródło
Linux od samego początku był przeznaczony dla wielu użytkowników, więc ma znacznie silniejszy system uprawnień niż Windows. Został również zaprojektowany tak, abyś nie działał z prawami administracyjnymi (dostępem do roota), więc wszystkie programy są zaprojektowane tak, aby nie potrzebować praw. Oznacza to, że jeśli Twoje konto zostanie przejęte, cały system nie.
Część tego prawdopodobnie wynika również z faktu, że ludzie z Linuksem są (ogólnie rzecz biorąc), bardziej techniczni, a zatem rzadziej popełniają głupie błędy, które prowadzą do zhakowania komputerów.
źródło
Z mojego punktu widzenia w systemie Windows masz mniejszą kontrolę niż w systemie Linux. Hartowanie systemu Windows jest ... trudniejsze :). Chociaż każde narzędzie zależy od umiejętności dzierżącego, rozważę następujące kwestie:
Więc chociaż wolę Linuxa niż Windowsa, uważam, że nie powinieneś ufać domyślnym instalacjom.
źródło
Większość poprzednich postów koncentrowała się na włamaniach, i zrobiono dobrą robotę, zajmując się tym, jeden z punktów twojego pytania dotyczył wirusów. Największe powody, dla których dystrybucje Linuksa mają mniej problemów z wirusami, to fakt, że jest tam więcej okien Windows niż razem Linux i Mac. Twórcy wirusów chcą uzyskać największe zyski, dlatego piszą dla systemu Windows.
Wszystkie systemy są zdolne do włamania i infekcji. Każdy, kto mówi ci inaczej, czy to Twoi instruktorzy, czy inni, albo głupcy, mają nieruchomość nad oceanem w Utah, aby cię sprzedać.
źródło
Sądząc po poprawkach zabezpieczeń WSZYSTKIEGO oprogramowania, myślę, że problemem nie jest oprogramowanie, ale liczba komputerów z systemem Windows. To jest cel tworzenia botnetów. Jeśli Linux naprawdę naprawdę powiększy się na pulpicie, zostanie zaatakowany również bardziej. Myślę, że Mac OSX już to widzi.
źródło
Jest jeden bardzo ważny powód, dla którego Linux i OpenBSD mogą być bezpieczniejsze niż Windows. Taka jest zdolność systemu operacyjnego do zapory ogniowej przed atakami sieciowymi.
W systemie Windows przychodzące pakiety sieciowe były narażone na znaczną część systemu operacyjnego na długo zanim zapora systemu Windows może odrzucić pakiet. W systemie Linux, przy użyciu IPTables lub na OpenBSD przy użyciu PF można znacznie wcześniej izolować nieuczciwe pakiety w procesie otrzymywania nowego pakietu sieciowego przez system operacyjny - zmniejszając narażenie.
Jednak gdy otworzysz port i uruchomisz na nim usługę - tj. Sprawisz, że komputer w sieci będzie użyteczny - będziesz tak bezpieczny, jak kod, który uruchamia tę usługę.
źródło
Nie ma czegoś takiego jak system operacyjny, który byłby bardziej bezpieczny niż inny. Wszystko zależy od wiedzy osób zarządzających systemem.
Przez lata spotkałem się z kilkoma niezwykle utalentowanymi administratorami * nix, którzy mogli skonfigurować wyjątkowo bezpieczny * serwer * nix. Jednak trzymaj je przed hostem Windows, a nie będą mieli pojęcia, jak zablokować maszynę. To samo dzieje się w drugą stronę, znam przyzwoitą kwotę na temat zabezpieczenia hosta Windows, ale postawiłem mnie przed polem * nix i nie miałbym pojęcia, co robię.
Żaden system operacyjny nie jest mniej lub bardziej bezpieczny niż inne. Pewnie, że możemy porozmawiać o historii platform i wykorzystać to do debaty, która z nich była bezpieczniejsza w czasie, ale nie mówimy o systemach operacyjnych * nix sprzed 10 lat i wdrażaniu Windows NT 4 w środowiskach produkcyjnych, prawda? . Mówimy o nowoczesnych systemach operacyjnych (a przynajmniej powinniśmy być) i które z nich można lepiej zabezpieczyć.
Widziałem, jak ktoś powiedział coś w odpowiedzi na temat pakietów przychodzących do zapory systemu Windows dotykających więcej części systemu operacyjnego niż zapora systemu Linux. Przez pytanie do niego staje się, kto do diabła ufa zaporze programowej działającej na hoście? Do tego służą zapory ogniowe typu punkt końcowy / front. Aby chronić sieć. Host, na którym działa usługa, ma ujawnioną usługę. Zadaniem gospodarzy jest zapewnienie, że usługa ta nie zostanie naruszona. Jest to zadanie urządzeń sieciowych przed nim, aby zapobiec dostawaniu się innych pakietów z Internetu do hostów innych usług.
Po prawidłowym zabezpieczeniu sieci wszystko zależy od tego, jak dobrze zabezpieczona jest aplikacja działająca na hoście. Czy ta aplikacja ma jakieś przepełnienia buforów, które można wykorzystać? Czy w ujawnionej aplikacji są jakieś sposoby uzyskania dostępu do systemu operacyjnego i uzyskania wyższego poziomu uprawnień? Jeśli nie, to dobrze zabezpieczona aplikacja. Jeśli tak, masz problem, który należy ujawnić.
Jeśli ktoś nie weźmie pod uwagę innego systemu operacyjnego w swoim centrum danych, to oznaka ignorancji (dotyczy sklepu z całym systemem Linux, a także sklepu z całym systemem Windows). Oba systemy mają takie zastosowania i powinny być używane jako takie. Nie ma ani lepszego ani gorszego od drugiego. (I tak, mamy kilka maszyn Linux w naszym środowisku obsługującym usługi produkcyjne.)
źródło
Nie ma potrzeby przeklinania uniwersytetu za korzystanie z serwerów linuksowych, zgodnie ze swoimi konkretnymi wymaganiami, jak powiedział AdamB, użyj Mono (www.mono-project.com). Profesor zwykle zainteresowany systemem operacyjnym, preferuje Linuksa, nawet każdy entuzjasta systemu wolałby Linuksa, dla prostych ciekawości, jak to działa w praktyce poza książkami.
linux podąża teraz za DAC (uznaniową kontrolą dostępu), swoim inteligentniejszym systemem kontroli dostępu. Jak wspomniano w innych odpowiedziach, tak, Linux był dla wielu użytkowników z powrotem, a zatem system kontroli dostępu stał się lepszy od innych.
Ale bezpieczeństwo, o którym mówisz, wygląda jak bezpieczeństwo serwera, które nie jest tak samo problemem systemu operacyjnego, jak problemami całej sieci serwerowej. gdzie mam na myśli listy kontroli dostępu Firewall, router itp. Aktualizacje są bezpłatne przez całe życie. jest otwarty, więc przetestował wiele, co jest bardzo ważne.
oprócz bezpieczeństwa ekonomiczna opłacalność sprawia, że Linux jest najlepszą opcją dla serwerów, których jest bardzo niewiele, ale aplikacje mają uruchamiać lub hostować usługi. Te aplikacje są do nich bardzo dobrze przeniesione. Np. - Apache.
Myślę, że to nie tylko bezpieczeństwo, ale inne czynniki, które sprawiają, że podobnie jak większość reszty uniwersytetu wybiera Linux na serwerach.
źródło
Chociaż jest tu wiele świetnych odpowiedzi, chcę tylko dodać, że nie ma czegoś takiego jak bezpieczny system operacyjny.
Wiadomo, że jeśli człowiek stworzył „bezpieczną” platformę, inny człowiek może z czasem znaleźć dziury w tej platformie.
Zgadzam się, że dwa pierwsze zdania Evana najlepiej podsumowują bezpieczeństwo systemu operacyjnego:
Nie ma więc znaczenia, czy porównamy GNU / Linux, systemy BSD (Free / Open / Net), Microsoft, Windows, Mac OSX, Symbian, PalmOS, Cisco IOS, AIX, QNX, Solaris, z / OS lub dowolny z inne „systemy operacyjne”, które obsługują takie rzeczy jak telewizor, odtwarzacz MP3, kuchenka mikrofalowa itp.
Każdy z nich ma część całości, która może być wykorzystywana przez określoną osobę.
Z tego powodu większość dostawców ma oficjalne dokumenty na temat tego, jak skonfigurować swoje systemy, aby uzyskać jak najbezpieczniejszą konfigurację. Oznacza to stosowanie innych technologii w celu zminimalizowania powierzchni.
na przykład:
źródło
Fakt bezpieczeństwa systemu operacyjnego dotyczący frameworków jest nieco więcej niż tylko kwestią typu jądra. Indywidualnie każda z platform ma swoje zgodne mechanizmy bezpieczeństwa. Specyfikacja konta dla wielu użytkowników w systemie Microsoft Windows pozwala na nieco większą elastyczność w zakresie masowego wdrażania, jednak w Linuksie masz możliwość kontrolowania aż do samego początku - wgląd w uprawnienia i delegowanie uprawnień.
Poziom zabezpieczeń .NET Framework dotyczy głównie zasad grupy, ustawień programu PowerShell i konsoli netsh. Powodem jest telemetria jądra przy niskim poziomie parametrów dostępu z dynamicznymi żądaniami dostępu w pamięci. Frameworki Linuksa często wymagają podobnego poziomu uwagi, ale przede wszystkim dotyczą flag, które określasz podczas konfigurowania języka. Okazuje się, że system Linux po prawidłowym skonfigurowaniu jest bezpieczniejszy niż zabezpieczenia skonfigurowane w systemie Microsoft Windows. Chociaż na „przyzwoitym” poziomie konfiguracji; narzędzia mogą prześlizgnąć się bezpośrednio przez IIS i przejść bezpośrednio do twoich usług przy użyciu określonego identyfikatora GUID. Ogólnie Linux pozwala na większą kontrolę nad aspektami niż
Główne punkty:
Statusy rządowe:
Osobiste opinie:
Każdy system operacyjny może być bezpieczniejszy niż reszta po wyjęciu z pudełka. Na podstawie surowego porównania frameworków, które działają na wyższym poziomie bezpieczeństwa z Linuksem lub Windowsem, muszę powiedzieć, że główna część bezpieczeństwa w sieci wykorzystuje najbardziej niekompatybilne, ale wydajne ramy. W ten sposób znacznie trudniej jest zatrzasnąć się w natywnych uprawnieniach dostępu do dysku twardego i uchwytach biblioteki. W ten sposób masz nieco przyspawaną miskę na swoim systemie operacyjnym. Jak powiedział Evan z uprawnieniami NTFS i / proc lub / dev. Jeśli używasz czegoś, co nie może z tym rozmawiać; trudniej go złamać.
Czego nauczyłem się z tworzenia stron internetowych, nigdy nie lekceważ swojego frameworka. .NET ma uprawnienia do tworzenia współużytkowanych zamontowanych woluminów i mechanizmów kontrolnych dla klastrów SQL Server; podczas gdy Apache Source może zrobić to samo z systemami operacyjnymi używającymi Linuksa. To całkiem przyzwoite pytanie, choć muszę powiedzieć, że Linux pozwala na większe bezpieczeństwo kontroli poszczególnych aspektów oraz ograniczeń i monitorowania w wielu językach; podczas gdy system Windows ma szerokie możliwości inspekcji i rejestrowania za pomocą interfejsu logicznego debugowania na wysokim poziomie. Oba są porównywalne, w końcu zawęża się do „jak dobrze - zamykasz” i „ile jest dzwonków i gwizdków?”. w ramach. Apache ma więcej dodatków zwiększających bezpieczeństwo;
W chwili obecnej przy kompilowaniu PHP w systemie Linux lub Windows oczywiste jest, że istnieje więcej rozszerzeń, których można użyć w systemie operacyjnym Linux; System Windows ma inny poziom zarządzania uprawnieniami niż PHP, co utrudnia zarządzanie katalogami i dostępem do plików. W przypadku Apache, na przykład XAMPP, LAMPP lub WAMP, czułbym, że Windows jest nieco mniej bezpieczny, biorąc pod uwagę fakt, że jego ograniczenia dotyczące zapory są łatwiejsze do naruszenia, ponieważ dzieli te same reguły tunelowania, co przeglądarka internetowa. Z drugiej strony Linux może korzystać z pul aplikacji i mechanizmów zabezpieczeń na poziomie pakietów, które są znacznie bardziej skomplikowane do emulacji. Windows wymagałby użycia wszystkich aspektów systemu operacyjnego, aby zwiększyć bezpieczeństwo sieci.
Usługi IIS (na serwerze Microsoft Server, a nie Windows Client) w systemie Windows z ASP.NET z najnowszymi miksami SEC_ATL mogą być również bardzo bezpieczne.
Tylko sam Apache, możesz chcieć uruchomić go z Linuksem, aby włączyć sterowniki wyższego i niższego poziomu, SMIME, kodeki i zabezpieczenia na poziomie pakietów. Podczas gdy system Windows wymagałby zainstalowania nakładających się mechanizmów bezpieczeństwa, które w przeciwnym razie zablokowałyby ruch nieco bardziej, niż byś chciał, jeśli chodzi o uruchamianie tysięcy serwerów.
W Linuksie im bardziej smukłe jest jądro i im bardziej optymalne dla bezpieczeństwa sieci, tym lepiej (jak łączenie się w Apache z NSLUG).
W systemie Windows lepiej lubisz programować moduły Powershell i dodatkowe nakładanie zabezpieczeń na platformę ASP.NET i konfigurować zasady grupy na USGS, ponieważ w większości przypadków naprawdę potrzebuje to, aby odciąć ruch, którego Linux automatycznie odmawia i nie myśli o.
Równie mogą być silni. Po wyjęciu z pudełka dystrybucja systemu Linux na żywo będzie silniejsza niż nieskonfigurowany system Microsoft Windows Server skonfigurowany za pomocą Kreatora.
Z czasem Linux prześcignie Windowsa w grze bezpieczeństwa. Serwery Debian 3 są dziś silniejsze niż Microsoft Server 2008 R2 po wyjęciu z pudełka i zgadnij, co mogą obsługiwać te same technologie bez przebudowy jądra. Debian wciąż może go palić i widziałem to na własne oczy.
Chociaż, jak już powiedziano, jestem tego pewien. Wszystko sprowadza się do personelu, z którym pracujesz, i dbałości o szczegóły. To zawsze robi największą różnicę, jeśli chodzi o pracę w dużej sieci serwerów.
źródło
Przede wszystkim uważam, że Linux jest bezpieczniejszym wyborem ze względu na wszechobecne korzystanie z oprogramowania typu open source.
Ta swoboda wynika z pomysłu, że „społeczność” zauważy, że coś podejrzanego zostanie gdzieś dodane (powiedzmy, że jeśli openSSH nagle zacznie dzwonić do domu z hasłami), nie pozostanie na długo.
Ale nie mogę powtórzyć wystarczająco tego, co już powiedzieli inni: bezpieczeństwo zależy w dużej mierze od konfiguracji: kogo to obchodzi, jeśli openSSH nie dzwoni do domu, jeśli nie masz firewalla, hasło roota zerowe i PermitRootLogin włączone w sshd;)
źródło
Krótka odpowiedź: początkowo system UNIX miał być bezpieczny; System Windows został zaprojektowany tak, aby był prosty. Teraz potomkowie UNIXa będą udawać, że są prostsi dla swoich użytkowników; Windows udaje, że jest bardziej bezpieczny.
Jeszcze się nie spotkali
źródło
Poprzednie wersje systemu Windows miały aplikacje działające w tej samej przestrzeni adresowej, dzięki czemu mogły między sobą przenosić wskaźniki. Opierali się również na wielozadaniowości kooperacyjnej i czasami nie współpracowali.
Nawet bardzo wczesne wersje Linux / Unix miały partycjonowanie między aplikacjami oraz między O / S a warstwą aplikacji. Podział zadań, choć nie zawsze idealny, był przynajmniej sprawiedliwy.
Stąd spuścizna Unixa (lub Linuksa) dla bardziej niezawodnych systemów, które wymagają większej dostępności.
Czy to wszystko obowiązuje do dziś? To kolejne pytanie.
źródło
Teraz, gdy NT dogonił Unixa w wielu wcześniej brakujących miejscach, uprawnienia do plików i ochrona pamięci nie są już dużymi różnicami.
Ale .... W systemach Unix cały dostęp do wszystkich urządzeń przechodzi przez pliki, dla których można łatwo zarządzać bezpieczeństwem. Na przykład, czy wiesz, jak uniemożliwić użytkownikowi X dostęp do karty dźwiękowej w systemie Windows, jednocześnie pozwalając użytkownikowi Y? W Uniksie takie rzeczy są łatwe.
b. Struktura katalogów jest znacznie bardziej rozsądna. (Na przykład aplikacja użytkownika musi mieć dostęp tylko do zapisu w folderze domowym itp.) Poprawiło się to również w systemie Windows w ciągu kilku lat.
re. To jest biggie: SELinux (oraz funkcja piaskownicy „Seatbelt” firmy Trusted Solaris i Mac OS). Jest to znane jako NDAC (niedyskrecjonalna kontrola dostępu). Jeśli korzystasz z dystrybucji systemu operacyjnego z tymi funkcjami, wówczas zasadniczo działają dwie warstwy zabezpieczeń, normalny DAC (system uprawnień), który zawsze miał Unix, a nowoczesne wersje systemu Windows mają - a ponadto „firewall aplikacji”, który nakładają SELinux i podobne systemy. Na przykład możesz ustawić zasadę, że serwer WWW Apache może zapisywać do / tmp i czytać z / var / www i / etc / apache. Wszelki pozostały dostęp do dysku zostanie odmówiony niezależnieuprawnień. Podobnie można określić, że może on akceptować połączenia przychodzące tylko przez port 80 i nie wykonywać połączeń wychodzących. Wtedy, nawet jeśli istnieje błąd, który pozwoliłby komuś zrobić coś bardzo złego, a nawet gdyby apache działał jako root, nie miałoby to znaczenia - polityka by temu zapobiegała. Wymaga to (bardzo niewielkiej) kary prędkości i może być uciążliwe, jeśli używasz nietypowej konfiguracji, ale w normalnym przypadku może znacznie zwiększyć poziom bezpieczeństwa zarówno w starym systemie Unix, jak i Windows.
mi. Warstwy - systemy Unix składają się z wielu bardziej dyskretnych warstw i usług, które można wymieniać. Oznacza to, że można je indywidualnie analizować pod kątem poprawności i bezpieczeństwa, wymieniać itp. W przypadku prawie każdego z nich nie ma potrzeby ponownego uruchamiania. To duży plus w systemach typu serwerowego. Ponadto łatwiej jest wyłączyć (i odinstalować) rzeczy, których nie potrzebujesz w systemie Unix. Na przykład, po co uruchamiać GUI na serwerze sieciowym? Zwiększa powierzchnię ataku i zajmuje pamięć RAM.
fa. Dla tych, którzy mówili, że system Windows NT został zaprojektowany od podstaw pod kątem bezpieczeństwa ... to prawda, jądro zostało zaprojektowane od samego początku z zaawansowanymi funkcjami bezpieczeństwa i wieloma użytkownikami, ale są dwa główne problemy: 1. Słabe osiągnięcia Microsoft w zakresie bezpieczeństwa oraz 2. Cały system operacyjny został zaprojektowany tak, aby był kompatybilny ze starszymi aplikacjami Windows, co oznaczało wiele kompromisów. Unix zawsze był wieloużytkownikowy, więc aplikacje nie są zaskoczeniem, gdy egzekwowane jest bezpieczeństwo - co oznacza mniej kompromisów.
źródło
Istnieje kilka powodów, dla których systemy oparte na systemie Linux są często uważane za bezpieczniejsze niż systemy Windows.
Jednym z nich jest umiejętność właściciela. Jeśli przejdziesz do Best Buy lub Wal-mart (tutaj w USA) i kupisz komputer, nie zastanawiając się nad tym dużo, uruchomi on system Microsoft Windows. Oznacza to, że istnieje ogromna liczba systemów Windows obsługiwanych przez ludzi, którzy nie mają pojęcia. Ponieważ prawie nikt nie kupuje komputera z systemem Linux przypadkowo (przynajmniej odkąd Microsoft przeprowadził kontratak na netbookach), większość użytkowników Linuksa albo wie coś o komputerach, albo też ich komputer został skonfigurowany przez kogoś, kto to robi. Dotyczy to wszystkich środowisk, w których występują osoby, które nie wiedzą, co robią; ci, którzy nie korzystają z systemu Windows, i ci, którzy mają różne systemy operacyjne.
Jednym z nich jest liczba atakujących. Microsoft Windows jest znacznie bardziej atrakcyjnym celem ze względu na wszystkie źle administrowane maszyny. Istnieje wiele wartościowych celów Linuxa, ale ogólnie są one dobrze administrowane (wraz z wieloma wartościowymi celami Windows). W rozsądnym przybliżeniu nikt w ogóle nie atakuje komputerów z systemem Linux.
Jednym z nich jest kultura. W każdym środowisku Unix / Linux istnieje wyraźne rozróżnienie między kontami root a użytkownikami, a prawie we wszystkich przypadkach ludzie pracują na swoich kontach użytkowników, gdy nie muszą być rootami. Z mojego doświadczenia wynika, że rozróżnienie to nie jest tak silne w środowiskach Windows, że każdy użytkownik zwykle ma jedno konto, bez względu na związane z nim uprawnienia. Teraz pracuję na komputerze, na którym mam jedno konto - konto administratora. Wszystko, co robię, odbywa się na koncie z wysokimi uprawnieniami. Kiedy wracam do domu do mojego Linux-a, zrobię prawie wszystko na koncie z ograniczonymi uprawnieniami i eskaluję, kiedy będę musiał. Moja żona musiała się kłócić, żeby założyć w pracy dwa konta, jedno normalne konto administratora i jedno konto z ograniczonymi uprawnieniami, aby mogła sprawdzić, czy zwykli użytkownicy mają uprawnienia do uruchamiania tego, co pisze.
Jednym z nich jest kompatybilność wsteczna. Chociaż Unix nie zaczynał jako bezpieczny system operacyjny, wcześnie zyskał bezpieczeństwo. Programy dla systemu Linux nie wymagają uruchamiania jako root, chyba że faktycznie wykonują funkcje root. Z drugiej strony, Windows uruchamia dużą liczbę programów, które wymagają kont administratora, ponieważ na tym właśnie działali programiści i testowali je (patrz powyższy akapit), a ci programiści zwykle nie zwracali uwagi na bezpieczeństwo i to działało dobrze. To duży problem, który Microsoft próbował rozwiązać za pomocą UAC. Nie sądzę, aby było to szczególnie dobre rozwiązanie, ale szczerze mówiąc, Microsoft nie znajdzie tutaj dobrego rozwiązania (nie sądzę, aby rezygnacja z kompatybilności wstecznej była tutaj dobrym rozwiązaniem).
Prowadzi to do tego, że większość problemów związanych z bezpieczeństwem na dużą skalę będzie dotyczyć systemów Microsoft, niezależnie od zalet modeli bezpieczeństwa, i postrzegania, że Microsoft ma duże problemy z bezpieczeństwem. Ze względu na heurystykę dostępności fakt, że ludzie mogą myśleć o większej liczbie problemów związanych z bezpieczeństwem Microsoft, wpływa na ich osąd.
Są to moim zdaniem uzasadnione powody. Nie dotknąłem rzeczywistych zabezpieczeń systemu operacyjnego, ponieważ nie wiem, czy dystrybucja Windowsa lub Linuxa jest bardziej podatna na zagrożenia, gdy jest prowadzona przez znającego się na rzeczy administratora. Linux ma tę zaletę, że jest open source, ponieważ każdy może znaleźć i naprawić błędy, podczas gdy Microsoft wprowadził praktyki bezpieczeństwa, które mogą, ale nie muszą, działać lepiej. (Gdybym chciał uruchomić naprawdę bezpieczny system operacyjny, wybrałbym OpenBSD, system operacyjny typu open source, który stara się być bezpieczny). Oba systemy mają dobre systemy uprawnień (preferuję system uniksowy, ale inni rozsądni ludzie się nie zgadzają).
Istnieją oczywiście złe powody, by uważać systemy operacyjne za mniej bezpieczne. Niektóre osoby mają ulubiony system operacyjny i nie marnują okazji, aby badmouth innych. Niektóre osoby nie lubią Microsoft, Richarda Stallmana lub innej osoby lub organizacji i oczerniają powiązane systemy operacyjne. Niektóre osoby nie zauważyły, że Microsoft zmienił się przez lata, ponieważ nie tak dawno temu Microsoft naprawdę nie dbał o bezpieczeństwo, a Windows naprawdę był mniej bezpieczny niż Linux.
źródło
Nie ma prawdziwego powodu poza bezwładnością. Widziałem wielu zwolenników Linuksa, którzy argumentowali przeciwko Windowsowi (i to nie tylko ze względów bezpieczeństwa), które na pierwszy rzut oka wydają się prawidłowe, ale - które przy odrobinie kopania dotyczą tylko Windows 3.1 lub 95/98.
Powiedziałem to wcześniej, ale chociaż system Windows może zawierać więcej poprawek / etc, są to poprawki zidentyfikowanych luk w zabezpieczeniach . I to nie te, które zostały naprawione , musisz się martwić, prawda? Nie sądzę, aby bycie otwartym oprogramowaniem było wewnętrznie bezpieczniejsze. Tworzenie własnych poprawek może być w porządku dla użytkownika domowego, ale użytkownik korporacyjny lub administrator zawsze będzie chciał Rzeczywistej Rzeczy, która jest certyfikowana do pracy (i została w pełni przetestowana) z różnymi aplikacjami i która ma certyfikat, aby nie zepsuć następna aktualizacja jądra. To samo dotyczy poprawek od społeczności FOSS.
Tak więc w mojej książce jest to mieszanka bezwładności, uprzedzeń i bycia osadzonym w kulturze UNIX, z wyłączeniem alternatyw.
źródło
Procesy w systemie Linux / Unix nie mogą zmienić swoich uprawnień po przypisaniu użytkownika, procesy w systemie Windows mogą zmienić swoje uprawnienia użytkownika i zmienić użytkownika podczas jego trwania.
To jest istota, dlaczego Windows jest mniej bezpieczny niż Linux / UNIX.
źródło