Is Winstgevendheid Kill innovatie?

02-9-2010 door Chris Geen commentaar »

Paul Graham heeft een uitstekende up te schrijven over waarom Yahoo failliet ging . Het volledige artikel is te lezen waard, maar hier zijn twee keuze citaten:

Ik herinner me vertellen David Filo eind 1998 of begin 1999 moet dat Yahoo Google kopen, omdat ik en de meeste van de andere programmeurs in het bedrijf werden gebruikt in plaats van Yahoo voor zoeken. Hij vertelde me dat het niet de moeite waard was zorgen over. Zoek werd slechts 6% van onze verkeer, en we waren steeds op 10% per maand. Het was niet de moeite waard het beter doen.

En later Paulus gaat verder met te zeggen:

Indien de omstandigheden anders waren geweest, mensen lopen Yahoo zou de gerealiseerde eerder moeten zoeken hoe belangrijk was. Maar ze hadden de meest ondoorzichtige obstakel in de wereld tussen hen en de waarheid: geld. Zolang klanten werden controles schriftelijk groot voor banneradvertenties, het was moeilijk om te zoeken serieus te nemen. Google heeft niet hebben dat aan hen af te leiden.

In de eerste plaats een disclaimer: De adviezen Ik ben over uit te drukken zijn mijn eigen. Ze staan niet voor, of enige connectie met elke organisatie heb ik gewerkt met in het verleden, heden of toekomst. Als u een gebrek aan innovatie binnen uw organisatie, weet dat ik heb werk voor je gedaan, en denk dat deze meningen zijn over uw organisatie, kan ik u verzekeren zijn ze niet. Ze zijn opmerkingen over een geheel andere organisatie.

Paul's artikel echt geraakt thuis voor mij. Terugdenkend de loop der jaren heb ik doorgebracht consulting voor verschillende organisaties, zag ik een kenmerkend patroon. Het internet ruimte is bezaaid met bedrijven die een aantal leuke innovatie was, maakte doorgedrongen in hun marktaandeel, maar verloor daarna hun weg in het nastreven van een hogere winst. Je kon het zien in de interne cultuur van de organisatie evenals hun voorzijde naar interactie met het publiek. Zodra de focus veranderd van lange termijn ontwikkeling van de technologie op korte termijn de winstgevendheid, begon de organisatie een neerwaartse spiraal.

Waarschijnlijk een van de vroegste voorbeelden was de meeste openbare Lotus . Voor de mensen met zo veel grijs haar als ik, heb je waarschijnlijk vergeten dat programma's als 1-2-3 en neemt kennis van de PC op de kaart gezet als de keuze business class-systeem. In de vroege jaren 90 liep iedereen Lotus-software. Voor die tijd in de geschiedenis was het een uiterst innovatief en functioneel. Er was een aantal jaren waarin letterlijk elk bedrijf waar ik voor werk deed had een grote inzet van Lotus-software.

Dan rond de midden jaren 90 is het allemaal veranderd. Nieuwe releases bugs in plaats van de technologie vooruit geduwd. Een draconische kopieerbeveiliging systeem werd geïmplementeerd. De kosten voor telefonische ondersteuning en patches ging door het dak. Ik herinner me het exacte moment dat ik besloot dat ik ooit zou doen wat ik kon om uit de buurt van Lotus software te krijgen. Ik zat in de wacht voor cc: Mail de steun (de datastore had beschadigd zichzelf weer) en realiseerde zij een schijf jockey ingehuurd om muziek te spelen en) aan te kondigen wachtrij wachttijd (meestal 30-60 minuten. Deze zei me dat Lotus wist dat ze steun hadden problemen, maar dan pakken ze de oorzaak van de goedkope manier haalde en huurde een entertainer. Terwijl ik weet zeker dat dit op korte termijn hun winstgevendheid, stuurde zij mensen zoals ikzelf lopen in het Microsoft kamp.

Natuurlijk pummels was niet de laatste. We hebben zelfs gekeken Microsoft in sprongen groeien tot de focus veranderd van innovatie tot de bescherming van en de handel slicks te kopiëren. SCO veranderde hun business model uit dat een SMB-oplossing wordt de eisende partijen, snel en gleed in de vergetelheid. We kunnen zelfs zien het weer met Oracle. Sommige beweren dat Oracle niet gekocht zon te doen toekomen hun innovatie, maar dan specifiek te procederen tegen Google . Moeilijk te stellen van dit punt als de buitenkant lijkt het erop dat de enige andere wat ze hebben gedaan met zon is dood OpenSolaris , waardoor het afsnijden van een schat van innovatie door externe programmeurs.

In artikel Paul's wijt hij de oorzaak op Yahoo niet het inhuren van de beste programmeurs. In mijn ervaring is het probleem gaat dieper dan dat. Wanneer een onderneming komt dit zelf destructieve fase richten zij zich minder op het werven van vernieuwers (zoals programmeurs) en meer aan het inhuren bean counters. De focus verandert van het bevorderen van nieuwe ideeën om uit te knijpen om de laatste cent voor korte termijn gewin. Het eerste teken is meestal absurde veranderingen in het beleid. Kubussen kan alleen worden ingericht in een aantal cookie cutter mode, ingenieurs moeten hun eigen prullenbak leeg is, je meer van je dag goed is voor onze tijd in plaats van daadwerkelijk iets te bereiken, etc. etc.

Terwijl ik weet zeker dat sommigen accountant kan tonen op een mooie staafdiagram dat dit soort veranderingen in het beleid van de winstgevendheid vergroten, ze een zeer belangrijk punt missen. De veranderingen die een klimaat creëren dat schadelijk is voor innovatief denken. De cultuur in beweging, maar garandeert dat alle innovatieve ideeën gaan om te mislukken, en innovatieve denkers gaan verhuizen naar andere mogelijkheden. Paul's interactie met Yahoo is een uitstekend voorbeeld. Denk aan het als synoniem voor het investeren in levensmiddelen in de supermarkt. Kopen goedkoop voedsel zal resulteren in de winstgevendheid op korte termijn, maar op lange termijn zal waarschijnlijk drastisch verhogen van uw kosten voor de gezondheidszorg . Als je centen tellen is het gemakkelijk om uit het oog verliezen van het doel op lange termijn (als het leven een lang gezond leven).

Dus het probleem is big business? Is het mantra dat alleen kleine hongerige bedrijven kunnen innoveren, terwijl grote bedrijven zijn bestemt is te mislukken? Persoonlijk denk ik niet dat dit waar is. Ik heb gezien dat de grote bedrijven zijn slim genoeg om te maken interne denktanks om innovatie te bevorderen. Er zijn mechanismen in te stellen zodat die nieuwe ideeën op te doen zweefde naar de top en falen niet synoniem geworden met de beëindiging. Hoewel de winstgevendheid is nog steeds belangrijk (en IMHO moet worden), creatief naar mogelijke risico's te nemen technologie verticalen worden ondersteund door het hogere management. Een goed voorbeeld hiervan is waarschijnlijk Apple. Verhuizen van computers tot telefoons was een belangrijke verandering in de verticale markt, maar heeft zijn vruchten afgeworpen in schoppen.

Op het einde, ik denk dat het echt komt neer op de bedrijfscultuur. Wat doodt een bedrijf is niet de omvang, maar zijn vermogen om op lange termijn te bevorderen in plaats van korte termijn denken. Snel sanity check, als u merkt dat uw organisatie het inhuren van meer dan bean counters vernieuwers, kunt u al op de neerwaartse spiraal.


VMware Fast Path Versus Slow Pad Firewalls

30.08.2010 door Chris Geen commentaar »

Velen van ons zijn nu bezig met virtuele firewalls. Ik heb een eerder bericht over de sterke en zwakke punten van de veiligheid binnen de virtuele wereld , maar vandaag wil ik praten over de mogelijkheden met firewalling VMware. Er is veel opwinding over relatief nieuwe VMware VMsafe API . Concreet is iedereen versluiering te creëren en te installeren snelle pad firewalls. Maar zijn alle snelle pad implementaties gelijk geschapen? Zijn er bezorgdheid over de veiligheid met een gaan met een snelle pad oplossing? Laten we duiken en te zien.

Verdeling van de VMsafe

Met de release van de VMsafe beveiligings-API, heeft VMware een versterking van de opties die beschikbaar zijn voor de uitvoering van de beveiliging binnen een vSphere milieu door toe te staan leveranciers om rechtstreeks aansluiten op de hypervisor in ring 0. VMsafe bestaat uit drie onderdelen:

  • VDDK - diskblok inspectie. API is publiekelijk vrijgegeven.
  • vCompute - CPU en geheugen API. Is niet publiekelijk vrijgegeven. Onbekend welke derden toegang hebben, indien van toepassing.
  • vNetwork - API voor monitor / filter tussen de vNIC en vswitch. Is niet publiekelijk vrijgegeven. Om het beste van mijn kennis, alleen Altor Networks & Systems Reflex toegang hebben (twee verkopers die assisteerde bij de ontwikkeling van de API).

In het bijzonder wil ik spreken met de vNetwork API. Bij het controleren van netwerksoftware om de verkeersstroom in een ESX host, zijn er twee mogelijke uitvoering, de "trage pad" en "snelle weg".

Slow Pad

Slow pad is de eenvoudigste uitvoering en degene die wij gebruiken al jaren. Effectief is dit gewoon een VM gast, vergelijkbaar met alle andere VM gast, die draait op de ESX host. Typisch iedere gast is aangesloten op een unieke vswitch, en elk van deze vSwitches is aangesloten op een unieke vNIC op de firewall. Dit is vergelijkbaar met een erfenis firewall setup, maar vrijwel uitgevoerd. Het voordeel van het uitvoeren van in slow pad is dat u een volle slag draaien OS met alle bibliotheken of diensten die nodig zijn om de firewall-ondersteuning.

Fast Path

Fast Path is in feite een ring 0 bestuurder die rechtstreeks wordt aangesloten op de hypervisor kernel. Dit maakt een derde partij verkoper om de hypervisor hefboom voor het inbrengen tussen elk vNIC / vswitch verbinding. Omdat een snelle pad bestuurder wordt uitgevoerd in de kernel context, het voegt een minimale overhead tot het systeem. Het resultaat is een code kan worden uitgevoerd binnen het snelle pad is aanzienlijk sneller dan de dezelfde code wordt uitgevoerd binnen de trage pad (dus de VMware naamgevingsconventie voor elke context). Belasting op de ESX host is geminimaliseerd, zodat het eindresultaat is dat je kan lopen veel meer virtuele gasten.

Snel Vs Slow

Dus het klinkt alsof je zou willen alles doen wat in het snelle pad, maar er zijn een aantal zaken. Fast Path is een kernel driver te sluiten in een geminimaliseerd hypervisor, niet op volledige klap besturingssysteem. Dit beperkt de bibliotheken en de dienstverlening van de firewall is beschikbaar voor het regelen van verkeersstromen. Verder zijn we het aansluiten van een kernel driver dus er moet worden verzekerd dat het geen bloat de hypervisor, de aanval oppervlak te verhogen of interfereren met andere functies hypervisor. VMware voert een code review op alle snelle pad bestuurders vóór zijn vrijlating op. Dus als ik het zou theoretisch kunnen voeren al mijn code in het snelle pad, zou ik moeten VMware goedkeuring voorafgaand aan iedere pleister of feature release.

Met dit in gedachten, een leverancier die claimen "snelle weg" steun daadwerkelijk zal uiteindelijk de uitvoering van een gedeelte van hun code zo snel weg, een deel zo langzaam weg, en maak vervolgens een aansluiting tussen de twee. Hoeveel belasting wordt gelegd op het systeem zal afhangen van hoeveel van deze code wordt uitgevoerd in het snelle pad en hoeveel daarvan wordt uitgevoerd in slow pad.

Mogelijke Fast Path Deployments

Bijvoorbeeld, kan een verkoper ervoor kiest om een snelle pad driver te schrijven die alle pakketten tunnels gewoon terug naar een trage pad uitgevoerd firewall. De trage pad code bepaalt dan of het verkeer moeten worden doorgegeven of een val, met pakketten doorgegeven worden teruggestuurd naar het snelle pad code voor opname in de hypervisor control channel. Hoewel dit de gemakkelijkste manier om van de inzet van het snelle pad te zijn, en misschien wel de veiligste en meest veilige, zouden zij de minste prestatie voordelen. Belasting van het systeem zou waarschijnlijk niet veel beter dan een volledige implementatie trage pad. Ik zie deze optie als zeer aantrekkelijk voor legacy firewall leveranciers, het zou de minste hoeveelheid modificatie nodig hebben om hun bestaande code, terwijl nog steeds in staat om te beweren "snelle weg" te steunen.

Een andere optie zou zijn om de trage weg ruimte te gebruiken voor administratieve functies met het snelle pad bestuurder als de firewall engine. Dus bijvoorbeeld de firewall-beheerder zou u het beleid met behulp van een interface die draait op een trage pad VM, die zou druk vervolgens op het beleid neer op een snelle pad chauffeur. In deze opzet kunnen de snelle pad bestuurder een kopie van de polis, zodat verkeers controle kan onmiddellijk worden toegepast. Het resultaat is een snellere verkeersafwikkeling met een minimale belasting van het systeem. De afweging is omvangrijker code in ring 0.

Het is ook mogelijk om uitvoering van een mengsel van de twee. Bijvoorbeeld kon ik het snelle pad driver te gebruiken om de firewall-beleid uit te voeren, maar dan gaan alle "geaccepteerd" pakketjes terug naar de trage pad systeem voor het controleren van inbraak, virus scanning, of wat dan ook nodig is. Aanvaardbare pakketten worden vervolgens terug naar het snelle pad driver voor het inbrengen doorgegeven. Dus in deze setup alle "gevallen" pakketten worden afgehandeld via het snelle pad, terwijl de aanvaarde pakketten interageren met een trage pad component.

Als bijeffect notitie, moet u de bovenstaande informatie in gedachten te houden bij het overwegen van alle vNetwork implementaties, niet alleen firewalls. De vNetwork API kan ook worden gebruikt voor het beleid van handhaving, QoS, het verzamelen van het netwerk van statistieken, etc. Bijvoorbeeld de allereerste uitvoering was eigenlijk vNetwork VMWare's Lab Manager. Deze tool wordt gebruikt voor self-service provisioning en bevat niet een firewall component (dit wordt uitgevoerd via vShield).

Overzicht

Terwijl een VMware product dat integreert met VMsafe strikt kan worden een "trage weg" uitvoering, is het hoogst onwaarschijnlijk dat elk product dat uitsluitend kan worden beschouwd als een "snelle weg" uitvoering. Elke snelle pad product het meest waarschijnlijk zal een hybride zijn. Het is gewoon een kwestie van hoe veel code bestaat in de "snelle weg" ruimte versus de 'trage weg "ruimte. Wanneer een product het snelle pad claims te ondersteunen, moet je een beetje dieper moeten graven om de uitvoering te analyseren om een echte prestatie voordelen te identificeren.

De Comcast Scam

25.08.2010 door Chris Geen commentaar »

Geheel los van de veiligheid, maar werd verrast toen dit gebeurde mij dus ik dacht dat ik zou gooien een heads-up.

Wanneer u uw creditcard of hypotheek te betalen, er zijn wetten in de plaats te (proberen) te houden van de schuldeisers uit kerving je. Bijvoorbeeld als je een credit card betaling te doen, heeft de schuldeiser toe te passen, dat de betaling aan de oudste aankoop. Als ze dat niet, dan zou zij gemakkelijk whack u met een hogere rente en boetes met slechts de aflossing van recente aankopen. De wet is bedoeld om een bepaald niveau van consumentenbescherming te bieden.

Blijkbaar is de dezelfde regels gelden niet voor Comcast. Terug in juni ging ik naar de plaatselijke Comcast kantoor en pakte twee nieuwe kabelsystemen. Deze maken het op mijn factuur juni, die volledig miste ik door te reizen. Ik heb mijn bank setup aan auto-betalingen te verrichten, maar de auto-betaling juni eindigde als 18 dollar kort. Ga naar juli en ik had het zelfde probleem. Heb niet gekeken naar het wetsvoorstel en laat auto-pay doet haar ding. Behalve nu is het niet alleen 18 dollar Kortom, het is 18 dollar, plus kosten en sancties.

Dus hier zijn we in augustus. Minder dan 30 dagen sinds ik voor het laatst een betaling en Comcast doodde mijn service. Telefoon, televisie en internet alle offline. Toen ik belde om uit te vinden van het probleem, was vertelde ik mijn account was 60 dagen over tijd. Na een gesprek met drie verschillende mensen kreeg ik te horen dat Comcast geen verplichting om de betalingen aan de oudste schulden toe te passen. Dus terwijl mijn wetsvoorstel juli werd beschouwd als de huidige, was mijn factuur beschouwd juni 60 dagen te laat. Dus de onderbreking van de service, evenals meerdere vergoedingen aan de while ding rechtzetten. Als Comcast werd gehouden aan dezelfde normen als de meeste schuldeisers, zou ik nog steeds aan hen te danken $ 18. Omdat ze niet met hun tariefstructuur te danken ik nu 47 dollar en dat aantal is nog steeds klimmen (blijkbaar hun TiVo dienst kan niet worden ingeschakeld zonder een dienstenaanbod van Tech).

Postmortaal

  • Bundeling home diensten kunt geld besparen, maar zorgt voor een nare single point of failure
  • Wees voorzichtig met het gebruik van een Bank op basis van auto-facturen te betalen voor die kan variëren
  • Comcast tariefstructuur hen toelaat om een jaarlijks rendement van 967% te verdienen als je zo veel als 1 dollar achterstallige en missen zij de volgende maand

Is het tij te draaien?

03/6/2010 door Chris Geen commentaar »

Ik heb jaren zeggen dat anti-virus is niet langer effectief is en dat een goede beveiliging houding moet worden uitgebreid met de toepassing witte lijst. Hier is een leuke quote van George Kurtz, Chief Technology Officer van McAfee:

"Je kunt niet zomaar vertrouwen op antivirus software - en we zijn een antivirus bedrijf. En firewalls alleen niet voldoende bescherming bieden ", zei hij.

Antivirus, firewalls en intrusion detection zijn een begin. Maar "witte lijst" biedt een sterkere verdediging. Dat is in wezen vergrendeling computers neer zodat alleen vertrouwde programma's mogen worden uitgevoerd. Niets kan worden gewijzigd of toegevoegd of aangepast, behalve door een systeembeheerder.

McAfee is van mening "dat is waar de toekomst naartoe gaat," zei Kurtz.

Link naar volledige verhaal

Fashionably late aan de partij, maar ik neem hem. ;-)

Zijn gevirtualiseerde systemen Meer of minder veilig?

18 mei 2010 door Chris Geen commentaar »

Ik heb de bovenstaande vraag had gevraagd genoeg momenten dat ik voelde dat waardig van een blogbericht. Terwijl een paar jaar terug het antwoord kan zijn "minder veilig", vandaag is het antwoord "beide". Ik weet het, klinkt als Chris zijn vrijblijvend, maar dat antwoord wel degelijk het meest nauwkeurig beschrijft de huidige stand van de technologie.

Virtualisatie Changes Everything

Ik heb gehoord dat een paar mensen opmerking dat virtualisatie is over de industrie de gevolgen van de op dezelfde manier dat het internet heeft in de jaren 90. Om eerlijk te zijn, ik denk dat er verdienste in dit advies. In de vroege jaren 90 de meeste mensen liepen IPX, AppleTalk, NetBUI en een overvloed aan andere protocollen op gesloten netwerken. Tegen het einde van de jaren 90, waren de meeste mensen draaien uitsluitend met IP-connectiviteit aan de hele wereld. De manier waarop wij zaken deden, evenals de manier waarop we de veiligheid van toepassing, volledig veranderd in die 10 jaar. Zowel netwerkbeheer en beveiliging vaardigheden die rand te snijden waren in 1990, maar waren allemaal nutteloos in 1999.

Virtualisatie is begonnen met het opvoeren van de dezelfde impact hebben voor de industrie. Virtualisatie inzet vraagt om een volledige heroverweging van de wijze waarop de veiligheid van toepassing zijn. Terug in de jaren 1990, admins die gewoon aangesloten op het internet, zonder rekening te houden met hoe dit zou hun netwerk impact, maar ik heb verbrand big time. Wij zijn de rij om een vergelijkbaar resultaat zien als mensen nemen virtualisatie.

Wat maakt Virtualisatie minder veilig

De achilleshiel van virtualisatie is in de software zelf. We hopen wij de software kunnen systemen voor gasten weg te houden van elkaar vertrouwen, evenals de gastheer en / of hypervisor. Er zijn twee grote problemen met deze verwachting:

  1. Er is geen software bug vrij
  2. Software kan worden geconfigureerd

Een paar jaar terug Core Onderzoek liet zien dat ze konden uitbreken van een gast en krijgt volledige controle van de host-OS . Terwijl een hypervisor wordt verondersteld om de blootstelling te beperken, dat soort hebben we zeker gezien de gevallen waar zelfs de hypervisor is gepasseerd . We hebben zelfs gevallen gezien werden software wordt de exploiteerbaarheid alleen wanneer draaien in een gevirtualiseerde omgeving . Deze links tonen een kleine dwarsdoorsnede van de virtualisatie problemen die zijn ontdekt in de afgelopen jaren. Google kan u een meer volledige lijst als je geïnteresseerd bent.

Dus een voorzichtige professionele beveiliging gaat voorzichtig van blindelings vertrouwen software te beveiligen. Het probleem is verkopers niet altijd dezelfde benadering te nemen. Neem met hun VMware ESX (binnenkort ESXi) product als een voorbeeld. Velen van ons waren verbijsterd toen een vertegenwoordiger van VMware aangekondigd op CanSecWest dat het theoretisch onmogelijk om een aanval op de ESX hypervisor . Als we gewoon maar iets veronderstellen is onbreekbaar, iemand die meer creatief gaat uitzoeken een manier om door middel van Punch .

Een van mijn grootste problemen met ESX / ESXi is dat VMware heeft ontworpen dat het modulair worden (via VMSafe ). Aan de positieve kant, betekent dit dat externe leveranciers kunnen producten te creëren om de hypervisor de functionaliteit en de veiligheid te verbeteren. Op de keerzijde van deze drastisch verhoogt de kans op slechte code wordt ingevoerd, die de veiligheid in gevaar kunnen brengen.

We hebben een geweldig voorbeeld van dit in het verleden. Marcus Ranum schiep de Gauntlet firewall, die op dat moment was een van de meest veilige en kick butt veiligheidsvoorzieningen beschikbaar. Toen de drie agentschappen brief wilde de beste beveiliging, wendden ze zich tot Gauntlet. Marcus verkocht Gauntlet met Network Associates (McAfee later), die onmiddellijk begonnen met het toevoegen van functies. Het duurde niet lang voordat er een gestage reeks kwetsbaarheden werden ontdekt, elke ingevoerd door deze nieuwe "features". Van daar, het product verloren zijn veiligheid cred en gleed van de radar.

Nu is het zeker mogelijk om functies toevoegen en houden dingen veilig te stellen. De FreeBSD mensen zijn een uitstekend voorbeeld van hoe je dit correct te doen. Om te zorgen voor veiligheid onderhouden ze een zeer strenge controle proces . Is het perfect? Absoluut niet, maar hun audit-proces heeft de lat voor veilige software implementatie. Met een beetje geluk VMware zal doen lijken, maar ik heb niets gehoord buzz over dit het geval is.

Vervoer je hoofd recht

OK, dus we kunnen niet blindelings vertrouwen virtualisatiesoftware te houden aanvallers op afstand. We kunnen echter nog steeds voorzorgsmaatregelen treffen om te helpen de gevolgen te minimaliseren als het ergste zich voordoet. Een van de grootste stappen die u kunt nemen is om zorgvuldig te overwegen welke servers gehost te krijgen, en wat andere gasten systemen zijn toegestaan te lopen op hetzelfde vak. De zekerheid zone-concept wordt gebruikt door het netwerk van architecten is net als hier van toepassing.

Een beveiligingszone is gewoon een verzameling van systemen die dezelfde relatieve mate van risico. Bijvoorbeeld Web, de naam en SMTP-servers zijn meestal allemaal op een DMZ, omdat zij allen hebben dezelfde risico van directe aanval. Op het binnenste deel van het netwerk, desktops zijn meestal geplaatst in een andere beveiligingszone dan de servers. Dit komt omdat servers hebben weinig tot geen toegang tot het internet, terwijl desktops zijn meestal toegestaan om rechtstreeks te communiceren. Dit plaatst de desktops een hoger risico van een aanval dan de servers.

We kunnen dit dezelfde logica toepassen bij de uitvoering van virtualisatie. Een DMZ-server en een interne server moet niet zijn gasten op dezelfde hardware (zowel CPU en disk array). Hierdoor kan een aanvaller om een alternatieve route te creëren in ons netwerk. In plaats van door te geven door middel van een firewall, NIDS, NIP, enz. apparaten die is ingezet op de draad, kan een aanvaller in staat zijn om toegang tot de interne middelen via de virtualisatie-software te krijgen. Is het een makkelijke aanval? Niet van wat we tot nu toe hebben gezien. Functionele exploits zijn echter ontdekt, dus waarom onnodige risico's als we niet te hebben.

By the way, moeten deze dezelfde beveiligings-zone regels worden toegepast op uw gevirtualiseerde netwerk versnelling. Zo is het bijvoorbeeld een slecht idee om op dezelfde fysieke schakelaar te gebruiken om VLAN de DMZ en het interne netwerk. Ik heb een paar klanten krijgen op die manier geschift.

Wat maakt Virtualisatie Meer Secure

Gelukkig, vanuit een oogpunt van beveiliging, virtualisatie is niet allemaal slecht nieuws. In feite zijn er een aantal zeer coole beveiliging praktijken die u kunt toepassen in een gevirtualiseerde omgeving die je kunt gewoon niet zonder. Dit was een van de redenen waarom we begonnen met behulp van virtualisatie binnen de honeynet al in 2000.

Een van de grootste veiligheidsproblemen we vandaag voor staan is het niveau van de kernel rootkits . Wat maakt deze stam van malware zo verraderlijk is het effectief draait het besturingssysteem zelf in malware. Dit maakt detectie extreem moeilijk, aangezien alle veiligheidscontroles moeten passeren via de kernel. Als de kernel zelf in het gedrang komt, kunnen we geen beroep doen op de kernel om nauwkeurig verslag informatie over de beveiliging. We eindigen met de sluiting van het systeem, de drive mounten op een bekende te zijn schoon OS, en het uitvoeren van onze forensische controles vanaf daar. Oh natuurlijk het probleem met dit proces is dat het niet schaal goed. Als we tientallen of honderden servers, er is gewoon niet genoeg tijd in een dag alle controleer ze goed.

Zoals eerder vermeld, is VMware nu toelaat derden leveranciers de toegang tot de API via VMSafe hypervisor. Deze biedt toegang tot bevoorrechte informatie staat, zoals het geheugen en het netwerkverkeer, op elk van de gast Oss. Door het insteken in de hypervisor, een aantal uiterst koel beveiligingsopties mogelijk geworden.

Bijvoorbeeld laten we zeggen een gast-OS is aangevallen door een kernel rootkit niveau. Door het analyseren van beoordelingen van het geheugen, kan de rootkit worden gedetecteerd van buiten het virtuele besturingssysteem. Bij het uitvoeren van de controles via de hypervisor, is er veel minder van een kans dat een rootkit kan haar activiteiten stealth en onopgemerkt blijven. Zoals eerder vermeld, is er geen vergelijkbare optie met een niet-gevirtualiseerde systeem.

De API-plug creëert ook nieuwe mogelijkheden voor het omgaan met versleutelde verkeer. Toen eind te maken aan einde encryptie wordt gebruikt (zoals een VPN), een netwerk gebaseerde controles van de applicatielaag zijn gemakkelijk omzeild. Uw enige reële optie is aan de vertegenwoordiger van de software draaien op het eindpunt, dus beveiliging kan worden uitgevoerd na de decryptie-proces. Natuurlijk is het probleem hier is dat als de agent wordt aangevallen, zijn alle weddenschappen af. Nogmaals, door de stekker in de hypervisor zijn we in een betere positie om zich veiliger te controleren van deze gegevens.

We zijn net begonnen om te zien nieuwe producten die gebruikmaken van de API VMSafe stekker . Aangezien alle producten van het relatief nieuw zijn, de jury is nog niet eens over hoe effectief ze kunnen zijn. Aanbod loopt het gambiet van vervanging van host-gebaseerde firewall en IDS bescherming van de volledige policy enforcement. Het zal interessant zijn om te zien hoe dit product niche schudt het komende jaar.

Overzicht

Dus als ik aan het begin van dit bericht, virtualisatie heeft de mogelijkheid om uw omgeving meer of minder veilig maken, afhankelijk van hoe je inzetten. Als je gewoon alles wat begint te lopen op een enkel vak, bent u waarschijnlijk gaat krijgen vermoord. Als u de beste praktijken uit te breiden die zijn ontwikkeld door de jaren heen in de wereld van virtualisatie, maar ook als hefboom enkele van de nieuwe beveiligingsfuncties die worden vrijgegeven, kan je eigenlijk een betere algemene staat van beveiliging te creëren.

De combinatie van logwatch en OSSEC - Deel 4

18 feb 2010 door Chris 3 reacties »

In mijn laatste post die wij geïnstalleerd logwatch alsmede OSSEC. Het is nu tijd om logwatch OSSEC en samen spelen in dezelfde zandbak. In deze post zal ik bespreken hoe om logwatch aan de informatie die wordt gegenereerd door OSSEC samen te vatten.

Deployment Opties

We hebben twee wegen die we kunnen volgen om dit op te zetten:

  1. Heb logwatch ontleden de OSSEC logs direct.
  2. Heb OSSEC haar waarschuwingen worden verzonden naar een syslog-server type, vervolgens stormloop logwatch op de Syslog-server.

Het voordeel voor optie # 1 is dat we slechts een systeem nodig hebben. Logwatch zal worden uitgevoerd op het systeem als gastheer van de OSSEC server. Het probleem dat we gaan lopen in gaat echter de OSSEC alert bestand. Log inzendingen krijgen niet genormaliseerd. Dit betekent dat de indeling kunnen per item te binnenkomst, en kan zelfs gespreid over meerdere lijnen. Het gaat om een echte nachtmerrie voor een script dat zal logwatch filter en een samenvatting van de gegevens alert te creëren.

Als we verder gaan met optie # 2, zullen wij verlangen dat een andere box op te treden als onze gecentraliseerde logging server. Met het oog op de server te accepteren OSSEC logboekvermeldingen van niet-agent systemen, heeft om op te luisteren UDP/514. Dit is dezelfde poort die wordt gebruikt door een gecentraliseerde logging server, en je kunt geen twee aanvragen dezelfde haven bevinden (behalve met Windows, maar socket toegang is zeer slordig). Aan de positieve kant, zal de signalering inzendingen krijgen genormaliseerd wanneer ze worden doorgegeven aan de Syslog-server, zodat het maken van een samenvatting logwatch script zal veel gemakkelijker zijn. Verder logwatch reeds weet over de standaard Syslog-bestanden, dus we zullen minder aanpassingen te doen hebben.

Tot slot ben ik al in een eerder bericht dat OSSEC niet is ontworpen om een SIM worden. Dit is omdat het niet neem alles op, alleen de gebeurtenissen die een waarschuwing genereren. Dus zijn we waarschijnlijk naar een centrale server toch wilt, en is het zinvol om het op te slaan hebben de informatie die wordt gegenereerd door OSSEC.

Dus als het klinkt alsof ik stuur je naar optie # 2, bent u absoluut correct. Met dat gezegd, ben ik eigenlijk gaan voor optie # 1 te dekken is een veel ingewikkelder.

Omgaan met Datum / Tijd Stamps

Neem een kijkje op de belangrijkste OSSEC logfile en je moet zien van de volgende strekking:

[Root @ Fubar logs] # staart -3 / var / ossec / logs / ossec.log

2010/02/18 12:32:05 ossec-rootcheck: INFO: Ending rootcheck scan.

2010/02/18 14:27:06 ossec-syscheckd: INFO: Begin syscheck scan.

2010/02/18 14:39:21 ossec-syscheckd: INFO: Ending syscheck scan.

Let op de manier waarop de datum / tijd stempel is geformatteerd. Dit is anders dan de meeste toepassingen, dus het eerste wat we moeten doen is vertellen logwatch hoe om te gaan met dit formaat. We moeten een script dat we kunnen bellen wanneer dat nodig is, dat begrijpt bovenstaande opmaak te maken.

Begin met het verplaatsen in de gedeelde map scripts:

cd / usr / share / logwatch / scripts / shared

Gebruik je favoriete editor, maak een bestand met de naam "applylongdate":

vi applylongdate

Hier is wat je nodig hebt binnenkant van dat bestand. Voel je vrij om te kopiëren / plakken van deze pagina:

gebruik logwatch ': data ";

my $ Debug = $ ENV ('LOGWATCH_DEBUG') | | 0;

= $ SearchDate TimeFilter ('% Y /% m /% d% H:% M:% S');

if ($ debug> 5) (

print STDERR "DEBUG: Inside ApplyLongDate ... \ n";

print STDERR "DEBUG: Op zoek naar:". $ SearchDate. "\ N";

)

while (gedefinieerd ($ ThisLine <STDIN> =)) (

if ($ ThisLine = ~ m / ^ $ SearchDate / o) (

print $ ThisLine = ~ s / ^ .... \ / .. \ / .. ..:..:.. / /;

print $ ThisLine;

)

)

# Vi: shiftwidth = 3 = perl syntax tabstop = 3 en

Zodra u het bestand opslaat, we moeten nu de juiste machtigingen in te stellen:

chmod 755 applylongdate

Configureer de Logbestanden

Vervolgens moeten we logwatch vertellen waar de OSSEC log bestanden zich bevinden. Anytime u nieuwe log bestanden of het creëren van nieuwe diensten te controleren in logwatch, moet u uw wijzigingen onder de directory / etc / logwatch directory. We gaan twee configuratie bestanden te maken. De eerste zal behandelen OSSEC berichten, en de tweede zal behandelen OSSEC signaleringen en actieve reactie veranderingen.

Laten we beginnen met het maken van het configuratiebestand voor de belangrijkste OSSEC logbestand:

cd / etc / logwatch / conf / logbestanden

vi ossec.conf

De inhoud van het bestand moet worden als volgt:

Logboek = / var / ossec / logs / ossec.log

* = ApplyLongDate

U kunt nu te slaan en het bestand. Vervolgens maken we de config file voor de resterende log bestanden:

VI-ossec alert.conf

De inhoud van dit bestand dient als volgt:

Logboek = / var / ossec / logs / active-responses.log

Logboek = / var / ossec / logs / alerts / alerts.log

Logboek = / var / ossec / logs / firewall / firewall.log

Eenmaal voltooid, opslaan en afsluiten. De standaard machtigingen moet aanvaardbaar zijn voor onze setup.

Configureren OSSEC Services

Vervolgens moeten we de OSSEC diensten te definiëren en wat we willen gebruiken als een titel bij de rapporten worden gegenereerd identificeren. Hier is hoe u het eerste bestand:

cd / etc / logwatch / conf / services

vi ossec.conf

De inhoud van dit bestand is vrij eenvoudig:

Title = "Berichten OSSEC"

Logboek = ossec

Eenmaal voltooid is kan je opslaan en afsluiten. We moeten nog een bestand in deze map te maken:

VI-ossec alert.conf

De inhoud van dit bestand dient te worden:

Title = "OSSEC Alerts"

Logboek = ossec-alert

Eenmaal voltooid, op te slaan en af te sluiten zoals gebruikelijk.

Het ontleden van de inzendingen

Vervolgens moeten we logwatch vertellen hoe de opmaak van de logboekvermeldingen in het verslag. We moeten een aanpassing script voor elke set van diensten te creëren. We gaan starten met een logwatch meegeleverde testscript, gewoon om te zorgen dat alles werkt te maken.

Begin met het verplaatsen in de juiste directory:

cd / etc / logwatch / scripts / services

Gebruik je favoriete editor waarmee u uw eerste script te maken:

vi ossec

De inhoud van het script moet worden als volgt:

#! / Bin / bash

# Dit is zo mooi script dat zal u tonen de lijnen die u zal

# Worden verwerking en rapportage over. Het zal de eerste expositie

# Standaard omgevingsvariabelen en dan duurt het STDIN en

# Dump het goed mee terug naar stdout.

# Dit zijn de standaard omgevingsvariabelen. U kunt definiëren

# Meer in uw dienst config bestand (zie hierboven).

echo "Datumbereik: $ LOGWATCH_DATE_RANGE"

echo "Detail Level: $ LOGWATCH_DETAIL_LEVEL"

echo "Temp Dir: $ LOGWATCH_TEMP_DIR"

echo "Debug Level: $ LOGWATCH_DEBUG"

# Neem nu STDIN en dump het naar stdout

kat

Maak nu uw tweede script:

vi ossec-alert

en bevatten exact dezelfde inhoud:

#! / Bin / bash

# Dit is zo mooi script dat zal u tonen de lijnen die u zal

# Worden verwerking en rapportage over. Het zal de eerste expositie

# Standaard omgevingsvariabelen en dan duurt het STDIN en

# Dump het goed mee terug naar stdout.

# Dit zijn de standaard omgevingsvariabelen. U kunt definiëren

# Meer in uw dienst config bestand (zie hierboven).

echo "Datumbereik: $ LOGWATCH_DATE_RANGE"

echo "Detail Level: $ LOGWATCH_DETAIL_LEVEL"

echo "Temp Dir: $ LOGWATCH_TEMP_DIR"

echo "Debug Level: $ LOGWATCH_DEBUG"

# Neem nu STDIN en dump het naar stdout

kat

Ten slotte moeten we de juiste machtigingen instellen:

chmod 755 * ossec

Testen De Setup

De eenvoudigste manier om onze nieuwe setup te testen is het uitvoeren van het commando:

logwatch | less

Als u alleen uw wijzigingen wilt zien, kunt u een verslag over elke dienst, een voor een:

logwatch-service ossec | less

logwatch-service-alert ossec | less

Verdere aanpassing

Zodra je al het bovenstaande werkt, kunt u zich richten op het verkrijgen van logwatch te filteren en de logboekvermeldingen samen te vatten. Logwatch is vrij flexibel, en je kunt de output op elke gewenste manier. Een van de leuke dingen over de hierboven genoemde test script van hierboven is dat u precies laat zien wat je hebt om mee te werken. Dus met een beetje magie reguliere expressie kun je een samenvatting van de items opgeven als u dat nodig achten. Voor een aantal ideeën, check out de bestanden te vinden onder:

/ Usr / share / logwatch / scripts / services

Dit zijn de standaard scripts samenvatting opgenomen met logwatch. In het bijzonder zijn een kijkje op de bestanden "pam" en "sshd". Ze zijn goede voorbeelden van zowel een eenvoudige en een complexe set van filters samenvatting.

Zoals de ontwikkeling van je scripts, aandacht besteden aan de $ LOGWATCH_DETAIL_LEVEL "variabele. Dit zal u toelaten om het uitgangsniveau van het verslag aan te passen, afhankelijk van hoeveel verbosity de gebruiker op zoek is. Bijvoorbeeld, terwijl je nog in de bovenstaande directory services, voer het volgende commando:

minder sshd

Toen de eerste pagina van de inhoud van het bestand wordt weergegeven, typt u in:

/ Detail <Voer Key>

De backslash laat ons het bestand zoeken naar een bepaalde tekst string. In dit geval zijn we op zoek naar het woord "detail". Zodra u op Enter drukt de zoektocht loopt door het bestand totdat hij vindt het eerste exemplaar van de tekst string. Ook wordt aandacht besteed de zoekstring. In de eerste wedstrijd, zult u merken dat de auteur de variabele "$ Detail" toegewezen aan hetzelfde te zijn als de variabele $ LOGWATCH_DETAIL_LEVEL ". Dit is hen te redden wat typwerk.

Druk nu op de backslash toets gevolgd door de Enter-toets. Dit zal springen door het bestand naar het volgende voorbeeld van 'Detail'. Je moet zien:

if ($ Detail> = 20) (

Gebruikers $ ($ user) () ($ Host $ methode) + +;

Else ()

if ($ host! ~ / $ IgnoreHost /) (

Gebruikers $ ($ user) () ($ Host "(alle )"}++;

Noot van de auteur vindt u meer informatie als het detail niveau is ingesteld op 20 (halverwege tussen laag en medium) of hoger. Blijf springen door het bestand en je ziet andere voorbeelden waar de auteur leveraged deze techniek.

Nu page down aan het einde van het bestand en u dient deze verklaring te zien:

if (keys% OtherList) (

print "\ n ** Ongeëvenaarde reacties ** \ n";

print "$ _: $ _ $ OtherList () tijd (s) \ n" foreach toetsen OtherList%;

)

Deze sectie is uiterst belangrijk, want het is een definitieve catchall. Denk aan een firewall-beleid voor een moment. De meesten van ons een definitieve regel die zegt: "Als ik niet toestaan dat een specifiek patroon door het verkeer, ontkennen". Met andere woorden, als er iets onverwachts gebeurt, dit is hoe ik wil dat je dit af te handelen.

De bovenstaande verklaring dient hetzelfde doel bij het ontleden van het logbestand. Alle van de vorige "if" verklaringen poging om een specifieke tekenreeks in de log entry om af te stemmen op het goed formaat. Dit item zegt: "Als u nog niet op elkaar afgestemd en drukte een specifieke logboekvermelding nog, het afdrukken in een sectie met de titel" Ongeëvenaarde ** Inzendingen ** ". Deze stap is uiterst belangrijk, omdat zonder dat wij nooit zullen zien onverwachte items. Het is de onverwachte items die waarschijnlijk de belangrijkste en meest interessante.

Samenvatting Exec

Zowel OSSEC logwatch en zijn uitstekende gratis tools. OSSEC excelleert op waarschuw je als een bekende aanvalsvectoren patroon plaatsvindt. Logwatch is een geweldig hulpmiddel voor het samenvatten van een tijd brok van logs, zodat mensen kunnen eigenlijk maken gevoel van wat er gaande is. Door het combineren van de twee tools die je kunt een veel robuuster verdediging in de diepte-houding. Het geheel wordt meer dan de som van de delen.

De combinatie van logwatch en OSSEC - Deel 3

17-02-2010 door Chris Geen commentaar »

In mijn laatste twee posts heb ik overlegd en logwatch OSSEC, alsook hoe zij kunnen benutten om uw veiligheid te vergroten zijn houding. In deze tranche zal ik bespreken hoe de beide tools te installeren.

Installeren logwatch

Logwatch is eenvoudig te installeren. In feite is het standaard geïnstalleerd op een groot aantal Linux-distributies, zodat u wellicht al een kopie op uw systeem. Om te controleren, aanmelden als root en probeer logwatch met de "-v" schakelaar. Als je ziet:

[Root @ Fubar logwatch] # logwatch-v

Logwatch 7.3.6 (uitgebracht 05/19/07)

Logwatch is geïnstalleerd en je hebt een kopie van de laatste versie. Als u niet beschikt over de nieuwste versie, dan kunt u deze uit de grijper logwatch download pagina .

Er zijn drie smaken van logwatch die kunnen worden gedownload; binaries in RPM formaat, bron in RPM formaat of een bron in een tar bal. If your system supports RPM package management, the binary RPM is your best choice. It is simple to install and RPM will automatically update the software when new versions are available.

Installing Logwatch From RPM

To install the binary version of the RPM, simply logon as root and navigate to the directory where you downloaded the RPM file. Now execute the command:

rpm -U logwatch-7.3.6-1.noarch.rpm

Don't forget you can use the tab key to auto-complete the file name rather than having to type in the whole thing.

Installing Logwatch From Source

Installing from source is a bit more time consuming. Remember that in order to install source code you must already have a compiler (like gcc) installed on your system. Logon as root and navigate to the directory where you downloaded the Tar ball. To extract the archive, execute the command:

tar xvzf logwatch-7.3.6.tar.gz

You will see a directory structure below your current location get created and lots of files being copied in. We now need to move into the top most directory that was created:

cd logwatch-7.3.6

In order for Logwatch to run, there are a bunch of directories that need to be created on your system. These are documented in the README in the current directory. Luckily, Logwatch includes an install script that can do all the work for you. Unfortunately, the script has the wrong permissions set so it will not run by default. This is pretty easy to fix however with the chmod command:

chmod 500 install_logwatch.sh

Now we can run the script to setup our system:

./install_logwatch.sh

Don't forget the period at the beginning of the line.

Testing Logwatch

To test your Logwatch setup, execute the command:

logwatch | less

You will see your terminal screen go blank, but that is normal. You will eventually see a Logwatch report get printed to the screen that you can navigate through using the “Page Up” and “Page Down” keys. How log it takes for the report to show up on the screen will depend on how much log information needs to get parsed. It could take a few seconds or a couple of minutes. Either way, it will give you a chance to familiarize yourself with the report format.

Installing OSSEC

As I mentioned in my last post, you have two installation options with OSSEC, local or client/server. In this post I'm going to focus on the client/server setup, as it is a bit more complex. If you are performing a local install, simply select the “local” option during the install process and skip the section on setting up a secure channel between the agent and the server.

Start With The Server

OSSEC uses Blowfish encryption to secure communication between the client and the server. Blowfish is symmetrical key based, so both sides must know what key value to use in order to communicate. The server is responsible for generating the symmetrical key, so we have to install the server software first. During the client install we will be prompted for a key value so obviously we will need to have that handy ahead of time.

Here's a time saving tip. The key value is long and nearly impossible to remember. The easiest way to move the key value from the server system to the agent system is to use SSH. Create a secure connection to the OSSEC server, and extract the appropriate key (directions provided below). In a second terminal window, create an SSH session to the system where you will be installing the agent. When the client install prompts you for the key value, you can simply copy/paste between the two terminals.

Installing The OSSEC Server

The server software is available as a Tar ball, so you can grab a copy of the latest version from the OSSEC download page . You will then need to extract the contents of the Tar ball:

tar xvzf ossec-hids-2.3.tar.gz

Next, move into the directory structure you just created:

cd ossec-hids-2.3

OSSEC provides an install script to walk you through the process of installing the server. To start the script, type:

./install.sh

Don't forget the period at the beginning of the command. You will now be prompted through a number of install options:

  • Language – The default is English. Change as needed.
  • Confirmation of installation – Press Enter once you have read the screen.
  • Install type – Type in “server” without the quotes and press Enter.
  • Install location – Accept the default.
  • E-mail notification – Default is yes, select if you want e-mail alerts. If you select yes, you will be prompted for a valid e-mail address and mail server.
  • Integrity check – Default is yes. Select if you want the local system periodically checked for intrusions.
  • Root kit detection – Default is yes. Good option since we need to maintain a high level of integrity on this system.
  • Active response – Default is yes. Select this option if you wish to be able to respond to events.
  • Firewall drop – Permits the OSSEC server to defend it self if a direct attack is detected.
  • White list – This will permit you to add IP addresses from which possible attacks will be ignored. Be careful with this option. If you will not have console access to the OSSEC server, it might be wise to identify one IP address that can always get in. Just ensure the source IP is a trustworthy system.
  • Enable Syslog – Default is yes. Select this option if you wish to collect logs from system that cannot run an OSSEC agent (like firewalls, switches, routers, access points, etc.).
  • Log files to be monitored – This screen identifies all of the local log files OSSEC will monitor. It is purely information, so all you can do is press Enter to move past it. If you notice one or more log files missing from the list, you can add them later to the ossec.conf file.

At this point OSSEC will access the local complier and install all needed files onto the system. Once complete, you can start the OSSEC server by executing the command:

/var/ossec/bin/ossec-control start

Defining OSSEC Agents

We are not done with the OSSEC server just yet. Next, we need to pre-define any systems that will be running the OSSEC agent (client) software. This is performed using the manage_agents command. First however, we need to do a bit of homework. Make a list of all of the systems that will be running the OSSEC agent software. For each system, you will need a descriptive name as well as that system's IP address.

Now, execute the following from the command line:

/var/ossec/bin/manage_agents

Dit levert de Agent Manager hoofdmenu. Druk op "A" gevolgd door de Enter-toets om uw eerste systeem te definiëren. Voer een beschrijvende naam voor het eerste systeem, gevolgd door het systeem IP-adres. Maak je geen zorgen over de agent ID-nummer. Gewoon accepteren de standaard en OSSEC zal automatisch toekennen van de eerstvolgende beschikbare ID-nummer. Zodra u de informatie te bevestigen die u hebt ingevoerd, keert u terug naar de Agent Manager hoofdmenu. Herhaal de bovenstaande procedure voor elk systeem dat zal worden uitgevoerd OSSEC een agent.

Het genereren van Keys

Zodra u hebt toegevoegd in al uw systemen, is het tijd om encryptiesleutels te genereren. Deze stap is ook uitgevoerd met de manage_agents utility. Als u het gereedschap gesloten na de laatste stap gemaakt, nu het weer op gang brengen.

Druk op de toets "E" gevolgd door Enter om het als "uittreksel sleutel voor een agent" menuoptie te selecteren. Vervolgens wordt u gevraagd om het ID-nummer van de toets die u wilt uitpakken. De beschrijvende namen en IP-adressen worden vermeld met elk ID-nummer, dus het moet triviaal om te bepalen welke u wilt. Begin met het systeem dat u van plan om de software te installeren op agent eerst.

OSSEC Agent Installatie op Linux

Bij het installeren van de agent-software op een Linux-of UNIX-client, gebruik je exact dezelfde Tar bal die we gebruikt om de server software te installeren. Run op dezelfde install script, maar deze keer wanneer u wordt gevraagd voor het type installatie u wilt uitvoeren, type in "agent", gevolgd door de Enter-toets.

installeren van de client heeft veel van dezelfde vragen als de server te installeren. Gebruik de info hierboven om u te begeleiden door het proces. De melding dat echter zal variëren is dat u wordt gevraagd om het IP-adres van de server OSSEC bieden. Na voltooiing zal OSSEC toegang tot de lokale compiler en installeert alle benodigde bestanden op het systeem.

Vervolgens moeten we het Blowfish-toets te importeren vanuit het OSSEC server. Hoewel nog steeds aan de agent-systeem, het volgende commando:

/ Var / ossec / bin / manage_agents

Wanneer de Agent Manager-menu verschijnt, selecteer "I" om het Blowfish-toets te importeren.

Toen de volgende prompt verschijnt, moet u handmatig de juiste Blowfish-toets. Nogmaals, als u werkt met SSH om beide systemen op hetzelfde moment, je kunt gewoon copy / paste tussen de twee terminals. Zorg ervoor dat de sleutel lijkt correct, drukt u op de Enter-toets, en kies vervolgens "y" om te bevestigen dat de sleutel juiste looks. U gaat terug naar de Agent Manager menu. Selecteer "q" om terug te keren naar de command line.

Nu hebben we gewoon nodig om de OSSEC agent te starten. U kunt dit doen door het volgende commando:

/ Var / ossec / bin / ossec-controle start

U ziet alle OSSEC agent onderdelen te starten, gevolgd door een 'voltooid' wordt weergegeven.

OSSEC Agent installeren op Windows

OSSEC heeft een zelfuitpakkend uitvoerbaar bestand dat zal u toelaten om de agent-software installeren op een Windows-systeem. Door te dubbelklikken op het uitvoerbare om te beginnen met de installatie. U wordt gevraagd akkoord te gaan met de licentie alsmede welke onderdelen u wilt installeren. Volg gewoon de aanwijzingen tot aan de OSSEC Agent Manager-venster verschijnt.

De OSSEC Agent Manager venster zal u vragen om het IP-adres van de OSSEC server. Het zal u ook vragen om de sleutel Blowfish waarde om te gebruiken, dus haalt de desbetreffende toets op de server en voer de waarde in dit veld. Zorg ervoor dat u verwijdert u de prompt binnen dit gebied voordat je plakken in de Blowfish-toets. Anders communicatie met de server kan mislukken.

Selecteer vervolgens "Beheer" uit de OSSEC Agent Manager menu, gevolgd door "Start OSSEC". Je moet nu de "Status zie:" indicator te veranderen in "Running ...".

Testen OSSEC

Zodra u de server en agent-software geïnstalleerd, gestart en de passende sleutels geconfigureerd, is het nu tijd om onze setup te testen. Voer de volgende opdracht op de OSSEC server:

cd / var / ossec / logs

En check out de ossec.log bestand:

minder ossec.log

Controleer het logboekbestand voor eventuele fouten. Een veelgemaakte fout is dat OSSEC rapporten kan sturen geen e-mail. Zorg ervoor dat de e-mail server wordt uitgevoerd en dat het verbindingen accepteren. Zodra u tevreden bent met de server setup, is het nu tijd om te controleren of de agenten. Omlaag om de "waarschuwingen" directory:

cd alerts

En check out de alerts.log bestand:

minder alerts.log

Concreet bent u op zoek naar inzendingen van de volgende strekking:

17 februari 2010 16:09:16 (desktop) 192.168.1.10-> ossec

Regel: 501 (niveau 3) - Nieuwe ossec agent> 'aangesloten.'

Src IP: (geen)

Gebruiker: (geen)

ossec: Agent gestart: 'test_system-> 192.168.1.10 ".

U ziet nu een item voor elk systeem waarop u de installatie van de Agent-software.

Meer te komen

Whow! Dat is meer dan genoeg voor een post! In mijn volgende post zal ik je in hefboomwerking logwatch om alle informatie van de signalering parse wordt opgewekt door OSSEC.

De combinatie van logwatch en OSSEC - Deel 2

February 16th, 2010 by Chris No comments »

In my last post I described how Logwatch could be used to simplify the log review process. In this post we'll look at OSSEC and what it brings to the table.

What Is OSSEC?

OSSEC , short for “Open Source SECurity”, is a host based intrusion detection system (HIDS). In other words, it is designed to detect attacks or policy violations if and when they occur. While it does not have the ability to protect against unknown or 0-Day attacks (that would be host based intrusion prevention), it does include a wide range of tools which can help you identify an intrusion when it occurs, as well as the extent of the damage that has been caused.

Supported Platforms

To take advantage of all of the features OSSEC has to offer, you have to run an agent on the system being protected. OSSEC agents can run on Windows, Mac OS X, Linux, and a wide range of UNIX systems. If you are just interested in the log analysis portion however, an even wider range of systems can be supported. This includes hardware from both Cisco and Juniper. A number of specific products are also supported like Checkpoint firewalls, Symantec Anti-Virus, Snort, Squid, and Arpwatch, just to name a few.

When you install OSSEC you have two configuration options, local or client/server. A local install is used when you need to run everything on a single system. The client/server installation lets you run a distributed environment protecting multiple systems at the same time. While most deployments are client/server based, if you want to give OSSEC a spin you can easily run everything on a single test system using a local install.

Log Analysis

OSSEC includes a Log-based Intrusion Detection System (LIDS). This has the ability to review log files in near real time, while scrutinizing them for known attack patterns. When a log is generated on a protected system, the agent takes care of securely transmitting the log (Blowfish encryption using a pre-shared secret) back to the server. The server then takes care of performing the analysis.

Most log analysis tools process their rules in a linear format. By that I mean if we have 500 rules, rule one is checked, then rule two, then rule three and so on till a match is found or we reach the end of the rule set.  OSSEC works a bit differently as it implements a hieratical structure to the rules. Log entries are first classified and then checked only against whichever rules are appropriate. The result is that rather than needing to process all 500 rules, most events will get checked against 10 rules or less. This dramatically reduces the amount of overhead required to process the rule set.

Integrity Checking

OSSEC includes a tool called Syscheck for performing file and directory integrity checking. If you are running a Windows agent, you can also include specific keys within the Windows registry to be monitored as well. File changes can be detected using both MD-5 and SHA-1 hash algorithms. The system is extremely customizable. You can include or exclude single files, or entire directory structures. You can even set a flag to detect new file creation.

The agent software is designed to use a minimal amount of CPU during the integrity check. While this means the check will take longer, it also helps to minimize the performance hit to the system. Hash information is transmitted back to the server. The server then takes care of performing the hash comparison to see if any of the system's critical files have been changed. The server also stores a copy of the integrity check policy, so that if policy changes are made on the agent, they can be detected and reported as well.

Anomaly detection

OSSEC goes far beyond log checking to verify system integrity. Usage policies can be centrally managed from the server, and then pushed out to the appropriate agents. For example you could define a policy regarding which Windows applications are acceptable (Office, Firefox, etc.) and which ones are not (IM client, Skype, etc.). You can even define acceptable configuration options like verifying that NT hashes are being used for password stored but not LanMan hashes.

OSSEC includes a number of other goodies in order to help verify a system's integrity. For example OSSEC has the ability to execute commands from the agent and monitor the output that gets generated. For example you could have the Linux agent execute the “df” command at regular intervals and generate an alert if disk usage exceeds 90%. A Windows example may be to have OSSEC generate an alert whenever file information is written to the alternate data streams area of NTFS.

Active Response

Finally, OSSEC includes the ability to respond when suspicious activity is detected. Responses can be generated from the server or the agent, which ever you specify. Responses can be as benign as generating an e-mail alert, to being as proactive as blocking a remote IP address for a limited amount of time. There are a number of included active response scripts you can draw on, or you can easily write your own.

Secure Architecture

The OSSEC authors have gone to great lengths to secure all of the components within the product. Tasks such as integrity checking are performed on the server, rather than the agent, so the trustworthiness of the hashes cannot be compromised during an attack. Processes are run with the lowest level of permissions possible, and different accounts are used to run each OSSEC component. This means that a compromise of a single application within OSSEC will not immediately lead to a compromise of the full package. Further, most components are run within a chrooted jail so their access to the system is even further restricted.

Final Words

While OSSEC is a powerful tool, it is important to remember that it is a HIDS and not a log management solution. OSSEC can review log entries looking for suspicious patterns, but it will only save alert information. So while OSSEC will not replace your Security Information Management (SIM) solution, it can most certainly augment it. You can easily setup OSSEC to forward all alerts it generates to a central logging server .

While OSSEC is open source software, Trend Micro is primarily developing it. If you need commercial support, you can purchase a support contract through them at a reasonable fee.

More To Come

In my next installment we'll look at installing OSSEC and Logwatch. After that, we'll move into integrating the two together.

De combinatie van logwatch en OSSEC

February 15th, 2010 by Chris No comments »

I recently had a student ask me a question regarding the integration of Logwatch with OSSEC. I felt like this was a complex and yet cool enough idea that it warranted a series of posts to cover it in full. So over the next few days I'll talk about each of these tools, how to integrate them together, as well as what additional security visibility can be gained once the process is complete.

What Is Logwatch?

Logwatch is an excellent open source tool for generating daily human readable log reports. Log entries tend to fall into one of three categories:

  • Stuff you know is evil
  • Stuff you know is normal and can be safely ignored
  • Everything else

It is that “everything else” category where Logwatch really shines. For the stuff we know is evil, we will setup some form of alerting system. For example we may write an alert signature that warns the security analyst when an account is being brute forced. But what about the attacks we don't know about or are not sure what they look like? This would be a clear example of that “everything else” category. The traffic is not normal, but we have not seen it before to have a signature waiting to generate an alert. Since we will be unable to catch the attack in real time, we will need to catch it during a daily log review.

Of course the problem with doing daily log reviews is that it is tedious and time consuming. I mean let's be honest, who really wants to spend their day reviewing one million plus log entries? Even if you did, are you sure you would actually catch the out of the ordinary traffic?

How It Works

What Logwatch does very well is permit you to reorganize your data into a format that is easier for humans to follow. Its real strength is that it permits you to move the stuff you understand out of the way (normal or evil), so that the unexpected log entries stand out like a sore thumb. In other words, Logwatch lets you summarize your log entries so the unusual stuff is easier to spot.

What I really love about Logwatch is that you don't lose anything. Many log review tools will only show you the stuff that has been pre-defined as being evil. The problem they all share is that when something evil but unexpected happens, it flies right under the wire. Because Logwatch lets you see everything, you no longer miss the unexpected.

Logwatch In Action

Lets discuss how Logwatch works using the SSH server service as an example. The scripts to deal with SSH have already been defined within Logwatch, so you do not need to do any tweaking to receive the features we are going to discuss.

When reviewing a log file, the first thing Logwatch does is reorganize log entries based on their message types. For example all Successful SSH logons are grouped together, as well as too many logon failures, refused connections, locked accounts, accounts without a proper shell, protocol mis-matches, etc. etc. etc. Once all the SSH messages are grouped by their type, the data is then summarized to reduce the amount of information being reported.

For example, the default is to summarize failed logon attempts by account and source IP. So a typical failed logon report section might look like this:

Failed logins from these:

bsmith/password from 1.2.3.4: 637 time(s)

jsmith/password from 1.2.3.5: 2 time(s)

So rather than having to review 639 log entries reporting a bad logon attempt, we have all the pertinent information summarized into three lines (if you include the title). Continue this process for all of the other SSH messages, and we have dramatically reduced the amount of time required to review our logs.

But what if something happens that Logwatch is not pre-programmed to recognize? When an unexpected log entry is found, Logwatch adds a section to the end of the service report called “Unmatched Entries”. So if we see this title in the SSH server section, we know some event has occurred that is either abnormal or unexpected for the SSH service. This could very well be some form of attack that we are not aware is making the rounds.

By focusing in on the unmatched entries section, we can quickly identify unexpected activity. As I stated earlier, this is really the main goal of doing daily log reviews. To find the stuff we don't expect which will sneak past our alerting system. Logwatch makes this process as quick and as painless as possible.

Feature Summary

In the above example I talked about doing daily log reviews, but to be honest Logwatch is highly customizable. You can specify any range you wish to use down to an interval of one second. For example let's say I'm investigating an intrusion rather than performing a daily log review. I could specify a range such as “2010/02/14 17:05:00 for that hour” to focus right in on the information that interest me. I can also focus in on one specific log file or service.

The detail level of the report is also customizable. Typically when you deal with security you get in the habit of always wanting the highest detail level of reporting. To be honest, with Logwatch a high level of detail is probably more than you will ever need. Personally I typically stick with “med” for medium and that works out nicely. You can also specify the reporting level as “low” or “high” or use a numeric range of 0-10 for a higher level of granularity (low =0, med=5, high=10).

Logwatch can be run automatically or as a manual process. Typically you will want to set it up to run automatically each day and summarize one day's worth of log entries. If you ever need to expand or focus the report, you can always run Logwatch from the command line while specifying exactly what you want to see. You can then use the “–save” option to specify a report name and directory location for storage.

More To Come

The above should give you a good idea as to the features Logwatch can bring to the table. In the next post I'll discuss OSSEC in the same level of detail. After that, I'll get into how to install each tool as well as how to integrate them together.

Dag 2 Keynote

January 12th, 2010 by Chris No comments »

Dank aan allen die uitkwam op de codering / DLP top. Hier zijn de slides van mijn keynote op dag 2.

encryptie-DLP-keynote