Weblog

Tag: kernel

door Lennard onder VPS / Server Management | 0 comments

Linux vulnerability >2.6.39 local root escalation bug

== Dit artikel zullen wij updaten als er meer informatie beschikbaar komt. ==

Er is gisteren een nieuwe exploit bekend geworden, die het mogelijk maakt om lokaal root te worden. Door een slecht geimplementeerde controle in de versie van de kernel, nieuwer dan 2.6.39) blijkt het vrij makkelijk te zijn om een stuk van het geheugen dat door een bepaald proces gebruikt wordt te overschrijven. Met wat extra stappen was het mogelijk in het geheugen van suid processen te schrijven en op die manier root te verkrijgen. Redhat heeft deze bug ook gebackport naar zijn kernel en zodoende is deze bug ook in de CentOS6-kernel gekomen.
Binnen de XLS infrastrucuur zijn alleen de volgende kernels kwetsbaar. Andere kernels zijn hier dus niet gevoelig voor.
- Centos 6 (vanaf kernel versie 2.6.32-220.el6, nieuwe kernel is beschikbaar)
- Ubuntu 11.10 (met pygrub/eigen kernel, update beschikbaar)
- XLS-kernel 3.0.1 (Hier staat een nieuwe kernel klaar, reboot is noodzakelijk om deze te activeren)

We wachten op de updates van de verschillende distributie en zullen dan uitleggen hoe de update gedaan moet worden. Voor de XLS-kernel moeten we wachten op de port van de patch naar de 3.0.x kernel (als dit te lang duurt zullen we deze zelf backporten).


Ubuntu 11.10 (Oneiric) procedure (indien je pygrub/eigen kernel gebruikt):

  • wget http://download.cloudvps.com/pygrub/ubuntu/oneiric/10_linux -O /etc/grub.d/10_linux
  • wget http://download.cloudvps.com/pygrub/ubuntu/oneiric/grub -O /etc/default/grub
  • apt-get update
  • apt-get dist-upgrade
  • reboot

XLS-Kernel 3.0.1
Voor deze kernel hebben we een update naar 3.0.17 gedaan en zelf de patch toegepast op deze versie. Voor alle VPSen die nu op 3.0.1-xls draaien, hebben we deze setting omgezet naar de 3.0.17-xls kernel en is een reboot noodzakelijk om deze te activeren.

Centos 6
yum update en reboot

Meer leesvoer
Eerste bekendmaking: http://blog.zx2c4.com/749

Redhat: https://access.redhat.com/kb/docs/DOC-69129

Ubuntu: https://bugs.launchpad.net/ubuntu/lucid/+source/linux-ti-omap4/+bug/919115

Debian: http://security-tracker.debian.org/tracker/CVE-2012-0056

 

door Carlos onder VPS / Server Management | 8 comments

Fix voor Linux kernel exploit

Op de 'Full Disclosure' security-mailinglist is vorige week een exploit verschenen voor een veiligheidslek in 64-bits Linux kernels, gerelateerd aan de 32-bits emulatielaag. Deze exploit maakt het mogelijk om vanaf een account zonder privileges root-privileges te verkrijgen. Alle nu bekende 2.6 kernels, inclusief die geleverd zijn door XLS, hebben op dit moment dit probleem.

XLS kernel

Voor mensen die de XLS kernel gebruiken hebben we een patch uitgevoerd voor onze standaardkernels en deze voor onze klanten beschikbaar gemaakt. U kunt overstappen op de gepatchte, veilige, kernel door op een geschikt moment, maar liefst zo snel mogelijk, uw VPS een 'halt' te geven vanuit het root-account, waarna de VPS door ons fail-over systeem opnieuw wordt opgebracht met de nieuwe kernel. U kunt ook inloggen op de XLS interface en de VPS stoppen en daarna starten.

Eigen kernel of VPS mag niet down

Mensen die hun eigen kernel gebruiken moeten 32-bits support uitzetten. Er zijn namelijk nog geen officiele nieuwe kernelversies uitgebracht die dit probleem oplossen, waardoor ook de distro's nog niet allemaal updates ter beschikking hebben kunnen stellen. Voor Debian, Ubuntu en CentOS zijn er inmiddels updates. Let op: op CentOS werkt 'yum update' niet zomaar. Neem contact met ons op hierover.

Door het onderstaande commando te geven kunt u tijdelijk support voor 32-bits binaries runtime (dus zonder shutdown/reboot) uitschakelen. Deze oplossing kan ook helpen voor klanten of die om operationele redenen niet onmiddellijk hun VPS down kunnen brengen.
 

echo ":32bits:M:0:x7fELFx01::/bin/logger:" > /proc/sys/fs/binfmt_misc/register
door Carlos onder Maintenance & Outages | 2 comments

Xen Upgrade en Kernels

Zoals aangekondigd zijn we gisternacht bezig geweest om op onze clusters de infrastructuur te upgraden van Xen3.3 naar Xen3.4.

De hoofdreden hierachter is dat nieuwere Linux kernels tegenwoordig infrastructuur hebben om op basis van paravirtualisatie samen te werken met hypervisors als Xen. Tot voor kort was het alleen maar mogelijk met kernels die hier specifiek op waren aangepast (zogenaamde xen-kernels). Deze nieuwe manier van zaken doen zit in de standaardversie van de kernel zoals deze uit Linus Torvalds' keuken komt. Deze nieuwe kernels zouden het het voor onze klanten veel makkelijker maken om eigen kernels te draaien en gebruik te maken van nieuwere features zoals FUSE. Echter werken deze nieuwe kernels alleen maar samen met Xen versie 3.4 of hoger.

Ons eerste plan was om de upgrades in een enkele nacht uit te voeren. Dit bleek praktisch niet haalbaar binnen de gestelde tijd, dus op dit moment zijn niet alle clusters al naar Xen 3.4. Wel hebben we gedurende deze upgrade-ronde wat kunnen testen op het gebied van zogenaamde live-migraties tussen de oude en de nieuwe versie van Xen, waardoor uiteindelijk een procedure is ontstaan waarmee we de rest van de clusters kunnen upgraden zonder de betrokken VPS'en te hoeven rebooten.

Voor VPS'en met nummers 2000 tot-en-met 4000 zullen wij de komende week in de avonduren deze upgrades uitvoeren. In de praktijk kan dit betekenen dat op zo'n avond uw VPS twee maal een minuut lang wat langzamer reageert terwijl deze al draaiend wordt verplaatst naar andere hardware.

door Carlos onder VPS / Server Management | 0 comments

FUSE in de XLS Linux kernel

Wij hebben deze week de kernel module FUSE toegevoegd aan de Linux kernel die voor onze virtuele servers gebruikt wordt.

FUSE staat voor "Filesystem in Userspace" en staat non-privileged users toe om hun eigen file systems te creeren zonder de kernel code aan te hoeven passen. Dit betekend dat er allerlei protocollen als filesystem gemount kunnen worden.

Een veelgebruikte applicatie is SSHFS waarbij een map op een externe server gemount kan worden over een SSH-verbinding. Een andere populaire applicatie is HTTPFS (externe mappen mounten via HTTP). Er is zelfs een GmailFS waarmee u gmail directory structuur als filesystem kunt mounten. Op deze wiki pagina kunt u een lijst met mogelijke applicaties vinden.

FUSE moet nog wel geactiveerd worden in individuele VPSen. Klanten die virtuele servers hebben met VPS nummers onder de 3064 moeten even contact met ons opnemen als ze FUSE geactiveerd willen hebben. FUSE kan op VPSen met nummers boven de 3063 geactiveerd worden door in de XLS Interface een Shutdown (Stop + Start) te geven. Vervolgens zal de virtual server met FUSE opkomen.

door Carlos onder General, Network | 1 comments

Linux Kernel Security Lek

Er is voor de tweede keer in korte tijd een veiligheidslek geconstateerd in de Linux kernel die te maken heeft met het volgen van zogenaamde NULL-pointers.

U zult uw VPS de komende dagen een halt moeten geven om de beschikking over een gepatchte kernel te krijgen. Donderdagavond vanaf 22:00 uur gaan wij alle machines een halt geven (en herstarten) die dit nog niet gedaan hebben. Als onze VPS klanten hebben hier ook een email over gekregen.

Alhoewel wij nog geen werkende exploit hebben gezien voor dit lek dat niet afhankelijk is van extra systeemcomponenten om root te verkrijgen, zijn er sterke indicaties dat dit ook zonder zulke software mogelijk moet zijn. Wij achten het risico daarom toch redelijk hoog.

We hebben voor al onze klanten een nieuwe kernel beschikbaar gemaakt. Om alle risico's te vermijden raden wij mensen aan om op een geschikt moment hun Linux VPS een "shutdown -h" of "halt" te geven. Ons clusteringsysteem zal de uitgeschakelde virtuele machine zien, de nieuwe kernel er aan verbinden en de vps opnieuw opstarten.

Let op: Een reboot vanuit het control panel werkt niet, de vps uitzetten en als hij down is weer aanzetten via de XLS Interface werkt wel.

Als de machine niet onmiddellijk terugkomt, controleer dan met de System Console op de interface.xlshosting.com-site of de machine niet bezig is met een fsck (disk check). Machines die langer dan 180 dagen draaien zullen 15-30 minuten extra tijd nodig hebben om het filessyteem te checken.

Vanwege de potentiele ernst van het security-lek zullen wij in de nacht van donderdag op vrijdag de VPS-nodes die nog niet door klanten zelf naar de nieuwe kernel zijn geboot een reboot geven. Als dit voor uw server slecht uitkomt maar u voor die tijd ook geen kans om het te doen, neem dan contact op met onze helpdesk.

Voor de oplettende klanten: De nieuwe kernel identificeert zich als 2.6.18, waar de oude 2.6.20 heette. De nieuwe kernel is gebaseerd op die van RedHat Enterprise Linux en is, ondanks het lagere versienummer, voorzien van nieuwere patches en features.

Mensen die eigen kernels booten met behulp van pygrub zullen zelf moeten kijken of ze moeten upgraden. Ga er van uit dat alle kernels uit de 2.6-familie kwetsbaar zijn als ze langer dan 5 dagen geleden zijn uitgekomen.

Voor wat achtergrondinformatie over het exploiten van NULL-pointer dereferences, zie deze links: 
http://lwn.net/Articles/342330/ 
http://blog.cr0.org/2009/06/bypassing-linux-null-pointer.html

door Carlos onder VPS / Server Management | 1 comments

Linux Kernel Hack

Vandaag is een vrij creatieve exploit verschenen voor een securityprobleem dat onstaan is in de Linux kernel, versie 2.6.30.

Onze virtuele server clusters gebruiken een andere versie en eerdere versies en distro-kernels zijn hier niet kwetsbaar voor. Klanten met colocated machines of een VPS met custom kernel raden wij wel aan de versie te controleren.

door Carlos onder VPS / Server Management | 5 comments

Eigen kernels booten met PyGrub

We krijgen regelmatig verzoeken van klanten om met custom kernels te kunnen booten. Vaak omdat er specialistische modules nodig zijn, bijvoorbeeld voor VOIP-diensten of cryptografisch versleutelde diskpartities via FUSE. Vanaf vandaag maken wij het voor mensen met dit soort speciale behoeftes mogelijk om in plaats van onze standaardkernel een Xen-compatible kernel van binnen de VPS zelf te laden via PyGrub. U kunt deze mogelijkheid activeren binnen de XLS Interface.

Wat is PyGrub precies?

PyGrub is een herimplementatie, in python, van de grub bootloader, toegespitst op het booten van virtuele machines onder Xen. Het leest de grub-configuratie en kiest daarmee een kernel en een ramdisk-image om mee te booten en geeft deze door aan de Xen hypervisor.

Installeren van je eigen kernel

Om succesvol via PyGrub te kunnen booten zijn op de VPS nodig:

  • Een valide grub-config in /boot/grub/menu.lst
  • Een Xen domU-compatible kernel.
  • Een initrd met xenblk.ko en xennet.ko.

Om te zorgen dat de xenblk en xennet drivers goed geladen worden, is het verstandig om, alvorens een Xen kernel-package te installeren, de volgende twee regels toe te voegen aan /etc/modprobe.conf:

    alias eth0 xennet
    alias scsi_hostadapter xenblk 

Installeer vervolgens grub, en daarna de xen kernel. Onder CentOS is dat:

    # yum install grub
    # yum install kernel-xen

En onder Debian:

    # apt-get install grub
    # apt-get install linux-image-xen-amd64
Activeren

Controleer dat er een geldige /boot/grub/menu.lst ontstaan is die wijst naar de Xen kernel. Zet vervolgens op de XLS Interface site de knop om naar 'Custom Kernel' en geef de VPS vanaf de command line een shutdown (een gewone reboot is niet genoeg). De machine zal opnieuw gestart worden met PyGrub.

door Carlos onder VPS / Server Management | 0 comments

De Gevreesde OOM-killer

De linux kernel, zoals deze standaard wordt afgeleverd, heeft een excentrieke procedure in de omgang met situaties waarin het geheugen van een (virtuele) machine op raakt: Een proces genaamd 'oomkiller' kijkt naar de lopende processen en kiest er een uit om te beëindigen in de hoop dat daarmee geheugen vrijkomt. Op papier is dit een redelijke oplossing, maar in de praktijk is gebleken dat in serveromgevingen de keuze die oomkiller maakt vaak nogal ongelukkig uitkomt. Het komt bijvoorbeeld vaak voor dat er processen worden beëindigd en de machine vervolgens onbereikbaar achterblijft.

Om deze overlast te voorkomen gaan wij op korte termijn de instelling van de kernels aanpassen zodat een VPS zal worden gereboot op het moment dat al het geheugen op is. Alhoewel dit in enkele gevallen zou kunnen leiden tot een reboot die voorkomen had kunnen worden vinden wij dat risico minder ernstig dan een VPS die compleet vastloopt, iets dat we nu vaak zien gebeuren als gevolg van oomkiller.

Om de kans op een reboot te verlagen zullen wij tevens de RAM-overcommit instelling van de kernel standaard verlagen. Deze overcommit zorgt ervoor dat applicaties in totaal meer geheugen kunnen alloceren dan er maximaal op de VPS beschikbaar is. Als enkele applicaties vervolgens van een groot gedeelte van hun allocatie gebruik willen gaan maken zal het geheugen van de VPS snel opgebruikt worden. Het verlagen van de RAM overcommit vermindert dit risico.

Deze verandering zal eerst in alle nieuw opgeleverde VPSen worden doorgevoerd. Bestaande VPSen die last hebben van oomkiller zullen, in overleg met de klant, dezelfde wijzigingen krijgen.

VPS Bestellen
VPS Bestellen