Veids, kā var mēģināt lauzt hostinga serverus

Pienācis laiks aprakstīt kādu drošības caurumu, kas bija viens no galvenajiem iemesliem, kāpēc atteicos no vecā miga.lv servera un Apache web servera. Šis raksts netika rakstīts ar domu, ka kāds šo caurumu nu sāks izmantot (ceru, ka lielajos hostinga serveros tas nav iespējams), bet, lai serveru administratoros raisītu pārdomas par to, kā, apvienojot dažas nekaitīgas funkcijas, var panākt sliktas lietas.

Problēma sastāvēja no vairākām, atsevišķi nekaitīgām, detaļām:

  • uz servera bija atļauts .htaccess failā definēt MIME tipus;
  • PHP moduli web serveris palaiž atkarībā no faila MIME tipa;
  • uz servera bija iespējams veidot un lietot simboliskos linkus.

Katrs no šiem punktiem ir nepieciešams noteiktos scenārijos un pats par sevi neko sliktu nevar izdarīt.

Par caurumu tie pārvērtās sekojošā situācijā:

  • servera ļaunais lietotājs izveido simbolisko linku uz kāda cita klienta direktoriju;
  • ļaunais lietotājs direktorijā, kurā atrodas šis links, izveido .htaccess failu;
  • .htaccess failā ļaunais lietotājs norāda, ka .php failiem MIME tips ir text/plain, papildus vēl ieslēdz arī direktoriju pārlūkošanu;
  • ļaunais lietotājs caur pārlūkprogrammu piekļūst šim linkam, iegūstot pieeju visiem otra klienta .php failiem kā tekstam.

Tā kā .php failos parasti ir tīrā tekstā saglabātas datubāzes paroles, ļaunais lietotājs var piekļūt svešām datubāzēm. Papildus ļaunais klients iegūst pieeju cita lietotāja intelektuālajam īpašumam (lapas kodam).

Vienīgā aizsardzība, kas tika izveidota uz miga.lv vecā servera, bija regulāra pārbaude, vai kāds lietotājs neveido simboliskos linkus uz svešām direktorijām. Diemžēl, nesamazinot piedāvāto funkcionalitāti, ar izmantoto programmatūru šo caurumu izlabot nevarēja.

Uz miga.lv uzstādīts Microsoft SQL Server Driver for PHP

Uz miga.lv servera tika uzstādīts Microsoft SQL Server Driver for PHP 1.0, kas ir Microsoft izstrādāts PHP modulis, lai komunicētu ar Microsoft SQL Server. Pieredze rāda, ka PHP iebūvētā mssql bibliotēka sagādā ne mazums galvas sāpju, tāpēc šis ir ieteicamais veids, kā no PHP slēgties pie Microsoft SQL Server.

Lejupielāde (satur gan pašu moduli, gan tā dokumentāciju): SQL Server Driver for PHP Version 1.0 Cumulative Update - April 2009

Atjaunināts PHP5 uz miga.lv

Uz miga.lv servera atjaunināts PHP5 no versijas 5.2.6 uz versiju 5.2.9-2.

Izmaiņu saraksts: http://www.php.net/ChangeLog-5.php

Ievērojami uzlabojumi gan būs sagaidāmi tikai uz PHP 5.3 versiju, kurā solās būt kārtīgs Windows un IIS atbalsts, nevis dažādi workarounds kā tagad. PHP 5.3 RC2 Highly Optimized for Windows