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