Michal Čihař - Instalace a zabezpečení

Instalace a zabezpečení

Nainstalovat phpMyAdmina je poměrně jednoduché, ale na co mnoho lidí zapomíná je řádné zabezpečení. Stačí chvíli používat Google a najdete mnoho nezabezpečených instalací phpMyAdmina spoléhajících se na to, že nikdo toto URL neuhodne. Chyba, časem se provalí jakékoliv URL.

Požadavky

Předpokládám, že již máte funkční webový server s podporou php (minimálně verze 4.2.0) a databázi MySQL (minimálně 3.23.32), jejich nastavení zde nebudu rozebírat.

Instalace

Začneme samozřejmě stáhnutím ze stránek projektu a jeho rozbalením nebo instalací balíčku ve vaší distribuci. V případě balíčku z distribuce již pravděpodobně bude phpMyAdmin částečně nastaven. Dále již přistoupíme k modifikaci konfiguračního souboru.

Konfigurační soubor obsahuje několik částí: na začátku je několik základních nastavení, po nich následuje konfigurace serverů a pak mnoho dalších konfiguračních voleb, umožňujících nastavit téměř veškeré chování. Nejdříve upravíme seznam serverů, abychom mohli phpMyAdmina začít používat a pak se budeme věnovat podrobnějším nastavením. Vždy budou uvedeny jen relevantní části konfiguračního souboru, které jsou potřeba pro funkčnost probíraného tématu, v případě nastavovaní serveru je potřeba údaje zadávat do správné části (pro začátek vše k prvnímu serveru), protože phpMyAdmin umožňuje připojit se k více serverům.

Zabezpečení

Jako první věc musíme rozhodnout, jak se budeme k phpMyAdminovi přihlašovat, jestli ho budeme využívat sami nebo i další uživatelé a jestli bude přístupný z více míst.

Pokud se jedná o instalaci na pracovní stanici, můžeme zvolit zadání jména a hesla do konfiguračního souboru:

 
  $cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = 'uzivatel';
$cfg['Servers'][$i]['password']      = 'heslo';
 

A omezením přístupu pouze z lokálního počítače. Toto je asi nejlepší nastavit přímo ve webového serveru, ale vystačíme si i s phpMyAdminem:

 
  $cfg['Servers'][$i]['AllowDeny']['order'] = 'explicit';
$cfg['Servers'][$i]['AllowDeny']['rules'] =
             array('allow uzivatel from 127.0.0.1');
 

V případě přístupu více uživatelů využijeme autentizaci MySQL a zvolíme odpovídající metodu v phpMyAdminovi. Lze si vybrat mezi autentizací pomocí koláčků nebo s využitím HTTP autentizace. Ta má několik nevýhod, například kvůli návrhu HTTP neumožňuje odhlášení. Autentizace pomocí cookies navíc umožňuje (po příslušném nastavení) i přihlášení k libovolnému MySQL serveru. Proto budou ukázky používat autentizaci pomocí koláčků. Konfigurace pro obě metody se liší jen minimálně. Pro HTTP musíme nastavit jen typ autentizace:

 
  $cfg['Servers'][$i]['auth_type']     = 'http';
 

Pro koláčky samozřejmě také typ:

 
  $cfg['Servers'][$i]['auth_type']     = 'cookie';
 

A ještě heslo které bude použito pro šifrování koláčků:

 
  $cfg['blowfish_secret'] = 'tajne_heslo';
 

Toto heslo nebudeme muset nikde zadávat, je proto možné použít naprosto náhodný řetězec (pokud použijete balíček z distribuce, pravděpodobně toto heslo bylo vygenerováno už při instalaci, například Debian a SUSE toto heslo vygenerují).

Nyní by mělo být možné se do phpMyAdmina přihlásit, po zadání jména a hesla uživatele v MySQL se přihlásíme na úvodní obrazovku, kde již s programem můžeme pracovat.

New Comment

Due to excessive spam, new comments are disabled. If you have some feedback on this post, please send me email or followup on Twitter or Facebook.