Vmx-fil. Filändelsen VMX

Många användare använder redan virtualiseringstekniker för att köra flera operativsystem samtidigt på ett fysisk dator för en mängd olika uppgifter. Desktop-virtualiseringsplattformar blir mer funktionella, prisvärda och bekväma och i snabbare takt hårdvara möjliggöra virtualisering för att hitta ökande användarsupport. Plattformstillverkare ägnar stor uppmärksamhet åt utvecklingen av stationära virtualiseringssystem, riktade till både IT-proffs och hemanvändare som installerar flera operativsystem för utbildning, testning programvara och skapa bärbara, hårdvaruoberoende miljöer.

VMware, en av de mest erfarna aktörerna på virtualiseringsmarknaden, erbjuder sin VMware Workstation-plattform för små organisationer och IT-proffs för nya sätt att lösa vardagliga problem. Under sin nästan tioåriga historia av plattformsutveckling har VMware strävat efter att göra den så flexibel och kraftfull som möjligt så att det största segmentet av användare kan uppleva alla fördelar med virtualisering, samtidigt som de arbetar med ett enkelt och intuitivt gränssnitt.

När du distribuerar virtuella skrivbord i en organisation och använder virtuella maskiner hemma kräver ofta mer finjustering plattformar för att anpassa den till den befintliga användarmiljön. VMware Workstation har många verktyg för konfigurering, både själva plattformen och virtuella system, tillgängliga inte bara via ett grafiskt användargränssnitt. VMware ger systemadministratörer och entusiaster virtuella hanteringsverktyg som hjälper dem att få ut mesta möjliga av sina virtuella maskiner. Den här artikeln visar hur du använder dessa verktyg på ett klokt sätt och konfigurerar några icke-uppenbara plattforms- och virtuella systemparametrar.

Om VMware Workstation 6

VMware-arbetsstationens virtualiseringsplattform riktar sig främst till IT-proffs och hemanvändare som behöver skapa flexibla virtuella miljöer för en mängd olika uppgifter. Plattformens många verktyg låter dig köra flera virtuella maskiner på en fysisk dator och hantera dem så enkelt som möjligt. Samtidigt gömmer sig bakom användargränssnittets enkelhet fantastiska konfigurationsalternativ för olika parametrar för att uppnå bästa effekt från virtuella system. När virtuella skrivbord distribueras i en företagsinfrastruktur baserad på VMware Workstation, får systemadministratörer verktyg för att enkelt konfigurera en virtualiseringsmiljö, som innehåller konfigurationsfiler, verktyg kommandorad för att arbeta med plattformen och virtuella maskiner, samt fönsterapplikationer för konfigurering av nätverk och virtuella skivor.

Viktiga funktioner i VMware Workstation 6

Den sjätte versionen av VMware Workstation, med bibehållen alla fördelar med den femte versionen, har fått många nya intressanta funktioner, som praktiskt taget saknas i någon av de liknande plattformarna för skrivbordsvirtualisering. Fokuserad på programvaruutveckling och testapplikationer stöder VMware Workstation ett brett utbud av gäst- och värdsystem och har många specialiserade applikationsfelsökningsverktyg. De viktigaste funktionerna i VMware Workstation 6 inkluderar:

  • stöd för värd OS Windows och Linux
  • förmågan att köra 32- och 64-bitars gästsystem
  • stöd för flera skärmar när du arbetar med ett gäst-operativsystem i helskärmsläge
  • upp till 8 GB slumpmässigt åtkomstminne för en virtuell maskin
  • upp till 2 virtuella processorer och upp till 10 virtuella nätverkskort i gästsystemet
  • förmågan att spela in virtuell maskinaktivitet (både i videoformat och på åtgärdsnivån inom gästsystemet)
  • skapa enkelt systembackups och få obegränsade ögonblicksbilder av gästsystem
  • uSB 2.0-stöd
  • inbyggd VNC-server
  • flexibel hantering av virtuella nätverk och diskar
  • specialiserat API (Application Program Interface) för automatisering av administrativa uppgifter (finns i C)

VMware Player 2.0

VMware ger användare en bra gratis verktyg att köra flera virtuella maskiner på en enda fysisk värd för programvarudemonstration, programvara som en tjänst (SaaS) genom virtuella apparater och testning av sandbox-programvara. VMware Player tillåter dig inte att skapa virtuella maskiner och använda några av de funktioner som är inneboende i en fullfjädrad virtualiseringsplattform, men som ett verktyg för att lansera färdiga mallar, som nu finns rikligt på marknaden, är det en lämplig lösning. Produkten levereras med VMware Workstation 6 (vmplayer.exe) eller kan laddas ner separat från VMwares webbplats. Viktiga produktfunktioner inkluderar:

  • kör 32- och 64-bitars gästsystem
  • stöd för 2 virtuella processorer
  • förmågan att använda virtuella system från tredjepartsleverantörer (Microsoft och Symantec)
  • flera dussin gästsystem som stöds
  • skapa en gemensam filutbytesmiljö mellan värden och gästsystemet
  • uSB 2.0-stöd
  • förmågan att visa sammanfattande information i en virtuell mall (Appliance View)
  • intuitivt gränssnitt som liknar en vanlig videospelare

Mallar för virtuella maskiner vinner popularitet nu och kommer snart att uppta sin nisch i leverans av programvara till slutanvändare. Sedan gratis öppen källkod oS blir mer stabil och tillgänglig kan ISV: er distribuera sina applikationer i en låda med en virtuell maskin. I detta avseende är den kostnadsfria VMware Player en av de bästa lösningarna i detta schema.

Dessutom är VMware Player lämplig för att köra virtuella användarmiljöer som skapats med produkten. Dessa system kan skyddas av säkerhetspolicyer och överföras till slutanvändare för begränsad användning av virtuella mallar, till exempel på prövotid tid.

Administrera VMware Workstation 6-plattformen

Bland de många virtualiseringssystem som för närvarande finns, sticker VMware Workstation 6 ut för mångfalden och flexibiliteten i verktyg för administration, både själva plattformen och virtuella maskiner. I synnerhet låter plattformen dig anpassa dina parametrar och parametrar för virtuella maskiner genom en praktisk grafik användargränssnitt, samt genom konfigurationsfilerna * .ini (för VMware Workstation själv) och * .vmx (för var och en av de virtuella maskinerna). Hantering av virtuella maskiner kan också göras på två sätt: lokalt via GUI (grafiskt användargränssnitt) och via kommandoradsgränssnittet (CLI, kommandoradsgränssnitt) lokalt eller på distans. Dessutom kan användare använda verktyget vmware-vdiskmanager.exe för olika operationer med virtuella skivor, och verktyget vmware-mount.exe för montering av virtuella diskar till värdsystemet som logiska (denna funktion finns nu tillgänglig i VMware Workstation 6 från GUI-konsolen också).

En av de vanligaste användningarna för VMware Workstation-plattformen är att förbättra effektiviteten i utvecklings- och testprocessen, så i den sjätte versionen finns det flera innovationer som läggs till specifikt för detta.

Konfigurera miljöinställningar för VMware Workstation 6

Med VMware Workstation-plattformen kan du flexibelt konfigurera miljöinställningarna för att stödja virtuella system och skapa en användarvänlig miljö. Plattformsinställningarna kan ändras på två sätt: genom att redigera Preferences.ini-filen i mappen% USERPROFILE% Application DataVMware och med hjälp av det grafiska användargränssnittet.

Filen Preferences.ini har flera avsnitt för att ställa in miljön. Redigering av följande parametrar är av största intresse:

  • pref.view.toolbars.list - låter dig styra de visade menyalternativen
  • pref.ws.currentObj - inställningar för den virtuella maskinen som valts vid start av arbetsstationen
  • pref.ws.openedObj - öppna parametrar för virtuella system
  • mks.noBeep \u003d "SANT" - inaktiverar pip från virtuella maskiner
  • pref.placement - styr positionen för arbetsstationsfönstret

Om du vill redigera inställningarna via användargränssnittet väljer du alternativet Inställningar i menyn Redigera.

I det här fönstret kan du konfigurera arbetsplatsmiljön för VMware Workstation:

  • Standardmapp där virtuella maskiner kommer att finnas (standardplats)
  • Sparar tillstånd öppna flikar med virtuella maskiner (Kom ihåg öppnade flikar)
  • Möjlighet att köra virtuella maskiner i bakgrunden efter stängning av Workstation-konsolen (Kör i bakgrunden)
  • Aktivera alla delade mappar
  • Visa fackikon
  • Standardgenerering av maskinvara
  • Sök efter uppdateringar

På fliken Ingång kan du konfigurera följande parametrar:

  • Flytta fokus till gästsystem på ett musklick i gästsystemets konsolområde (greppa med musklick)
  • Överför fokus till gästsystemet genom att trycka på en tangent på tangentbordet (greppa om tangenttryckning)
  • Ta bort när markören lämnar fokus till värdsystemet
  • Dölj markören när du tar bort fokus från gästsystemet (Hide Cursor)
  • Ta tag när markören går in

På nästa flik kan du konfigurera snabbtangenter:

Den virtuella maskinen måste startas om för att spara dessa inställningar. För att trycka på en kombination som innehåller Ctrl + Alt i den virtuella maskinen, tryck Ctrl + Alt + Mellanslag, släpp sedan mellanslag och tryck på önskad tangent.

På nästa flik kan du konfigurera visningsinställningarna för grafiska konsoler:

Här kan du ställa in automatisk justering av arbetsstationsfönstret och gästsystemets behörigheter (kräver VMware-verktyg) - alternativet Autofit, samt parametrarna för helskärmsläge, som kan bytas till genom att trycka på Ctrl + Alt + Enter.

På fliken Verktyg kan du aktivera automatisk uppdatering VMware Tools nästa gång gästen startar. På fliken Minne kan du hantera parametrarna för minne som tilldelats virtuella maskiner.

Här kan du konfigurera den totala mängden minne som tilldelas virtuella system, samt möjligheten att använda personsökningsfiler (* .vmem-filer i mappen med den virtuella maskinen).

Nästa flik, Prioritet, ställer in prioriteten för virtuella maskiner i fokus och inte i fokus (Input grabbed och unrabbed).

När du ställer in prioriteten för varje virtuell maskin i dess egenskaper kommer dessa inställningar att åsidosättas. Här kan du också inaktivera skapandet av ögonblicksbilder av gästsystemet i bakgrunden.

På fliken Enheter kan du aktivera eller inaktivera autouppspelning av CD / DVD-enheter i värdsystemet. VMware rekommenderar att du inaktiverar automatisk körning eftersom det kan orsaka oväntat beteende i virtuella system.

Den sista fliken låter dig ställa in ett administrativt lösenord för att skapa virtuella maskiner, ändra deras inställningar och hantera nätverkskommunikation.

Man bör komma ihåg att inställningarna för var och en av de virtuella maskinerna i de flesta fall åsidosätter de globala inställningarna som beskrivs ovan.

Arbeta med virtuella diskar

VMware Workstation låter dig skapa flera typer av virtuella diskar, som alla är tillämpliga på ett annat användningsfall. När du skapar en virtuell maskin kan du välja en av två typer av diskar:

  • förfördelad (den angivna mängden disk reserveras omedelbart, medan det oanvända utrymmet fylls med nollbyte)
  • odlingsbar (skivan växer när den fylls)

Den första typen rekommenderas för virtuella maskiner vars applikationer är känsliga för I / O-operationer och kräver hög prestanda för disksystemet, den andra låter dig spara värd diskutrymme. När du skapar en virtuell maskin kan du också partitionera disken i 2 GB-block, vilket är mycket viktigt om du planerar att använda den på filsystem som inte stöder stora filstorlekar (till exempel FAT32).

Dessutom är skivor som skapas i Workstation beroende, det vill säga de är involverade i att skapa ögonblicksbilder av systemet och oberoende, som behåller sitt tillstånd oavsett snapshots. I det här fallet är oberoende skivor i sin tur uppdelade i permanenta (beständiga) och tillfälliga (icke-bestående). Den första typen är bekväm för att lagra filer som inte kommer att ändras när du rullar tillbaka till ögonblicksbilder (till exempel distributionsförvar), den andra är lämplig för olika typer av experiment: ändringar av icke-permanenta diskar sparas inte när den virtuella maskinen stängs av eller rullas tillbaka till en ögonblicksbild. Dessutom tillåter VMware Workstation att du använder de fysiska skivorna i värdsystemet direkt (det här alternativet är ganska farligt på grund av eventuell dataförlust).

Ur administrativa uppgifter är det nödvändigt att regelbundet defragmentera diskarna på virtuella maskiner och i följande ordning:

  • diskar i gästsystemet
  • fil på en virtuell disk med VMware Workstation (menyalternativ "Defragmentering" med knappen "Utilities" i egenskaperna för den virtuella disken)
  • värdsystemets diskar

Den virtuella skivan kan också monteras på värdsystemet (menyalternativet "Map" med knappen "Utilities" i egenskaperna för den virtuella skivan) och kontrolleras med hjälp av scandisk-verktyget.

Konfigurera nätverkskommunikationsparametrar

VMware Workstation-plattformen är mycket kapabel att konfigurera nätverk mellan virtuella maskiner och värdsystemet. När du skapar en virtuell nätverksadapter kan du ange en av fyra typer av nätverkskommunikation:

  • Överbryggad (resurserna för det virtuella nätverksadaptern delas med värdens fysiska adapter, vilket gör att den virtuella maskinen kan ha sin egen externa IP-adress och bete sig i förhållande till det externa nätverket som en oberoende dator)
  • Endast värd (den virtuella maskinen kommunicerar endast inom värden och får en IP-adress från den inbyggda DHCP-servern)
  • NAT (den virtuella maskinen kan initiera anslutningar till det externa nätverket via den inbyggda NAT-servern i VMware, men syns inte från det externa nätverket, medan den interna IP-adressen också tilldelas av DHCP-servern)
  • Beställnings (nätverksadaptern ansluts till det valda nätverksnavet, inom vilket nätverkskommunikation äger rum)

Dessutom tillåter VMware Workstation-plattformen att du flexibelt kan konfigurera virtuellt nätverk i värdsystemet med hjälp av verktyget Virtual Network Editor (vmnetcfg.exe), vilket gör att du kan binda virtuella och fysiska nätverkskort till virtuella nätverkshubbar, samt binda en DHCP-server och NAT-enhet. När du konfigurerar nätverk av virtuella maskiner måste du ägna särskild uppmärksamhet åt system med den överbryggade typen av interaktion, eftersom de "ser" in i det externa nätverket och behöver samma skydd som värd OS.

Använda utvecklings- och testverktyg

Ett av de viktigaste användningsfallet för VMware Workstation är mjukvaruutveckling och testning, varför VMware har inkluderat flera specialverktyg för detta ändamål i sin plattform. I synnerhet kan tillägg användas med VMware Workstation för att integreras med Visual Studio (endast Windows) och Eclipse (Windows och Linux) utvecklingsmiljöer för att förenkla processen för felsökning av programvara i virtuella maskiner (Workstation IDE). När du konfigurerar verktygen måste du ange sökvägen till det virtuella systemet, vilket installationsskript som ska köras och platsen för de delade mapparna. Därefter startar den integrerade virtuella felsökaren den virtuella maskinen, konfigurerar miljön i enlighet med de angivna parametrarna och startar applikationen, eller "klamrar sig fast" i det önskade programmet och startar en felsökningssession. När programmet är klart stannar felsökaren, startar om den virtuella maskinen eller sparar dess tillstånd beroende på inställningarna.

Installation av virtuella avlusare kan göras under installationen av VMware Workstation under valet av alternativ. För felsökning med Visual Studio 2005 kan Remote Debug Monitor (msvsmon.exe) användas, som stöder fjärrfelsökningsfunktionalitet. Vid integration med Eclipse, efter installation av plugin-programmet för Workstation, i Eclipse-miljön, i Debug-menyn, kommer nya objekt att visas: "VMware bifoga till applikation" och "VMware kör Java-program", som du kan felsöka i den virtuella maskinen. Mer detaljerad information Du kan läsa om VMware-integrerade virtuella avlusare i.

Dessutom är det mycket användbart att använda icke-bestående diskar under utveckling och testning, vars ändringar inte sparas när sessionen med den virtuella maskinen stängs. När du arbetar med sådana diskar lagras alla deras ändringar i om-loggen, som antingen kan raderas i slutet av den virtuella maskinens operation eller tillämpas på vmdk-skivan och därmed bibehålla dess tillstånd.

Konfigurera parametrar för virtuella maskiner via VMX-filer

VMware virtuella maskiner använder universellt format * .vmx-konfigurationsfiler genom att redigera vilka systemadministratörer och vanliga användare som kan hantera olika parametrar för virtuella maskiner och gästsystem. Vmx-filen finns i mappen med den virtuella maskinen och kan ändras i valfri textredigerare... Den fullständiga listan med parametrar för vmx-filer innehåller flera hundra objekt. Genom att redigera dem kan du styra virtuell maskinvara, virtuell maskinbeteende, interaktion med värdsystemet, ögonblicksbilder och många andra egenskaper hos virtuella system. Följande är en lista över de viktigaste och mest intressanta vmx-filparametrarna som kommer att vara användbara i fall där specifik konfiguration av virtuella maskiner krävs som går utöver användargränssnittet för VMware Workstation-plattformen. Observera att dessa parametrar kanske inte fungerar i alla versioner av produkten, och vissa parametrar är experimentella just nu och kan påverka stabiliteten hos virtuella maskiner och plattformen i allmänhet, så använd dem med stor försiktighet.

ParameterBeskrivning
mks.enable3d \u003d "true"
svga.maxHeight \u003d "800"
svga.maxWidth \u003d "1280"
Aktivera experimentellt stöd för 3D-grafik och ställa in SVGA-parametrar (hjälper till med problem med icke-standardupplösningar)
mks.maxRefreshRate \u003d 1000Lösa problemet när det är omöjligt att byta till fullskärmsläge gästsystem
mks.movie.config.high.recordSound \u003d "true"Aktivera ljudinspelningsläge när du spelar in virtuell maskinaktivitet (fånga filmfunktion)
bios.bootDelay \u003d "5000"Ställa in fördröjningen innan du startar gästsystemet
mainMem.useNamedFile \u003d "true"Att ställa in värdet på falskt inaktiverar den namngivna swap-filen (vmem)
msg.autoAnswer \u003d "SANT"Försöker svara automatiskt på meddelanden som visas under den virtuella maskinens startprocess
uuid.action \u003d "skapa"
uuid.action \u003d "behåll"
Skapa automatiskt en ny (skapa) eller behåll den gamla (behåll) en unik virtuell maskinidentifierare (UUID) när du migrerar till en annan värd (om maskinen kopieras till en annan dator medan den gamla kopian behålls, ställ in "skapa")
logging \u003d "TRUE"Aktiverar loggning
log.fileName \u003d "vm.log"Installera en fil för lagring av loggar
usb.analyzer.enable \u003d "SANT"Aktiverar loggning av USB-enheter
log.keepOld \u003d 3Ställa in antalet lagrade loggar
hypervisor.xen.allowAktivera experimentellt stöd för paravirtualiserade gästkärnor för Xen hypervisor (ej dokumenterad funktion)
disk.locking \u003d "false"Inaktivera exklusiv åtkomst till * .vmdk-filer (inaktivera funktionerna för * .lck-filer)
gui.restricted \u003d "SANT"Inaktivera funktioner för hantering av en virtuell maskin (Start, Stop, Suspend) och redigering av dess egenskaper (nätverksinteraktion, ögonblicksbilder). Maskinen startar dubbelklicka av vmx-fil och stängs via "File-\u003e Exit"

Det bör noteras att alla inställningar för virtuella maskiner som görs via användargränssnittet registreras i vmx-filer. Att redigera deras parametrar är särskilt effektivt vid problem med virtuella enhetersom oftast visas på äldre eller experimentellt gästsystem. För att få ut det mesta fullständig information om strukturen för vmx-filen kan du besöka den specialiserade resursen.

Arbeta med virtuella maskiner via kommandoradsgränssnittet

I mappen där VMware Workstation 6-plattformen är installerad finns det flera användbara program för att manipulera virtuella maskiner, arbeta med virtuella diskar och hantera nätverkskommunikation (verktygen vmrun.exe, vmware-vdiskmanager.exe och vmnetcfg.exe). Den senare har ett grafiskt gränssnitt och liknar inställningen för Virtual Network Editor i själva plattformen. Med verktyget vmware-vdiskmanager kan du hantera virtuella skivor för gästsystem och används oftast för att utöka dem. Mer detaljerad information om vmware-vdiskmanager kan hittas genom att köra den med "/?" från kommandoraden.

Verktyget vmrun är mest intressant för systemadministratörersom vill automatisera aktiviteterna för att hantera flera virtuella system... Förutom att hantera kraften hos virtuella maskiner, låter detta verktyg dig interagera med filsystem gäst-OS, samt organisera utbyte av filer via delade mappar eller kopiera dem direkt. Syntaxen för att använda vmrun.exe är som följer:

vmrun

En fullständig lista med parametrar för verktyget vmrun presenteras nedan.

KommandoalternativBeskrivning
Energihantering
start Startar en virtuell maskin eller ett VM-team
sluta
Stoppa en virtuell maskin eller ett VM-team
(programvara eller hårdvara)
återställa
Starta om den virtuella maskinen eller VM-teamet
(programvara eller hårdvara)
uppskjuta
Spara tillståndet för den virtuella maskinen eller VM Team (paus, programvara eller maskinvara)
Hantering av ögonblicksbild
listSnapshots Lista ögonblicksbilder av en virtuell maskin
ögonblicksbild
Skapa en ögonblicksbild av en virtuell maskin med ett givet namn
deleteSnapshot
Ta bort en ögonblicksbild med ett givet namn
revertToSnapshot
Återställ en virtuell maskin till en viss ögonblicksbild
Kommandon för operationer i gäst-operativsystemet
runProgramInGuest

[alternativ]

Kör programmet i gästsystemet med angivna kommandoradsparametrar
fileExistsInGuest
Kontrollerar om en viss fil finns i gästsystemet
setSharedFolderStateÄndra sökvägen till en delad mapp på värdsystemet
addSharedFolderLägga till en delad mapp för den virtuella maskinen och värdsystemet
removeSharedFolder
Radera en delad mapp
listProcessesInGuest Få en lista över processer i gäst-operativsystemet
killProcessInGuest
Avsluta en process i ett gäst-OS med ett visst ID
runScriptInGuestKöra ett skript i ett gäst-OS
deleteFileInGuest
Ta bort en fil i gäst-operativsystemet
createDirectoryInGuest
Skapa en mapp i gäst-operativsystemet
deleteDirectoryInGuest
Ta bort en mapp i gäst-operativsystemet
listDirectoryInGuest
Få en lista över innehållet i en viss mapp i gäst-operativsystemet
copyFileFromHostToGuestOSKopiera en fil från värden till gästen
copyFileFromGuestToHostOSKopierar fil från gäst till värdsystem
renameFileInGuestByta namn på en fil i gäst-operativsystemet
Vanliga kommandon
lista Få en lista över alla virtuella maskiner som körs
uppgradevm Förbättring av virtuell maskin (avancerad hårdvarugenerering)
installationsverktyg Installera VMware-verktyg i ett gäst-operativsystem

Vmrun-verktyget kan också användas inte bara för lokalt utan också för fjärrkontroll virtuella maskiner. För att göra detta måste följande autentiseringsflaggor anges som ytterligare parametrar:

-h
-P
-u
-p
-gu
-gp

Verktyget vmrun kan också användas framgångsrikt av programvaruutvecklare från tredje part för VMware Workstation 6-plattformen.

Slutsats

VMware Workstation-plattformen är mycket flexibel och effektivt verktyg för stationär virtualisering. Idag har kanske ingen annan plattform i den här klassen en sådan uppsättning anpassningsbara parametrar och inbyggda verktyg för en mängd olika användaruppgifter. Användningen av VMware Workstation i applikationstestning (särskilt konfiguration och installationstestning) har blivit de facto-standarden i många företag för mjukvaruutveckling. Många verktyg för felsökning och test av applikationer gör VMware Workstation till ett måste för programmerare och testare. Hemanvändare kommer säkert att hitta användning, både den kostnadsfria VMware Player för att köra förkonfigurerade virtuella mallar och den betalda arbetsstationen för utbildning, isolering av användarmiljöer och skapande av bärbara virtuella miljöer.

De närmaste konkurrenterna för VMware Workstation just nu är InnoTeks VirtualBox-produkter (gratis för hemmabruk) och Microsofts virtuella PC (gratis), som har betydligt mindre kapacitet jämfört med Workstation, till exempel när det gäller virtuella diskar, nätverk och antalet stödda gäst- och värdsystem. Ändå är alla dessa produkter lämpliga för hemmabruk, men för yrkesverksamma kan du verkligen använda VMware Workstation för att uppleva effekten av stationär virtualisering.

Från Robert Patton på VMX-filinställningar för virtuella datorer för att hantera specifika sårbarheter. Som vanligt är översättningen partisk 🙂

Om du har arbetat lite med VMware-produkter har du förmodligen lagt märke till VMX-filerna. Varje VMX innehåller nästan alla virtuella maskininställningar och har också flera ytterligare inställningarsom inte kan läggas till från det grafiska gränssnittet, men bara kan läggas till med redigeraren från konsolen. I denna handledning kommer jag att beskriva flera alternativ för att skydda dig från sårbarheter i VMware Tools och för att täcka kanalerna mellan gäst-operativsystemet och värden.
Parametrarna, som vi kommer att prata om, har redan påträffats mer än en gång i olika källor. Men det finns nästan ingen information om exakt vad de gör och vad de är avsedda för. Många av dessa alternativ är inte tillämpliga på ESX 3.5. Därför försöker jag förklara syftet med dessa parametrar istället för att publicera en annan lista. Även om du inte kommer att fokusera på att öka säkerheten, fortsätt läsa och kanske kan vi öppna dina ögon för säkerhetshål i din infrastruktur.
Jag gillar att använda en massa PUTTY och VI för att redigera VMX-filer. Kopiera bara listan över parametrar i slutet av artikeln till Urklipp, öppna VMX-filen i VI och klicka höger knapp musen i infogningsläge för att infoga text. Om du inte känner till VI-gränssnittet kommer det att finnas en kort referens i slutet av artikeln.
Du kan också lägga till dessa parametrar genom VI-klienten genom att högerklicka på VM-namnet genom att välja Ändra inställningar ..., flik alternativ, Avancerat - Allmäntoch trycka på knappen Konfigurationsparametrar... Men i grund och botten tar det mycket längre tid att göra än att använda VI. Oavsett metod för redigering av VMX-filen måste du stänga av den virtuella datorn. Om du ändrar något i VMX-filen kommer dessa ändringar att raderas efter att den virtuella datorn har stängts av, eftersom alla VMX-parametrar under drift av den virtuella datorn laddas in i värdens RAM.

Du måste verkligen se sårbarheterna i VMware Tools för att förstå deras omfattning. För att visa svagheterna tar vi en ny virtuell dator med Windows Server 2003 Standard installerat och VMware-verktyg installerat. Skapa en lokal användare testanvändareoch lägg till den i gruppen Användare av fjärrskrivbord... Följaktligen kommer vår användare att vara medlem i grupperna Användare och Användare av fjärrskrivbord på den här servern. Observera att han inte är en lokal administratör. Detta är faktiskt ett typiskt konto för att använda Citrix eller Microsofts terminalservrar.
Om du tror att du är skyddad eftersom det inte finns någon VMware-verktygsikon längst ned till höger, har du fel. Alla användare kan köra den med kommandot "C: \\ Program Files \\ VMware \\ VMware Tools \\ VMControlPanel.cpl".
Kopplar från enheter
Vi börjar med en översikt över alternativen för anslutning och frånkoppling av CD-ROM, FDD och nätverk från VMware Tools kontrollpanel. Skapa en RDP-session till vår testserver och logga in som testanvändare... Klicka på VMware-verktygsikonen och gå till fliken Enheter... Avmarkera rutan bredvid nätverkskortet och klicka Tillämpa... Du kan se din RDP-session hänga och servern svarar inte på förfrågningar. Ja, ja, den genomsnittliga användaren rippade precis kabeln från det virtuella nätverkskortet och kopplade helt bort servern från nätverket. Om du redan har terminalservrar kan du föreställa dig omfattningen av detta hot.
Lyckligtvis för oss kan detta enkelt inaktiveras med följande VMX-filalternativ:

isolation.device.edit.disable \u003d "true"

Hot av tiden
Låt oss skapa en RDP-session igen och öppna panelen VMware-verktyg. På fliken alternativ ta bort flaggan Tidssynkronisering mellan den virtuella maskinen och värden operativ system ... Klicka på Apply och OK. Stäng och öppna VMware Tools-panelen igen - du ser att dessa ändringar har sparats.
Naturligtvis, om du använder W32Time-tjänsten, kan du säga att det här är allt nonsens. Men när en skadlig användare aktiverar tidssynkronisering med värden får du två tidssynkroniseringsprocesser som inte är medvetna om varandra. Och om du har inaktiverat tidssynkronisering via W32Time och användaren inaktiverar / aktiverar tidssynkronisering med värden, kanske den virtuella datorn kanske inte kan logga in på domänen.
Denna flagga ändrar parametern i VMX-filen - tools.syncTime... Följaktligen förbjuder följande parameter att ändra denna parameter:
isolation.tools.setOption.disable \u003d "true"
Även om du avmarkerar / lägger upp flaggan och trycker på Tillämpa, och då Ok, efter att du startat om VMware-verktygspanelen ser du att parametern inte har ändrats.
En sekund…
Jag gjorde en punkt i den här artikeln, men det gamla gamla skriptet ändrade synkroniseringsparametern igen. Kunde en privilegierad användare ha gjort detta? Jag "kom ihåg" kommandot C: \\ Program Files \\ VMware \\ VMware Tools \\ VMwareService.exe -cmd "vmx.set_option synctime 0 1" och lanserade den från sessionen testanvändare och utan alternativet inkluderat set.Option.disable Jag kunde aktivera tidssynkronisering med värden.
Hmm, set_option mycket lik parametern setOption.disable... Låt oss läsa kommandoradshjälpen - VMwareService.exe –hjälp
Användning: c: \\ Program Files \\ VMware \\ VMware Tools \\ VMwareService.exe (-v, -i, -u, -kill, -cmd "")
Ja, det blev inte särskilt tydligt. Det finns lite information i SDK, men inte tillräckligt för att förstå kärnan. Till slut laddade jag ner källa VMware Tools och började frossa igenom det. Efter mycket arbete hittade jag flera procedurer som kan hänföras till sårbarheter. Följande kommando låter dig skriva specifik text till VM-loggen:
C: \\ Program Files \\ VMware \\ VMware Tools \\ VMwareService.exe-cmd "logg% string% string"
Och den här kommer att skapa variabel av typ Gästinfo för lagring av information om den virtuella maskinen i ESX-serverns minne:
C: \\ Program Files \\ VMware \\ VMware Tools \\ VMwareService.exe-cmd "info-set gästinfo.% Variabel% sträng"
Tja, läsa från GuestInfo-variabeln:
C: \\ Program Files \\ VMware \\ VMware Tools \\ VMwareService.exe-cmd "info-get gästinfo.% Variabel"
Observera att dessa variabler inte lagras permanent. De kommer ihåg tillståndet när du startar om den virtuella datorn, men om du stänger av den raderas de.
Denna information finns i handboken "VI3 Security Hardening" under "Begränsa dataflöde från den virtuella maskinen till datalagret". Och naturligtvis kan alla kommandon köras av en privilegierad användare.
Stänga hålen
För att testa användningen av dessa hål skrev jag flera manus och körde dem som testanvändare... För en skräppost på ESX-serverns loggfiler försökte jag skriva 1KB data i en slinga som upprepades en miljon gånger. Jag såg loggfilens tillväxt och upptäckte att så snart den växer till en storlek på 1 MB stannar tillväxten. Undersökning har visat att det finns ett "Log Throttled" -meddelande i slutet av loggen. Detta är ett bra tecken, vilket innebär att VMware har satt en gräns för filtillväxt. Men jag föredrar inte att kunna utnyttja denna sårbarhet alls, så jag använder följande kommando:
isolation.tools.log.disable \u003d "true"
HURRA. Nu är det inte längre möjligt att utnyttja detta hål, men det fortsätter att skriva loggar till filen vmware.log, som kan användas om det finns problem med den virtuella datorn.
Efter det försökte jag kasta serverns RAM med onödiga variabla värden. Det visade sig att det är tillåtet att lagra upp till 32 två variabler per virtuell dator, upp till 32 kB data tilldelas för varje. Som ett resultat, med hjälp av denna sårbarhet är det tillåtet att skriva upp till 1 MB data i minnet.
VI3 Security Hardening Guide erbjuder två sätt att stänga detta hål. Till exempel kan vi inaktivera skapandet av GuestInfo-variabler med kommandot isolation.tools.setInfo.disable \u003d "true".
Men jag kan inte rekommendera detta direktiv med ett rent hjärta, för efter det kommer inte VM att kunna berätta för värden sin ip-adress och dns-namn. Det finns ingen garanti för att VCB- eller tredjepartsapplikationer fortsätter att köras. Men vi kan begränsa storleken som tilldelats för att lagra GuestInfo-variablerna med ett annat kommando - tools.setInfo.sizeLimit \u003d "några # i byte".
Generellt sett är 1MB en ganska viktig siffra. Om du kan leva utan ip- eller dns-data är det bättre att inaktivera användningen av GuestInfo-variabler. Eftersom det kan finnas problem med användningen tog jag bort denna rekommendation från listan med kommandon i slutet av artikeln.
Minska VM-disk
Låt oss öppna VMware-verktygspanelen igen och gå till fliken Krympa... Jag kommer inte att förklara varför denna operation behövs. Av någon anledning bestämde VMware att dessa alternativ skulle vara tillgängliga för alla, inte ens en administratör. När krympningen utförs är VM-processorn nästan 100% laddad och den virtuella datorn svarar inte. Krympningsoperationen startar inte om användaren inte har skrivåtkomst till rotkatalogen för den logiska enheten som han kommer att krympa.
Men om en annan administratör eller ett program ger skrivåtkomst till enhetens rotkatalog till gruppen Användare eller Alladå slår du ...
Om du inte använder krympning i din infrastruktur kan du åtgärda denna sårbarhet genom att använda följande kommandon:
isolation.tools.diskWiper.disable \u003d "true"

PXE-hot

Jag stötte på denna sårbarhet när jag behandlade en SAN-relaterad fråga. ESX-servrar kopplades plötsligt från iSCSI-månar, och när vi öppnade en konsolanslutning till den virtuella datorn blev vi förvånade över vad vi såg. Alla virtuella datorer startades, men startades om automatiskt när de försvann hårddisk... Eftersom VMX-filerna fanns i RAM var ESX-servrarna inte uppmärksamma på att månarna med diskar var borta. Följaktligen kontrollerade virtuella datorer alla startkällor och startade från PXE-servern.
Efter att ha övervägt situationen bestämde jag mig för att detta kunde vara en hemsk attack. Om någon kan ansluta till en PXE-server i nätverket och starta en DoS-attack på iSCSI-nätverket kan de starta om den virtuella datorn med sina OS-bilder, som har alla verktyg de behöver för att ytterligare kompromissa med nätverket. Lyckligtvis är PXE-start över vlance och vmxnet lätt att inaktivera:
vlance.noOprom \u003d "sant"
vmxnet.noOprom \u003d "sant"

Om du använder e1000-adaptern för virtuell maskin måste du använda en annan metod för att inaktivera PXE-start eftersom det inte finns något .noOprom-alternativ för denna adapter. Följande kommando minskar mängden minne som BIOS tilldelar för start. Observera att denna inställning gäller ett specifikt nätverkskort:
ethernet0.opromsize \u003d "0"
Inaktivera delad buffert
För att förhindra möjligheten att läcka konfidentiell information, till exempel lösenord, från vClient-urklipp till VM-urklipp, är det tillrådligt att förbjuda användningen av det delade urklipp och kopiera / klistra in. Det här är lätt att göra och borde inte vara ett stort problem om du inte använder vClient för att arbeta med virtuell dator överallt.
isolation.tools.copy.disable \u003d "true"
isolation.tools.paste.disable \u003d "true"

Det tredje kommandot är också vanligt, men jag kunde inte hitta någon dokumentation för det här kommandot. En annan intressant? saken är att det ibland i sammanhanget är skrivet som Gui, med ett stort G. Det finns också ett kommando isolation.tools.setGUIOptions.disablemen jag hittade ingen dokumentation för det heller. Jag hittade inte heller någon skillnad att arbeta när jag använde parametrarna true eller false. Låt oss lägga till det i listan över våra kommandon, eftersom det finns i vissa handböcker och dokument och inte verkar påverka något.
isolation.tools.setGUIOptions.enable \u003d "falskt"
Tidningar är vår allt
Den sista uppsättningen parametrar som vi kommer att titta på är relaterade till VM-loggfilerna - vmware.log. Vi har redan sett hur den här filen kan skadas med en sårbarhet, men det finns en annan sårbarhet. Jag stötte på detta problem ansikte mot ansikte. Vi hade en virtuell dator som inte visade några tecken på ångest, men vars VCB-backup tappade varje kväll. Lyckligtvis använde vi VCB Wrangler för att hantera våra säkerhetskopior; ett skript som kör vcbmounter.exe enligt ett schema och sedan skickar resultatet av säkerhetskopian och en lista med kopierade filer till e-post. När vi undersökte problemet med säkerhetskopior fann vi att loggfilerna vmware - ####. Logg nådde 7000. Med kommandot ls –la i VM-katalogen i SSH-sessionen såg vi att loggfilerna skapades inom en timme. Någon process orsakade aktiv loggning, lyckligtvis har vi redan använt följande kommandon:
log.rotateSize \u003d "100000" (loggfilens maximala storlek)
log.keepOld \u003d "10" (antalet loggar som ska lagras)

Om dessa kommandon inte fanns där skulle loggfilerna uppta allt friplats och orsakade en krasch av okänd anledning.
Testa testtest 🙂
Om du har gjort dessa ändringar i VMX och testar dem på en virtuell dator kanske du har märkt det på fliken alternativ Det finns fortfarande två alternativ i VMware-verktygsfönstret som gör det möjligt för en oprivierad användare att ändra och spara Visa VMware-verktyg i aktivitetsfältet och Meddela om uppdatering är tillgänglig... Dessa parametrar lagras i registret i grenen HKEY_CURRENT_USER och lagras separat för var och en konto... Eftersom dessa inte är globala parametrar kan de ignoreras, eftersom en icke privilegierad användare inte kan uppdatera VMware-verktyg. Jag hörde också råd om att begränsa katalogrättigheter genom NTFS C: \\ Program Files \\ VMware \\ VMware Tools... VMware har en kunskapsbas om detta ämne. Det största problemet är att om användaren kommer någonstans VMControlPanel.cpl eller VMwareService.exe och kopierar dem till skrivbordet, då kommer det att kunna använda VMware Tools-panelen. Du kan kolla in det om du vill :)

Här är en lista över de rekommenderade ändringarna. Om du gör din egen sökning kommer du att upptäcka att det finns många ytterligare parametrar som inte listas här, några av dem rekommenderas starkt för användning. Jag rekommenderar dock att du noggrant kontrollerar parametrarna som inte finns i den här listan innan du lägger till dem i din produktionsmiljö. Alla parametrar från den här artikeln, utom isolation.tools.setOption.disable, vlance.noOpromoch vmxnet.noOpromrekommenderas i VI3 säkerhetshärdningsdokumentet.
Efterlängtad lista 🙂
isolation.device.connectable.disable \u003d "true"
isolation.device.edit.disable \u003d "true"
isolation.tools.setOption.disable \u003d "true"
isolation.tools.log.disable \u003d "true"
isolation.tools.diskWiper.disable \u003d "true"
isolation.tools.diskShrink.disable \u003d "true"
isolation.tools.copy.disable \u003d "true"
isolation.tools.paste.disable \u003d "true"
isolation.tools.setGUIOptions.enable \u003d "falskt"
log.rotateSize \u003d "100000"
log.keepOld \u003d "10"
vlance.noOprom \u003d "sant"
vmxnet.noOprom \u003d "sant"

# PXE-start på e1000 vNIC kan inaktiveras med detta direktiv:
ethernet0.opromsize \u003d "0"

Och nu den utlovade hur man gör på VI
Detta är en kort introduktion till VI för dem som ännu inte har upptäckt den här redaktörens stora potential. Öppna en SSH-session till din ESX-server och skriv VI på kommandoraden. Om du klickar i redigeringsfönstret ikommer du att se inskriptionen -FÖRA IN- i det nedre vänstra hörnet. Skriv valfri text och tryck sedan på Esc - inskriptionen försvinner och texten slutar skriva ut till filen. VI har två lägen: kommandoinmatningsläge och textinmatningsläge efter att ha tryckt på en tangent Esc du kommer in i kommandot. För att skriva in text i formatet wysiwyg klicka bara i och du kommer se inskriptionen -FÖRA IN-.
Och slutligen - spara dokument.
: wq - spara dokumentet;
: q! - avsluta utan att spara.
Innan du redigerar VMX-filen, se till att den virtuella datorn är avstängd och gör den säkerhetskopiering genom
cp /vmfs/volumes/somevolume/somevm/somevm.vmx / root
För att redigera VMX använd
vi /vmfs/volumes/somevolume/somevm/somevm.vm

Vi hoppas att vi har hjälpt dig att lösa problemet med VMX-filen. Om du inte vet var du kan ladda ner en applikation från vår lista klickar du på länken (det här är programmets namn) - du hittar mer detaljerad information om var du kan ladda ner den säkra installationsversionen av det önskade programmet.

Vad mer kan orsaka problemet?

Det kan finnas fler anledningar till varför du inte kan öppna en VMX-fil (inte bara frånvaron av en motsvarande applikation).
För det första - VMX-filen kan vara felaktigt länkad (inkompatibel) med installerad applikation att servera det. I det här fallet måste du ändra den här länken själv. För detta ändamål högerklickar du på den VMX-fil som du vill redigera, klickar på alternativet "Att öppna med" och välj sedan programmet du installerade från listan. Efter en sådan åtgärd bör problemen med att öppna VMX-filen försvinna helt.
För det andra - filen du vill öppna kan helt enkelt skadas. Då är den bästa lösningen att hitta en ny version eller ladda ner den igen från samma källa som tidigare (kanske av någon anledning i föregående session har nedladdningen av VMX-filen inte slutförts och den kan inte öppnas ordentligt).

Vill du hjälpa?

Om du har ytterligare information Om VMX-filtillägget kommer vi att vara tacksamma om du delar det med användarna av vår webbplats. Använd formuläret som skickas och skicka oss din information om VMX-filen.

Dela detta