Néha el kell engedned az emlékeid. Első rész.Praha: 2016-08-01 11:00
Budapest: 2016-08-01 11:00
Buenos Aires: 2016-08-01 06:00
Permalink

2016 júniusának folyamán úgy döntöttem, hogy kiegészítem az adatmentési rendszeremet egy Western Digital MyCloud EX2 eszközzel. Még mindig megvannak az ősök - WD MyBook World 500GB (BlueRings) és WD MyBook 1TB (WhiteLight) - ezért egy kortárs 8 terabájtos mellett döntöttem.

A tárolóegységek kapacitásának marketingje kezd nevetségessé válni. Régebben teljesen elfogadott volt, ha egy 1GByte kapacitású merevlemez a gyakorlatban csak valami 980MByte-tal rendelkezett.

Manapság egy 8TB lemez RAID1 módban nem 4TByte, hanem 3.72TB. Közelítő gyors matematika, levonva a rendszerszoftvert: ~26.5GB-tal kevesebbet kapsz.

Persze ez valószínűleg csak egy töredékszám manapság.

Mivel az utóbbi x évben volt és van szerencsém ismerni WD és további NAS (Network Attached Storage: hálózati tárhely) eszközöket mind személyes és üzleti felhasználásra, ezért úgy gondolom, hogy tudom mit igen, és mit nem várok el az ilyen eszközöktől. A teljesség igényessége nélkül: nincsen szükségem felesleges protokollokra, média szerverekre, torrent letöltőkre, távoli hozzáférésre, és így tovább.

Amire szükségem van:

Elegendő mennyiségű kíváncsiság és munka után, a régebbi WD eszközök teljes mértékben teljesítették a fenti - valljuk meg őszintén, nem túl összetett - álmokat.

Itt van, hol a WD MyCloud EX2 borzasztóan elbukik.

A megelőző pozitív tapasztalatok alapján örömmel vártam ezt az eszközt a kezeim között. Elsődlegesen, mivel a MyBook is a körömben van, de:

----

JOGI NYILATKOZAT:
Az alábbi sorok részletekben olyan különféle lépéseket és gyakorlati parancsokat írnak le, melyek elegendő odafigyelés és hozzáértés nélkül adatvesztést és/vagy a MyCloud EX2-höz való hozzáférés teljes vagy részleges megszűnését okozhatják. Ezért s - továbbá - ilyenért semmiféle felelősséget nem vállalok.

Ez afféle parasztos RTFM mód. Akkor nem voltam boldog, de manapság úgy emlékszem vissza az első jelentősebb adatvesztésemre, mint vicces: 2000 környékén az első lépéseim során mialatt a Linuxszal ismerkedtem, lefuttattam egy cp valami /dev/hda parancsot.

Akkoriban nem volt otthoni internet, második számítógép tesztelésre (még másik merevlemez sem), virtuális gépek, és elegendő forrás a profi adatmentésre pedig végképp nem.
A művelet tönkretette a fájlrendszert, és búcsút intettem az adataimnak.

----

Innentől közvetlenül a csatamező közepébe ugorva: mialatt kényelmesen kicsomagoltam és bekapcsoltam az eszközt, sötét fellegek kezdtek gyülekezni. És olcsó sem volt.

Az első sokk, a kálvária első lépcsője akkor érkezett, mikor az első bootolás után nem tudtam elérni az eszközt se nem IP-cím vagy helyi hosztnév alapján; ahogy azt a kézikönyv javasolja. Különösebben nem izgatott a dolog, van életem amivel törődjek ahelyett hogy Eléggé Linux Fanboy vagyok-e? dolgokon törjem a fejem, így felbootoltam a Microsoft Windows partíciót, letöltöttem és telepítettem a WD Access programot, hogy így kövessem a hivatalos telepítő lépéseket.

Az út sima és malőrmentes volt, az eszközt el tudtam érni, így visszaváltottam Linuxra, beállítottam a felhasználókat, megosztásokat, hálózatot és további dolgokat a webes felületen keresztül. Nem értettem annak ötletének mélységét, hogy 2016-ban miért vannak 16 karakterre limitálva a jelszavak - de elhessegettem a gondolatot. Később azt a gondolatot is tovadobtam, hogy DSA algoritmusú, 1024 bites kulcsot kínál a rendszer alapból - majd megteszem a teendőket, ha benn vagyok az eszköz belsejében.

Az SSHD pokol
Az SSH (Secure Shell) egy afféle alapértelmezett távoli hozzáférés protokoll a Linux rendszerekben: az sshd démon szolgáltatás fut a szerveren, mialatt az ssh kliens használatos a csatlakozásra, hogy úgy lehessen manipulálni a szervert, mintha az a saját gép lenne. A korábbi WD NAS-ekhez képest az EX2 már alapból kínálja az SSH belépést - csak át kell túrnod magad a feddő intelmek során, beleértve a jogi nyilatkozatot, mely arról tudat, hogy az SSH bekapcsolása a garancia elvesztésével jár, ecetera - kattints, hogy kattanjon, jól.

Így is tettem, beléptem az eszközbe, és mint egy tudatlan naïveté elkezdtem a rendszer konfigurálását.

Később újraindítottam. Nem kellett volna.

Az első dolog amit észrevettem, hogy az összes beállításom ellenében az SSH kapcsolat nem az RSA algoritmust kínálja, hanem visszatért az alapértelmezett DSA-ra:

Unable to negotiate with ex2: no matching host key type found. Their offer: ssh-dss

WTF. Mindazonáltal beléptem, hogy kiderüljön, az összes beállításom az /etc könyvtárban elment, eltűnt, megszűnt létezni.

Miaszösz. Az eszköz esszenciájának megértése során kiderült, hogy ramdisk-en alapszik: innen, a firmware-ből kerül a rendszer betöltésre minden bootoláskor - bármit változtatsz a root partíción futás közben, minden felülírásra kerül a következő bootolás során.

Így egy saját firmware építésébe merültem: letöltöttem a 900-valahány megás forrást a WD oldaláról, és idővel elkészült a firmware az SSH-elvárásaim szerint, úgymint például:

AllowUsers u sshd # remove after config
PermitEmptyPasswords no
StrictModes yes
PermitRootLogin no

Mennél több a root felhasználó, annál jobb a buli
Az újraindítás után élvezettel konstatáltam, hogy nem tudok belépni az sshd felhasználóval. Miért? Az /etc/passwd megvizsgálása után kiderült a csattanó:

root:x:0:0:Linux User,,,:/home/root:/bin/sh
sshd:x:0:0:Linux User,,,:/home/root:/bin/sh

Az /etc/ssh/sshd_config alapbeállítás szerint:

sshd@ex2 / # cat /etc/ssh/sshd_config
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_dsa_key
SyslogFacility AUTHPRIV
AllowUsers root sshd
RSAAuthentication yes
PubkeyAuthentication yes
PermitEmptyPasswords yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
X11Forwarding yes
TCPKeepAlive yes

Mindez azt jelenti, hogy az sshd felhasználó csak egy root másolat (a root felhasználó az Adminisztrátor, vagy Isten Linuxos megfelelője). Mindez azt jelenti, hogy ha olyan őrült ötleteid támadnának, minthogy biztonsági okból letiltanád a root felhasználó távoli belépését a PermitRootLogin no direktívával - akkor az sshd felhasználóval sem fogsz tudni belépni.

Képzelt beszélgetés
- Mi lenne ha, az sshd egy sima felhasználó lenne egy ssh csoportban, és csak ennek tagjai léphetnek be SSH-n keresztül?
- Meghülyültél? Root jogot, root jogot mindenhova! Áldd a Legtöbb jogosultság szabályát!
- De...ez az eszköz...úgy van hirdetve...és tervezve...hogy állandóan csatlakozzon az internetre...ilyen...módon? A további...Üres...Jelszavak...Engedélyezettek...opcióval?
- Oh, csönd legyen okostojás!

Boldogan éltek, míg meg nem haltak?
Nem. Miután megfőtt az új firmware, a PermitRootLogin megoldódott, azt a különös jelenést kellett észrevennem, hogy az SSH konfiguráció visszatért az eredeti beállításra. Újabb újraindulás, melynek során kiderült, hogy egy fixen kódolt /usr/sbin/ssh_daemon bináris még mindig csípőből tüzel: ez tartalmazza és tölti újra minden induláskor a fenti csudálatos beállításokat.

Egy lépéssel a szakadék szélén de nagyítóval, sikerült megtalálni a a tettest a firmware/module/crfs/localsbin/setServiceStartup.sh fájlban, mely futtatja az ssh_daemon fájlt. Még egy firmware építés, és végre az SSH úgy működik, ahogy az el volt tervezve.

Ezután úgy döntöttem, hogy egyszerűen nem vagyok elég erős ahhoz, hogy egyáltalán bekapcsoljam és megnézzem, hogyan működik a hivatalosan és legálisan támogatott pihepuha Cloud Access (Felhő elérés) és Remote Server (Távoli szerver). :(

De ha bekattintottam azt a dobozkát az SSH aktiválásakor!?
Ha akár csak egy enyhén testre szabott (a bejegyzés csak a jéghegy csúcsa) funkcionalitású eszközt akarsz tudni magadnak, akkor egyértelműen aktiválnod kell az SSH hozzáférést.
De várj! Azzal elveszítem a garanciát! Trükkös lépés WD, trükkös.
További tűnődés, amennyiben valamelyik merevlemez feladná a szolgálatot, és be van kapcsolva az SSH - akkor WD valóban megtagadhatja a merevlemez bevizsgálását és cseréjét? Jogilag, gondolom igen?

Talán, mivel a WD szupportjának küldött levelemre soha nem érkezett válasz. Ehhez talán van valami köze annak, hogy megemlítettem az SSH aktiválását.
if (email tartalmazza ssh) {
hibajegy_nyitasa_kerelem_eldobasa(email);
}

Az első ütközet után, most már ideje használni is az eszközt.

NFS, Első menet
Az NFS (Networking File System) egy afféle alapértelmezett hálózati fájlrendszer protokoll a Linux rendszerekben: az nfsd démon szolgáltatás fut a szerveren, mialatt az nfs kliens csatlakozik és felügyeli a fájlműveleteket.

Ahogy a kézikönyv és a megelőző tapasztalatok súgták, a webes felületen bekapcsolod a protokollt, beállítod a megosztásokat, kiadod az R/W (írás-olvasás) jogosultságokat a hozzáadott sima felhasználónak. A megosztások rendben látszódnak a számítógépen, az fstab csatlakoztatási jogosultságok rendben R/W-re vannak állítva. Mégis, nem tudsz írni az eszközre. Miért?

Gondolatvihar itt és ott, nem tudsz írni, mivel ha a Public opció nincsen aktiválva a webes felületen, akkor az /etc/exports ezt tartalmazza:

/nfs/sharedfolder *(ro,all_squash,sync,no_wdelay,insecure_locks,insecure,no_subtree_check,anonuid="501,anongid=1000")

Az ro azt jelenti, hogy a szerver csak olvasható megosztást engedélyez. Tehát. A megoldás, hogy bekattintod a Public opciót - mely annak ellenében, hogy a megosztást csak egy meghatározott felhasználónak akarod kiosztani - mégis ezzel ellentétben bárki a hálózaton hozzáférhet ennek a feltételezett privát felhasználónak a megosztásához.

NFS, Második kör
Mégha adsz is időt ennek a biztonság szempontjából őrült ötletnek, az alapértelmezett /etc/exports még mindig így néz ki:

/nfs/Public *(rw,all_squash,sync,no_wdelay,insecure_locks,insecure,no_subtree_check,anonuid="501,anongid=1000")
/nfs/private *(rw,all_squash,sync,no_wdelay,insecure_locks,insecure,no_subtree_check,anonuid="501,anongid=1000")

Ez azt jelenti, hogy az összes webes felületen történő beállítás ellenére: minden privát megosztás csak A Felhasználó Akit nobody-nak Hívnak (ID 501) számára lesz írható, és olvasható; nem pedig a tervezett privát felhasználónak.

Lehetséges áthidaló megoldások:

NFS, Harmadik kör
Hátradőltem, és ismét gondolatviharba kezdtem. Szóval milyen gyakorlati jogosultságokat ír a webes felület a rendszerbe? Talán valami FTP, AFP, WebDAV vagy Samba jogosultságokat - de szándékosan, vagy eredő tudatlanságból semmilyen NFS-t. Kivétel persze, ha 777-et szeretnél beállítani egy privát könyvtárra; de ez egy eléggé ostoba döntés volna, nem?

A tovább zakatoló gondolatok később bizonyítékra találtak a /usr/sbin/setSharePrivate.sh and /usr/sbin/share-param.sh fájlok átnézése után:

NFS-saga megoldva
Emlékszel a /usr/sbin/ssh_daemon fájlra? Jó szemeid vannak.

Ennél a pontnál - ekkor már az SSHD pokol mögöttem volt - egy elég egészséges mennyiségű megérzéssel feltételeztem, hogy az nfsd egy hasonlóan megírt...összehackelt módon működik. Láss és ámulj, a firmware/module/crfs/script/nfs egy fixen kódolt /usr/sbin/nfs_config bináris fájl, mely az ssh_daemon-hoz hasonlóan minden induláskor és kikapcsoláskor az összes nem-alapértelmezett NFS beállítást kitörli. Miután átírtam a fájlt, új image-t készítettem (lásd), az NFS protokoll is úgy kezdett működni, ahogy elképzeltem.

Rendezetlen javaslatok

Miért érdemes az idős emberekre hallgatni, és tisztelni őket
Van ez az érzésem, hogy a tény sokszor kerül felismétlésre, de nincsen eléggé megmagyarázva. A teljesség igénye nélkül, mind a BlueRings és a Whitelight:

shutdown.sh
A MyCloud EX2 nem rendelkezik bekapcsológombbal. Hogyan lehet akkor kikapcsolni? Nos, a WD szerint nem kell kikapcsolnod, soha. Mégha így is szeretnél tenni, akkor ez a webes felületen tehető meg. De még ez sem kapcsolja ki teljesen az eszközt, csak alvó üzemmódba állítja.

Belépés ssh-n keresztül és körbevizslatás: három lehetőség adott, Halt, Poweroff és Shutdown.sh

Zöld a ******
Ha a WD valamikor is megemlíti a zöld szót az energiatakarékosság mezején, akkor csak pislogj sűrűn, teljes értetlenkedéssel. Mennyire lehet zöld egy olyan eszköz, melyet 24/7 futásra terveztek? És milyen gumimaci piacfelmérés vagy egyéb motiváció vezette a WD-t erre a megoldásra?

Néhány éve ez a masszív tömeghisztéria sokkolta a világot, s pánik lett úrrá mindenen: Az a piros kis készenléti lámpa az elektronikai eszközökön, azok elhozzák a végzetet! Akkor ezt most mondja meg valaki a WD-nek, lécci.

Kísérteties misztériumok
Semmiféle energiát nem fektettem ezek kiderítésébe, de:

Az internet dolgai (IoT)
Számos weboldal létezik, mely hosszan és látszólag hozzáértéssel kínálja egy-két megoldás gyógyszerét. Ez egy vicces darab: van igazság a leírtakban, és nem feltételezett semmiféle szándékos rossztevés a készítő felől, de két igen fontos információ kimarad a leírásból:

Így, ha a posztíró valóban a dobozból kivétel után írta a fórumbejegyzést, akkor a nyolcadik választ úgy kell érteni, mint a Windows telepítőt használtam, hogy elérjem a webes felületet. A későbbiekben néhány rendszer-visszaállítás után szintén elegendő volt egy DHCP-szerverhez csatlakoztatás - de nem az egyszeri, kezdeti alkalommal.

Ne igyál, ha dolgozol, ne dolgozz ha iszol
Szívesen találkoznék azzal a kódolóval (vagy kódolónővel), aki Vodka becenevet használ. Semmi más indokot nem találtam a felfújt, összehackelt kód-szénakazal láttán (csodálkoznék, ha létezne dokumentáció).

Hogy többek között ezek a találatok szándékosan történtek-e, vagy egy delirium tremens eredménye:

Uhm. Valami jót is említeni?
Talán. A MyBook-hoz képest vannak előnyök - de ha a MyCloud lennék, akkor nem tolnám előre a mellkasomat, mivel elegendő motivációval a MyBook-on is megoldhatóak az alábbiak néhánya:

Mindezek után
Elértem a nem igazán összetett álmaimat, az eszköz az elképzelések szerint működik. Már csak néhány plusz programot kell felpakolni, mint az mc, hogy kényelmesen és a leggyorsabban belsőleg (nem számítógépről, extra protokollokon keresztül) csinálhassak fájlműveleteket (érthető elvárás egy adattárolótól, mi?).

Továbbá még ki kell deríteni a megfelelő kikapcsolás menetét; még nem jöttem rá a változó eredményű kikapcsolás okára: 2+2 mindig néggyel egyenlő, nem 1.7-tel vagy egy teknősbékával.

Elméleti, technikai tűnődések
Mindezek után, a kaland után, melyeket egy EX2 tulajdonos átél. Okos ez az eszköz? Tanít bármit is? Megakadályoz abban, hogy bármit is elérj (név szerint, hogy a saját igényeidre formáld)?

A Linux közösség vs. WD
Évek óta nyilvánvaló, hogy a tanulni akaró Linux közösség közel csontra hackelte az előző WD NAS eszközöket. Ez megtörtént a BlueRingsszel, megtörtént a WhiteLighttal. És mi történt? A lehetőségek határain belül a legtöbbet lehetett kihozni az eszközökből, boldog és elégedett vásárlók küldték tovább az ajánlásokat.

Az égető érzés, hogy az eszközeiket a felhasználók a saját igényeikre szabták; az szomorú, de ha a WD valóban érdekelt a Linuxban, úgy tudhatták volna, hogy ez elkerülhetetlen - méginkább egy egészen valószínűleg semmibe nem került nekik.

Talán a hackelés túlfrusztrálta a WD-t, és ezért építették meg ezt az eszközt. Persze azt is el kell ismerni, hogy valószínűleg több szupport hívást kaptak a tapasztalatlan felhasználótól, akik tönkretették az eszközüket.

Bár a BlueRings és WhiteLight esetében magad kellett az SSH szervert aktiválnod - mely úgy feltételez, hogy tudod mit csinálsz; ember, ne másolj vakon az internetről!

Később és most, legjobb tudomásom szerint az SSH a hivatalos firmware részévé vált, így a bekapcsolása jogilag érvénytelenítette a garanciát.
Tudom, hogy vannak folyamatok és procedúrák, de mégis szégyen, hogy a WD nem vette észre a fenti hibákat, hanem egy nem igazán olcsó terméket dobott a piacra ostoba firmware-ek sorával.

Lesznek projektek, meetingek, helyi csapatok, virtuális csapatok, roadmap stratégiák, táblázatok, hívások, eszkalációk, gondolatviharok a hibák felismerésére vagy gyógyítására a következő firmware-k kiadása előtt: de nehéz elhinni hogy a fenti összesség láthatatlan maradt egy olyan elismert és ismert cégnél, mint a WD.

Viszlát WD NAS eszközök.

^ az oldal tetejére
:: létrehozta Ezüstkép miniNapló
Minden jog fenntartva © 2017