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].