Table of Contents

Dropbear beállítása

A Dropbear (software) egy OpenSSH-kompatibilis Secure Shell (SSH) szerver beágyazott rendszerekhez. Ennek segítségével lehet távolról (hálózaton keresztül) elérni az OpenWrt parancssori interfészét.

A Dropbear beállításait az /etc/config/dropbear fájl tartalmazza.

FIGYELEM! A szolgáltalás hibás beállításával kizárhatjuk magunkat a rendszerből! Mivel a rendszer alapvető biztonsága múlik ennek a szolgáltatásnak a beállításaitól, rendkívül ajánlott elolvasni az alábbi dokumentációkat:

Szekciók

Egy Dropbear példány összes beállítását egy dropbear típusú anonymous config section tartalmazza. A konfigfájl több dropbear section-t is tartalmazhat (maximum 10-et), például a belső és a külső hálózat számára is saját eltérő beállítású SSH szerver indítható.

dropbear

A dropbear section ezeket az opciókat tartalmazhatja. Az opciók nevei kis/nagybetű érzékenyek!

Név Típus Kötelező Alapértelmezés Leírás
enable boolean nem 1 Állítsuk 0-ra a section figyelmen kívül hagyásához. Ekkor az aktuális section-höz nem fog elindulni Dropbear szerver.
verbose boolean nem 0 Állítsuk 1-re ha induláskor “verbose” kimenet szereténk.
BannerFile string nem (none) Üdvözlőszöveget tartalmazó fájl, amit a felhasználók bejelentkezés előtt látnak közvetlenül csatlakozás után. Pl: /etc/banner
PasswordAuth boolean nem 1 Állítsuk 0-ra a jelszavas hitelesítés kikapcsolásához minden felhasználó esetén. (Ekkor csak előre tárolt kulcsokkal lehet belépni)
RootPasswordAuth boolean nem 1 Állítsuk 0-ra a jelszavas hitelesítés kikapcsolásához root felhasználó esetén. (A root csak tárolt kulccsal fog tudni belépni)
RootLogin boolean nem 1 Állítsuk 0-ra, hogy a root felhasználóval történő bejelentkezést letiltsuk. (A root felhasználó sehogyan sem fog tudni belépni)
GatewayPorts boolean nem 0 Állítsuk 1-re ha a forwardolt portokhoz hozzáférést szeretnénk biztosítani a távoli kliensek számára.
rsakeyfile string nem RSA host key-t tartalmazó file, alapértelmezésben /etc/dropbear/dropbear_rsa_host_key
dsskeyfile string nem DSS host key-t tartalmazó file, alapértelmezésben /etc/dropbear/dropbear_dss_host_key
Port integer nem 22 Port, amin figyel az SSH.
Interface string nem (none) Alapesetben minden hálózati interfészen figyel a szerver. Ha beállítjuk, akkor a konfiguráció kizárólag az adott interfészre 1) lesz érvényes. Különböző interfészeket több dropbear section-nel eltérően konfigurálhatunk.
keepalive 2) integer nem 0 Keepalive küldése megadott időközönként, másodpercben megadva. 0=soha
idle_timeout 3) integer nem 0 Kapcsolat bontása egy idő után, ha nincs forgalom, másodpercben megadva. 0=soha
receive_window_buffer 4) integer nem 24576 vételi puffer mérete. A nagyobb érték gyorsabb lehet, max 1 MB

Az alapértelmezett konfiguráció a következő:

config dropbear
        option PasswordAuth 'on'
        option RootPasswordAuth 'on'
        option Port         '22'
#       option BannerFile   '/etc/banner'

Több Dropbear példány futtatása

Az alábbi példa egy olyan beállítás tartalmaz, ahol a LAN oldalon a 22-es porton, míg a WAN oldalon a 2022-es porton fut egy-egy SSH szerver. A biztonság kedvéért a wan interfészen a PasswordAuth opció ki van kapcsolva, így a külső hálózatról csak tárolt ssh kulccsal lehet belépni.

Ellenőrizd a tűzfal DNAT (port forward) beállításokat, hogy a wan oldalon engedelyezve legyen a hozzáférés a 2022-es porthoz.

config dropbear
        option PasswordAuth 'on'
        option Port '22'
        option Interface 'lan'

config dropbear
        option PasswordAuth 'off'
        option Interface 'wan'
        option Port '2022'

Előfordulhat, hogy mégsem indul el minden beállított Dropbear példány. Ezt az okozhatja, hogy a wan interfész csak a dropbear initscript lefutása után kap IP-t. Ezt az időzítési problémát az alábbi hotplug scripttel lehet elkerülni. Mentsük a kódot /etc/hotplug.d/iface/40-dropbear fájlba és így az SSH szerver automatikusan újraindul amikor a WAN interfész feléled.

/etc/hotplug.d/iface/40-dropbear

#!/bin/sh

if [ "$INTERFACE" = "wan" ] && [ "$ACTION" = "ifup" ]
then
        /etc/init.d/dropbear restart
fi

További info a fórumban (angolul): [https://forum.openwrt.org/viewtopic.php?pid=209590|Getting dropbear to listen on multiple ports].

1)
pl. lan, wan, wan6
2) , 3) , 4)
jelenleg nincs implementálva