webForumDet fria alternativet

Den "säkra" servern

Datorhårdvara

44 svar · 903 visningar · startad av Reefer · sida 2 av 3

Frågan, av Reefer

...som the Gartner group tycker att alla företag ska använda. :OO Det här är en listning över security vulnerabilities bara det här året för Apache; Apache modauthpgsql Remote SQL Query Manipulation Vulnerability <http://www.securityfocus.com/bid/3251> Apache modauthpgsqlsys Remote SQL Query Manipulation Vulnerability <http://www.securityfocus.com/bid/3253> Apache AuthPG Remote SQL Quer

Läs frågan i sin helhet →
Medlem sedan aug. 2001458 inlägg
#21

Jag är också pro IIS. Ett stort problem är ju att administratörer slarvar, IIS:en har fått lida av detta. Jag tror Microsoft lyssnat på problemen. Det ska bli spännande att se vad IIS 6 visar upp när Whistler släpps. Särskilt med tanke på att den delvis går som en device driver - operativsystemet är ju inte särskilt förlåtande med buggar i kernel mode ;-)

Medlem sedan dec. 19996 721 inlägg
#22

Har man sedan uppdaterat servern (ni glömmer att dom här hålen var år gamla) å patchat den så är det lugna gatan.

Det är aldrig lugna gatan. Säkerhetshål täpps till allt eftersom de upptäcks, och det är ju inte alltid MS som hittar dem först....

------------------
/emission
If you see someone without a smiley, give them your colon.

Medlem sedan sep. 20004 079 inlägg
#23

"Korrigera mig om jag har fel, men har inte IIS *alla* funktioner påslagna som standard, och vissa går inte ens att stänga av? Säg att jag vill installera den utan ASP-stöd och utan indexeringsservern."

Med IIS lockdown tool kan du stänga av allt förutom basic HTML.

------------------
His Divine Shadow is the most despicable being ever created, short and to the point.

http://forums.planetdivine-shadow.com

Sprit löser inga problem. Men det gör inte mjölk heller.

Medlem sedan sep. 20004 079 inlägg
#24

"Jag är också pro IIS. Ett stort problem är ju att administratörer slarvar, IIS:en har fått lida av detta. Jag tror Microsoft lyssnat på problemen. Det ska bli spännande att se vad IIS 6 visar upp när Whistler släpps. Särskilt med tanke på att den delvis går som en device driver - operativsystemet är ju inte särskilt förlåtande med buggar i kernel mode ;-)"

I RTM har vi väl 5.1 av IIS?

Såvitt jag vet kommer inga ändringar att ändras om det inte hittas några ordentliga buggar.
Betyder det att man kan få ladda hem IIS 6 tro?

------------------
His Divine Shadow is the most despicable being ever created, short and to the point.

http://forums.planetdivine-shadow.com

Sprit löser inga problem. Men det gör inte mjölk heller.

Medlem sedan dec. 20003 083 inlägg
#25

Betyder det att man kan få ladda hem IIS 6 tro?

You wish ;)

Visserligen kan jag inte vara hundra på det, men det tvivlar jag kraftigt på eftersom MS bundlar IIS med resp systemversion och så har det ju varit hitintills, du kan ju tex inte ladda ner IIS 5.0 eller 5.1 för NT

------------------
"Hey, Steve, just because you broke into Xerox's store before I did and took the TV doesn't mean I can't go in later and steal the stereo."
-Bill Gates, Microsoft, 3/14/89 -as quoted in MacWEEK

Medlem sedan aug. 2001458 inlägg
#26

Observera att Windows XP inte är samma sak som Whistler. Whistler är kodnamnet på Windows.NET Server.

I Windows XP finns IIS 5.1. Windows.NET server (Whistler) kommer ha IIS 6.

Ja, Windows XP är släppt (RTM:at). Jag tror inte man kommer kunna uppgradera till IIS6, men vet inte säkert. Har för mig att IIS:en inte installeras by default i Windows XP, utan att man explicit måste välja till detta.

Skillnaderna mellan IIS 5 och IIS 6 är arkitekturellt ganska stora - IIS 5 är en process i usermode (NT service), medan IIS 6 även har en del som går i kernel-mode (http.sys).

Medlem sedan sep. 20001 124 inlägg
#27

Ick. Bara tanken på att en webserver springer omkring inne i kerneln ger mig rysningar. Vad är det för en idiotlösning egentligen?

------------------
Hollowhead - levererar din dagliga dos av nyttig hårdrock!

Medlem sedan aug. 2001458 inlägg
#28

Tja... Samma "idiotlösning" som exempelvis TUX (Linux) använder för att vinna SPECweb99-tester. Även kHTTPd går i kernel-mode. Jag är osäker på huruvida Apache går i kernel eller user-mode.

Det är en stor prestanda-fördel att kunna skriva in i user-mode applikationens minne istället för att (som IIS:en gör idag) kopiera data.

Det som går i kerneln är själva råa kommunikationen. Saker som autheticiering och applikationerna själva går fortfarande i user-mode.

Medlem sedan feb. 20001 590 inlägg
#29

Bara för att en process körs i kernelmode i NT, betyder inte det att koden "blandas" med kernelkoden. So bekant är 32 bitars op system utrustade med ett pagingsystem för programmens kod.
Här betyder det egentligen enkelt uttryckt att IIS får en högre prioritet, snäppet högre än realtidsprioritet, och får då en bättre "utilization". Muspekaren är ett bra exempel på kernel mode. Den brukar oftas fungera trots att programmen krashar.

Måste även tillstyrka att dessa tjänster, ex. webbservrar, fildelningsservrar, datatjänstservrar är gjorda för att köra i en ren serverprogramvara, där programmen körs under andra förutsättningar jämfört med en "workstation" oftast flera processorer, annan minneshanterare mm.

Med jag kan förstå att det finns viss risk med att låta ett program få hög prioritet. Som tur är så består dessa program av flera moduler, och det är bara några få av dessa moduler som "kernlar"

/T

------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no

Medlem sedan dec. 20003 083 inlägg
#30

Observera att Windows XP inte är samma sak som Whistler. Whistler är kodnamnet på Windows.NET Server.

Ööhh...jaha? är det någon som påståt någonting annat?

------------------
"Hey, Steve, just because you broke into Xerox's store before I did and took the TV doesn't mean I can't go in later and steal the stereo."
-Bill Gates, Microsoft, 3/14/89 -as quoted in MacWEEK

Medlem sedan juni 20014 290 inlägg
#31

>Tja... Samma "idiotlösning" som
>exempelvis TUX (Linux) använder för att
>vinna SPECweb99-tester. Även kHTTPd går i
>kernel-mode.

Kort förklaring hämtad från Linux kerneln:

The kernel httpd acceleration daemon (kHTTPd) is a (limited) web server built into the kernel. It is limited since it can only serve files from the file system and cannot deal with executable content such as CGI scripts. Serving files is sped up if you use kHTTPd. If kHTTPd is not able to fulfill a request, it can transparently pass it through to a user space web server such as apache.

>Jag är osäker på huruvida Apache går i
>kernel eller user-mode.

Apache går i user-mode.

------------------
If you can't convince them, confuse them.

Medlem sedan sep. 20001 124 inlägg
#32

Bara för att en process körs i kernelmode i NT, betyder inte det att koden "blandas" med kernelkoden. So bekant är 32 bitars op system utrustade med ett pagingsystem för programmens kod.

En helt vanlig 386-processor har fyra ringar i protected mode: ring 0 är skapad för kerneln, ring 3 för program och de två kvarvarande för andra saker (exempelvis drivrutiner under OS/2). Kernelmode innebär alltså att man rotar runt i ring 0 tillsammans med just kerneln. Förklara hur i *helvete* du ska kunna hindra en kernel-process att inte vandra fritt inne i kerneln.

Tux och kHTTPD är förresten avslagbara. Vill du inte ha skiten så kompilerar du inte in det.

------------------
Hollowhead - levererar din dagliga dos av nyttig hårdrock!

Medlem sedan aug. 2001458 inlägg
#33

Toonster, det finns flera fel i ditt inlägg. Precis som Chainsaw säger har man i kernel mode tillgång till allt - minne, CPU, och annan hårdvara. Man har även tillgång till usermode applikationers minne - dvs en bugg i din grafikdriver kan sänka exempelvis din webläsare.

En drivrutin i Windows NT/2000/XP går i kernel mode. Kastar en drivrutin (exempelvis till grafikkortet) ett exception utan att hantera detta, så dyker det hela OS:et. Historiskt sett (NT4) har 3:e parts drivrutiner varit ganska skakiga, därav NT4:s inte helt ovanliga blue screen of death. Windows 2000 och framåt vill därför ha certifierade drivrutiner (som Microsoft godkänt) för att minimera dessa problem - vilket är en stor anledning till att Windows 2000 är mycket stabilare än NT4.

Den stora vinsten med att lägga webservern i kerneln är inte alls att den får högre prioritet - vinsten ligger i att man sparar in onödiga kernel till user mode transitioner samt undviker att kopiera data mellan user och kernel mode adressrymder.

Läs gärna:

- http://www.microsoft.com/msj/0398/driver.htm
- http://www.winntmag.com/Articles/Index.cfm?IssueID=26&ArticleID=301
- http://www.sysinternals.com/publ.shtml

Reefer, anledningen till att jag tydligt gjorde Whistler vs. Windows XP var inlägget från "His Divine Shadow" (03 okt 2001 14:01). Jag tyckte det verkade som han råkat blanda ihop begreppen.

[Redigerat av developer den 04 okt 2001]

Medlem sedan sep. 20004 079 inlägg
#34

Reefer, anledningen till att jag tydligt gjorde Whistler vs. Windows XP var inlägget från "His Divine Shadow" (03 okt 2001 14:01). Jag tyckte det verkade som han råkat blanda ihop begreppen.

Jo det gjorde jag eftersom alla tycks använda Whistler och XP som samma sak.
Tyckte också att min XP Beta 2 skiva hade orden whistler på flera ställen :l

------------------
His Divine Shadow is the most despicable being ever created, short and to the point.

http://forums.planetdivine-shadow.com

Sprit löser inga problem. Men det gör inte mjölk heller.

Medlem sedan feb. 20001 590 inlägg
#35

Kertnelmode innebär ju inte att programmen eller processerna ligger i kerneln eller dess utrymme. kernelmode är ju bara ett läge för en process. inte en plats. Då behövs en ny kompilerad kärna, vilket jag förstått att vissa Linuxkärnor har, i NT finns vissa andra funktioner bla. GDI i kerneln. Detta är egentliga systemfunktioner och inte drivrutiner för hårdvaran, de finns på ett annat ställe.
Annars är det så att man kan tillåta drivrutiner och processer att köra i denna högsta prioritet (NT) fast det innebär inte att programmen rent fysiskt finns i kerneln, utan detta är bara en prioritetsfråga inom systempolicyn. Kernelmode prioritet ger samma prioritet (0) som kerneln dvs. absolut max, snäppet högre än den högsta realtidsprioriteten (1-15). Vanliga processer ligger mellan (16-32).
Detta är en logisk representation av processtyrandet som inte betyder att programmen är placerade på vissa fysiska ställen i minnet.

/T

------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no

Medlem sedan sep. 20001 124 inlägg
#36

Jag tror att du behöver fräscha upp dina Assembler-kunskaper, Toonster. En kodsnutt i ring 0 kan fritt ändra vad som helst utan att bli hindrad. Processprioriteten behöver inte alls höjas bara för att du är i kerneln, det finns ett flertal exempel där man har avbrutit en tråd i ett systemanrop för att växla till en annan process. Prestandavinsten är faktiskt bara det att du inte behöver vandra från ring 3 till ring 0 utan kan direkt genomföra ett anrop.

------------------
Hollowhead - levererar din dagliga dos av nyttig hårdrock!

Medlem sedan feb. 20001 590 inlägg
#37

Det har nog blivit lite förbistringar...
(tänk om vi skulle mötas över en öl, vilken diskussion...)

Jag har "pratat" om processer som körs i kernel mode, dvs. dess prioritet. Jag förstår nu att ni kanske menar program I kerneln?. Detta är ju en ganska underlig diskussion eftersom man då måste kompilera om kerneln. Sedan pratet om drivrutiner i kerneln: visst men det måste kompileras först. I NT så finns vissa systemfunktioner (kernel mode device) som möjliggör att en drivrutin kan köras i kernel mode, men återigen, själva drivrutinen (mini driver'n) finns inte fysiskt i kerneln, utan körs av systemfunkltionen i kerneln och minidrivern kan då arbeta i kernel mode, med de aspekter detta ger, prioritet mm. Som utvecklare kan jag själv inte skapa en drivrutin som körs i kerneln, som inte använder de inbyggda systemfunktionerna(tro mig jag jobbar med detta...) utan får då skapa en VxD eller en systemservice som jag kan få att köras i hög prioritet. Eftersom det är riskabelt, som ni nämner, så brukar man inte utnyttja prioritet 0 utan använde 1-15, som ger realtidsprioritet, så att systemet själv kan sköta "ordningen". det kan vara bra om andra program kan få komma till..

Visst Chainsaw, mina Assemblerkunskaper räcker nog till, och du har helt rätt i det du skriver, MEN, man måste ju kompilera om kärnan för att ett eget program ska kunna köras i kerneln. Detta är en stor fördel med Linux (inte ofta jag säger det...) I NT så kan man inte göra mer än jag nämde ovan, om man nu inte ska "hacka" kärnan...

/T

------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no

Medlem sedan juni 20014 290 inlägg
#38

Skilj på att köra i kernel och att köra i ring 0

Kör man i ring 0 så har man samma rättigheter som kernel, att läsa och skriva överallt.

Av denna anledning är det inte bra att köra "userspace" program, typ webservrar mm. i ring0.

Om nu webserver körs i ring 0, vad händer med cgi-program, kommer dessa också att köras i ring 0 isåfall är det rent idiotiskt att lägga en webbserver i ring 0. Eftersom då kan vem som helst skriva program som kan läsa OCH skriva obehindrat i hela minnet!

------------------
If you can't convince them, confuse them.

[Redigerat av GunnarD den 05 okt 2001]

Medlem sedan feb. 20001 590 inlägg
#39

Tillägg till mitt inlägg ovan:

Vissa datorleverantörer har skapat en egen HAL som innehåller drivrutiner för den speciella hårdvaran (NT/W2K). Denna HAL installerar man samtidigt som operativsystemet. Mao. hårdvaran kräver vissa drivrutiner som standardkärnan inte har, utan leverantören skickar med en egen HAL version. Detta är de grundläggande drivrutinerna som finns i kärnan.

Här är Linux bättre rustat eftersom man kan kompilera kärnan "själv"

/T

------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no

Medlem sedan aug. 2001458 inlägg
#40

GunnarD, att köra CGI-script etc. i kernelmode vore som du säger förstås idiotiskt. ;-)

Så är inte fallet, det är bara själva http-hanteringen som sker i kernelmode. Kör man exempelvis en webserver-applikation routar http.sys till rätt applikation och skriver direkt in i applikationens minne från kernel mode. Applikationen går som vanligt i usermode. På så sätt slipper man kopiering och kernel-usermode transitions för kopiering av data.

Vidare, finns det som klienten efterfrågar i cachen (som http.sys äger, typiskt bilder och statiska sidor) sköter http.sys detta skickas dessa från i kernel mode. Man behöver således inte switcha till usermode vid cachehit. Vid cachemiss måste man upp och vända i usermode.

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)