Zabezpečení SQLiteManageru

12.05.2009 Bez komentářů

Samozřejmě je nežádoucí, aby byla konzole SQLite Manageru volně přístupná, proto zaveďte řízení přístupu. [12]

V souboru /opt/share/www/lighttpd/sqlite/include/user_defined.inc.php odkomentujte a editujte řádky: define(„WITH_AUTH“, true); define(„ALLOW_CHANGE_PASSWD“, true);

Výchozí uživatelé a jejich hesla jsou admin:admin, data:data, guest:guest.

Pokud nepotřebujete přistupovat do SQLiteManageru z internetu, zabezpečte složku /opt/share/www/lighttpd/sqlite/ souborem httpd.conf, který bude obsahovat:

<Directory /opt/share/www/lighttpd/sqlite/>
DirectoryIndex index.php
order deny,allow
deny from all
allow from 127.0.0.1 192.168.1.1/24
</Directory>

Categories: Asus WL-500gP Tags:

Instalace databáze SQLITE

12.05.2009 komentáře 3

Pro prezentaci dynamických www stránek s PHP je třeba i databáze. Vzhledem k omezenému výkonu se nedoporučuje instalace MySQL databáze, ale například mnohem méně náročné SQLITE.

ipkg install sqlite

upravte /opt/etc/php.ini do sekce [PHP] doplňte date.timezone = "Europe/Prague" a do sekce [Dynamic Extensions] doplňte extension=pdo_sqlite.so a případně okomentujeme řádky obsahující:

;extension=gd.so ;extension=pdo.so ;extension=sqlite.so

Překontrolujte, zda v adresáři /opt/etc/php.d vznikly soubory gd.ini ,mbstring.ini , pdo.ini , sqlite.ini , pokud ne, založte je a vložte do nich následující: v gd.ini musí být: extension=gd.so v pdo.ini musí být: extension=pdo.so v sqlite.ini musí být: extension=sqlite.so v mbstring.ini musí být: extension=mbstring.so

Případně využijte výhody použití skriptu:

echo "extension=gd.so" >> /opt/etc/php.d/gd.ini && echo "extension=pdo.so" >> /opt/etc/php.d/pdo.ini && echo "extension=sqlite.so" >> /opt/etc/php.d/sqlite.ini && echo "extension=mbstring.so" >> /opt/etc/php.d/mbstring.ini

Pro lepší správu databáze nainstalujte SQLiteManager:
Vytvořte si v rootu web serveru (/opt/share/www/lighttpd/) složku např. sqlite a do ní nakopírujte obsah staženého archivu. Na závěr restartujte router: flashfs save && flashfs commit && flashfs enable && reboot .

Po restartu ověřte, zda běží všechny služby, které jste nainstalovali, příkazem: ps

Ověřte, zda funguje manažer databáze: http://my.router/sqlite/

SQLiteManager http://www.sqlitemanager.org/ ve verzi 1.2.0

Categories: Asus WL-500gP Tags:

Zprovoznění lepšího FTP serveru vsftpd

12.05.2009 Bez komentářů

Na serveru již běží jednoduchý FTP klient, ale mnohem lepším řešením s pokročilejším nastavením je vsftpd. Proveďte následující příkazy: ipkg install xinetd <enter> ipkg install vsftpd <enter> mkdir -p /opt/usr/share/empty <enter> rm /opt/etc/xinetd.d/telnetd <enter> rm /opt/etc/xinetd.d/ftp-sensor <enter>

editujte, případně vytvořte, konfigurační soubor opt/etc/xinetd.d/vsftp:

# description: The vsftpd FTP server serves FTP connections.
# it uses normal, unencrypted usernames and passwords for auth
service ftp
{
disable = no
socket_type = stream
user = admin
server = /opt/sbin/vsftpd
server_args = /opt/etc/vsftpd.conf
wait = no
nice = 10
only_from = 0.0.0.0/0
}

Spusťte killall stupid-ftpd <enter> /opt/etc/init.d/S10xinetd < enter >

Nakonfigurujte vsftpd server pomocí uvedených soborů: /opt/etc/vsftpd.conf, /opt/etc/vsftpd.chroot_list (seznam uživatelů) a /opt/etc/vsftpd.user_list.

Pro snadnější konfiguraci je v archivu k dispozici soubor vsftpd.zip, jehož obsah nakopírujte do /opt/etc.

Dále je nutné přidat do /etc/passwd souboru uživatele pro vsftpd server, např.:

ftp:$1$uOopDAdf$5csTDxcV.wwvRzHTcgSt30:0:0::/opt/share/www/:/bin/sh
user1:$1$.T.y.=user1=oIb8G1qJDp1gC9.:0:0:ftp:/opt/share/www/lighttpd/user1:/bin/sh

Zeditujte hesla uživatelů příkazem: passwd user1 <enter> nastavte heslo pro user1 a totéž udělejte pro případné další uživatele.

Aby po restartu zůstal soubor passwd tak, jak jste jej zeditovali, musíte do souboru /usr/local/.files zapsat cestu k souboru s uživateli. Tímto zajistíte ukládání uvedených souborů do flashfs. Například:

/etc/passwd
/etc/group
/usr/local/sbin/hosts

Následně je třeba vytvořit všem uživatelům odpovídající adresáře v /opt/share/www/lighttpd/

Vytvořte adresář /opt/etc/vsftpd_user_conf a v něm soubor user1 s kódem
local_root=/opt/share/www/lighttpd/user1

V tomto souboru uživatele definujete složky, ke kterým má uživatel práva přistupovat. Obdobně postupujte pro konfiguraci dalších uživatelů

Vše uložte na flash: flashfs save && flashfs enable && flashfs commit (tento postup je třeba zopakovat pokaždé, když se mění soubory mimo adresář /opt) následuje restart reboot <enter>

Categories: Linux návody, software Tags:

Instalace Lighttpd – www serveru + PHP

11.05.2009 1 komentář

Určitě hlavním důvodem k modifikaci routeru je poskytování informací. K tomuto poslouží především webový server s podporou PHP, FTP serveru a SQL databází, který bude sloužit jako hlavní informační kanál.

Přihlaste se telnetem k routeru a nainstalujte potřebné balíky:

ipkg update <enter> dále nainstalujte následující balíčky:

  • ipkg install openssl
  • ipkg install lighttpd
  • ipkg install php-fcgi
  • ipkg install unzip
  • ipkg install libsigc++
  • ipkg install libgd
  • ipkg install php-gd
  • ipkg install php-mbstring
  • ipkg install microperl
  • a v případě potřeby i databázi ipkg install sqlite

Pokud chcete všechny úkoly vložit v rámci jedné fronty, spojte je pomocí znaků &&.

Založte adresář cache a compress a nastavte práva zápisu:
mkdir /opt/share/www/lighttpd/cache <enter> mkdir /opt/share/www/lighttpd/cache/compress <enter> mkdir /opt/share/www/cgi-bin <enter> chmod 777 /opt/share/www/lighttpd/cache <enter> chmod 777 /opt/share/www/lighttpd/cache/compress <enter> chmod 777 /opt/share/www/lighttpd/* <enter> chmod +x /opt/etc/init.d/S80lighttpd <enter>

Nakonfigurujte lighttpd server, nejrychlejší a nejistější variantou je použití WinSCP.

Stačí nakonfigurovat lighttpd server pomocí /opt/etc/lighttpd/lighttpd.conf. Pokud nepotřebujete nic měnit, je výchozí nastavení funkční.

Výtah z konfigurace, kde jsou typy indexů a adresář, pod kterým nám běží web.

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = „/opt/share/www/lighttpd/“

## where to send error-messages to
server.errorlog = „/opt/var/log/lighttpd/error.log“

# files to check for if …/ is requested
index-file.names = ( „index.php“, „index.html“,
„index.htm“, „default.htm“ )

## bind to port (default: 80)

server.port = 8081

v případě že by server nešel nastartovat a hlásil chybu:

2010-09-02 00:11:04: (log.c.166) server started
2010-09-02 00:11:04: (fdevent_linux_sysepoll.c.134) epoll_create failed (Function not implemented), try to set server.event-handler = „poll“ or „select“
2010-09-02 00:11:04: (fdevent.c.41) event-handler linux-sysepoll failed, try to set server.event-handler = „poll“ or „select“
2010-09-02 00:11:04: (server.c.1112) fdevent_init failed

přepište ještě

## set the event-handler (read the performance section in the manual)

server.event-handler = „select“ # needed on OS X

Konfigurace php: Vytvořte soubor /opt/etc/init.d/S45php příkazem:

echo „#!/bin/sh“ >> /opt/etc/init.d/S45php a vložte do něj tento kód:

#!/bin/sh
export PHP_FCGI_CHILDREN=1

PORT=1260
BIN=/opt/bin/php-fcgi

case $1 in
start)
$BIN -b $PORT &
;;
stop)
kill `pidof php`
;;
*)
echo "usage: $0 (start|stop)"
exit 1
esac

Soubor nastavte jako spustitelný: chmod +x /opt/etc/init.d/S45php <enter> ,aby byl www server dostupný také z internetu, je třeba přidat do souboru /opt/init.usb následující řádek:

iptables -I INPUT -j ACCEPT -p tcp –dport 8081

vše uložte a router restartujte: flashfs save && flashfs commit && flashfs enable && reboot <enter>

O tom, že server lighttpd s php běží správně, se přesvědčíte jednoduše tak, že vytvoříte soubor info.php v umístění kde běží root www serveru /opt/share/www/lighttpd a do něj vložíte tento kód:

<?php
phpinfo();
?>

V prohlížeči zavolejte stránku http://192.168.1.1:8081/info.php nebo http://WAN_adresa/info.php a pokud se objeví info o php je vše funkční a v pořádku.

Pokud se vyskytne chyba 403 – je třeba upravit konfigurační soubor www serveru /opt/etc/lighttpd/lighttpd.conf. V sekci server.modules odkomentujte „mod_fastcgi“, následně sekci fastcgi.server přepište na následující:

fastcgi.server = ( ".php" =>
( "localhost" =>
(
# "socket" => "/tmp/php-fastcgi.socket",
# "bin-path" => "/usr/local/bin/php"
"host" => "127.0.0.1",
"port" => 1260,
)
)
)

Při změně konfigurace www serveru je třeba jej restartovat /opt/etc/init.d/S80lighttpd restart <enter> [10]

Categories: Asus WL-500gP, Linux návody, software Tags:

Sledování provozu na routeru

11.05.2009 Bez komentářů

Použitý alternativní firmware obsahuje již nakonfigurovanou službu SNMP, která umožňuje monitorovat všechny komunikační porty routeru (ppp, eth a br). Od tvůrců firmware Koppel je připravena jednoduchá aplikace AsusMon, která dokáže graficky interpretovat provoz na zvoleném portu. Program podporuje přenos i pomocí SSH. Dále je možné provoz i logovat.

Program AsusMon je také možné řídit pomocí příkazové řádky, například:
asusmon my.router admin heslo br0 2 X:\Asus.log

Nyní máme router připraven k instalaci dalších aplikací. Pomocí zálohování nastavení je možné vždy bezpečně obnovit stav před případným neúspěšným pokusem.

Categories: Asus WL-500gP Tags:

Záloha a obnova obrazu disku

07.05.2009 Bez komentářů

Abyste nemuseli znovu např. při výměně USB disku tento proces absolvovat znova, celý adresář /opt si zarchivujte programem TAR. Použijte následující příkazy: cd /opt tar cvf opt.tar * tím se vytvoří obraz disku, který lze uchovat a pokud nechcete znovu zadávat hesla k vsftpd zálohujte též soubor /etc/passwd.

Obnova obrazu disku

Při obnově pak stačí jen založit na novém disku příslušné oddíly, jak je psáno výše a dekomprimovat vytvořený opt.tar do složky /opt příkezem tar xvf /opt/opt.tar případně nakopírovat soubor passwd do /etc/. Pokud máte zálohovaný soubor již někde na disku, překopírujte jej příkazem cp /tmp/data/backup/opt.tar /opt/
Následuje uložení a restartování routeru: flashfs save && flashfs commit && flashfs enable a reboot .

Categories: Asus WL-500gP Tags:

Pevná adresa pomocí služby no-ip.com

Pokud si nechcete u svého ISP platit pevnou IP adresu a přitom byste rádi vzdáleně přistupovali do své domácí sítě, či na stránky, umístěné na domácím serveru, lze využít služby no-ip.com, ke které je pro WL-500g k dispozici klient. Klient se stará o aktualizaci záznamů pro vaši IP adresu, pokud dojde k její změně, odešle informaci na DNS servery služby no-ip.com. Pokud máte vlastní doménu, lze ji též namapovat na Váš domácí router pomocí tzv.CNAME.

Nejprve je potřeba se na stránkách www.no-ip.com registrovat. Po vyplnění jednoduchého formuláře obdržíte aktivační email. Bezplatný účet služby no-ip.com má jistá omezení a jednou za 60 dnů je potřeba potvrdit, že službu stále používáte.

Po přihlášení zvolte Add a vyplňte požadované hostname a z menu si vyberete požadovanou doménu. Pokud máte vlastní doménu, pak vám na tvaru hostname příliš nezáleží, neboť jej později stejně budete volat pomocí CNAME. Poté zvolte, že potřebujete záznam typu DNS Host (A). Dole pak můžete již nyní vložit IP adresu vašeho routeru, později pak bude tento údaj měnit program běžící v routeru.

Poslední krok je instalace programu noip, který zajišťuje update IP adresy na DNS serveru no-ip.org. K serveru se přihlaste pomocí telnetu. Následuje série příkazů, nejdříve pro jistotu příkaz ipkg update, následně příkaz ipkg install noip po dokončení instalace zadejte příkaz noip2 -C, tím spustíte konfiguraci tohoto programu. Vyberete IP adresu rozhraní, která bude posílána na DNS server. Vyberte vlan1 a zadejte číslo, které je jí přiřazené. Následuje zadání přihlašovacích údajů ke službě a dokončení procesu nastavení. Nyní ještě zařídit automatické spouštění programu noip2, to provedete zadáním řádku /opt/bin/noip2 do souboru init.usb

nano /opt/init.usb <enter>

kontrolu běhu a nastavení programu provedete příkazem noip2 –S [11]

Categories: Asus WL-500gP Tags:

Instalace ssh protokolu

07.05.2009 Bez komentářů

Pro bezpečnější správu souborů routeru potřebujete protokol ssh – např. ve spojení s programem WinSCP dosáhneme bezpečného spojení s routerem pro přenos souborů

Založte adresář pro klíče ssh: mkdir -p /usr/local/etc/dropbear <enter> chmod 777 /usr/local/etc/dropbear < enter > Vygenerujte vlastní šifrovací klíče RSA a DSS (toto může chvíli trvat),

dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key <enter> dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key <enter>

Na závěr vytvořte a editujte potřebný samospouštěcí soubor init.usb :

echo „#!/bin/sh“ >> /opt/init.usb <enter> chmod +x /opt/init.usb <enter> (nastaví soubor jako spustitelný)

V editoru nano otevřete init.usb nano /opt/init.usb <enter> a vložte do něj následující:

#!/bin/sh
iptables -I INPUT -j ACCEPT -p tcp --dport 21
iptables -I INPUT -j ACCEPT -p tcp --dport 22
iptables -I INPUT -j ACCEPT -p tcp --dport 23
iptables -I INPUT -j ACCEPT -p tcp --dport 81

#spust pro ssh
dropbear

# wait for /opt to mount
mount /dev/discs/disc0/part1 /opt -t ext3 -o data=writeback
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

# Activate swap
swapon /dev/discs/disc0/part2

# Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung

Skript rc.unslung zabezpečuje spuštění všech skriptů v /opt/etc/init.d začínajících písmenem S a to podle abecedy/pořadí (např. S01, S50, S99 atd.). K tomu je třeba povolit spuštění souborů v této složce: chmod +x /opt/etc/init.d/*

a nyní vše uložte Ctrl+O, ukončete editor nano Ctrl+X a vše zapíšeme do flash paměti NVRAM: flashfs save <enter> flashfs commit <enter> flashfs enable <enter> a restarujte router: reboot <enter> [10]

Categories: software Tags:

Instalace editoru NANO

06.05.2009 komentáře 2

Všechny systémy UNIX mají ve výchozí instalaci dostupný editor vi, ten je však velice „nepohodlný“ a vyžaduje určité znalosti. Mnohem jednodušší a intuitivnější je editor nano.

/opt/bin/ipkg update <enter> (aktualizace databáze dostupných balíčků a verzí systému ipkg) /opt/bin/ipkg install nano <enter>

Pokud chcete v systému editor vi úplně nahradit editorem nano, zapíšete do souboru /opt/etc/profile řádku export EDITOR=“/opt/bin/nano“.

Categories: Asus WL-500gP Tags:

Instalace balíčkovacího systému IPKG

06.05.2009 komentáře 4

Nyní je nutné nainstalovat balíčkovací systém ipkg: mkdir /opt/tmp <enter>
mkdir /opt/tmp/ipkg <enter> ipkg.sh update <enter> ipkg.sh install ipkg-opt <enter>.


balíčkovací systém pro instalaci software z repositářů v operačním systému Linux běžícím na vestavěných zařízeních. Při daleko menší náročnosti na hardware se snaží o komfort balíčkovacího systému Debianu, dpkg. [1]

Categories: Linux návody, software Tags: