DNS-Lookups für gechrootetes PHP-FPM

02.02.2013 yahe administration legacy linux security

Wenn man PHP chrootet, funktionieren mitunter die grundlegendsten Dinge nicht mehr, was jedoch erst dann auffällt, wenn ein Codeabschnitt eine bestimmte Funktion benötigt. Bei mir war das vor kurzem die DNS-Auflösung, die ich bisher nicht gebraucht hatte. Folgendes minimale chroot-Setup habe ich nun zusammengestellt, damit DNS-Lookups in PHP ordentlich funktionieren:

  mkdir ./dev
  mknod ./dev/null c 1 3
  mknod ./dev/random c 1 8
  mknod ./dev/urandom c 1 9
  mknod ./dev/zero c 1 5

  mkdir ./etc
  cp /etc/resolv.conf ./etc
  echo 127.0.0.1 localhost > ./etc/hosts
  echo ::1 ip6-localhost ip6-loopback >> ./etc/hosts

  mkdir ./lib
  cp /lib/libnss_dns.so.2 ./lib

P.S.: Anhand folgender Fehlermeldung kann man erkennen, dass etwas mit dem DNS-Lookup seiner eigenen chroot-Umgebung im Argen ist: "php_network_getaddresses: getaddrinfo failed: Name or service not known"


Search

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)