LUKS verschlüsselter Cloud-Raid 10

„Herzlich willkommen zu Ihrem neuen „Ärger den Hoster“ Projekt. Heute wollen wir Ihnen zeigen, wie Sie Webstorageanbieter wie OneDrive oder DropBox in die Knie zwingen können.“  🙂

LUKS verschlüsselter Cloud-Raid 10

Das ist zwar nicht das Ziel unseres kleinen Projekts, könnte aber passieren ;)Beim letzten Linux am Dienstag, hab es ja leider eine kleine Panne bei der Webserverzertifizierung, was uns aber nicht daran gehindert hat, es doch durchzuziehen 😉 In diesem Rahmen habe ich das Projekt schon einmal Live vorgestellt.

Worum geht’s denn eigentlich?

Ihr kennt ja vermutlich den Beitrag, wie man mit SSHFS und Veracrypt einen sicheren Container bei einem Cloudanbieter bauen kann. Das hatten wir ja im Rahmen des letzten LPD 2021.1 vorgestellt. I.d.R. reicht dies für die meisten Sachen völlig aus, hatte aber noch Potential, oder auf Deutsch, ein paar spannende Ecken zum ausforschen, was so geht 😀

Herausgekommen ist eine verschlüsselte, virtuelle Festplatte als RAID 10 mit Spare, die komplett im Netz liegt, aber nur auf dem Lokalen PC vollständig und nutzbar ist. Um die Spannung gleich etwas abzumildern, die Sache mit den Hostern ist, daß sobald sich ein Bit ändert in dem für den Raid genutzten LUKS Container, ist der Container komplett im Backup drin. Wenn der also GBs groß ist, dann belegt das sehr viel Platz im täglichen Backup des Hosters, was Hoster i.d.R. nicht gut finden 😉

Vorteile

  • Es müssen mehrere Hoster ausfallen, bevor das Raid auseinander fällt und Daten verloren gehen.
  • Je kleiner dabei die einzelnen Datenfiles bei den Hostern sind, desto schneller der Rebuild und desto einfacher die Suche nach geeigneten Hosterkandidaten.
  • Das Raid kann von jedem Ort der Welt sicher eingebunden werden.
    Keine Spuren auf dem eigenen PC
    Der Hoster kommt nicht an die Daten ran.

Es sind auch alle anderen Raidformen denkbar, von Raid 1 bis 60 . Denkt mal ein bisschen nach, wieso ich da kein Raid 0 liste.

Nachteile

Ist das Internet nicht erreichbar, oder kommt es auf Netzsegmenten zwischen sich und dem Hoster zu Problemen, fällt das Raid ggf. unabsichtlich aus oder kann gar nicht erst gemountet werden.
Der Raidrebuild ist sehr langsam, langsamer als Ihr jetzt vermuten werdet. Bei Tests 128 KB/s, statt mehreren MB/s.
Keine Redundanz auf dem PC
Das Raid kann immer nur von einem PC aus zusammengesetzt werden. Mehrere würden die Daten zerstören, außer Ihr seid völlig durchgeknallte Datenjongleure 😉

Sinnhaftigkeit

Über die Sinnhaftigkeit eines Cloudbasierten virtuellen Raid 10 muß man sich keine großen Gedanken machen, da es nur eine Grenzfallbetrachtung ist.

Auf der anderen Seite, ein Raid 1 mit einem lokalen Bein und einem, oder mehreren, bei einem Cloudhoster, ist schon deutlich sinnvoller. Das lokale Bein (so nennt man eine Seite des Raids ) hat eine extrem hohe Schreib- und Lesegeschwindigkeit (weil im Tests wars eine NVME ), im Vergleich zum Netzwerk. Das führte bei Tests des Systems zu einer schnellen Reaktion, wie bei einer normalen Platte, und im Hintergrund wurde das dann langsaaaammmm synchronisiert. Das fällt dem Nutzer erst dann auf die Füße, wenn er was ins Raid schreibt und dann das Laptop oder den PC abschaltet, bevor das Raid komplett gesynct ist.

Das Raid würde sich beim nächsten mal zwar reparieren, meistens in dem das Spare genutzt wird, so vorhanden, in ganz wenigen Fällen auch einfach weiter syncen. Eine gute Idee ist es definitiv nicht.

Alternativen

Wer Daten vom PC zu einem Cloudanbieter so spiegeln will, daß eine Backupkopie verhanden ist, sollte dort einen LUKS oder VeraCrypt-Container hinterlegen, den per SSFS anbinden, öffnen und dann mit RSYNC oder einem Clusterfilesystem arbeiten.

Zurück zum Raid 10 in der Cloud

Da ich keine Lust habe, den 45 Minuten Vortrag nochmal zu tippen, hier die Quelle:

Click to access LAD-Raid-10-in-der-Cloud.pdf

Quelle: https://linux-am-dienstag.de/archiv/LAD-Raid-10-in-der-Cloud.pdf

Noch ein paar Anmerkungen

Man kann das auch mit ZFS bauen. Wie gut da die Krypto ist, kann ich nicht beurteilen. Außerdem ist es nicht auf jedem System drauf und es ist definitiv eher auf physikalische Datenträger ausgerichtet.

Die Sache mit dem kpartx ist eine Nummer, die sich nicht jedem sofort erschließt. Ich rate dazu, wenn Ihr das nachbaut, ein Terminal offen zu haben, das „watch -n 1 lsblk“ anzeigt. Damit wird einiges einfacher zu verstehen.

Die Failzeiten des SSHFS sind willkürlich gewählt, wie es meinem Gusto entsprach. Ihr könnt natürlich selbst entscheiden, ob Ihr da 3 Sekundenoder 30 Sekunden bis zum Fail angebt. Im Vergleich zur Dauer eines Rebuild mit 128 KB/s, sind diese exemplarischen 27 Sekunden natürlich nur eine kurze Zeitspanne.(50 MB Raidfiles => ca. 90 Minuten Rebuild )

Ein Raid 1 mit mehr als einem Cloudhoster ist vermutlich die bessere Wahl, kommt aber aufs Szenario an, welches man abdecken möchte.

Die Doppelte Lage LUKS könnte man auch durch eine LUKS ( Webhoster ) – VeraCrypt – Kombination ersetzen, was andere Verschlüsselungsalgorithmen beinhalten würde, was das brechen der Gesamtverschlüsselung deutlich erschwert. Auch könnte es einem in den Sinn kommen, die LuksFormatierung für jedes Datenfile einzeln zu machen, damit dort andere Kryptokeys im Einsatz sind. Weil, nach dem obigen Plan, sind die alle gleich. Bricht also ein LUKS-Container auf, gehen alle auf. Deswegen wäre es eine gute Idee, die planetenweit zu verteilen, was das Ergreifen der Daten deutlich erschwert.

Von Experimenten wie dem Speichern der Daten auf dem Draht der Netzwerkverkabelung ist dringend abzuraten, weil sich da kein LUKS Container drauf abbilden läßt 😉 Das ist ein echt höchst instabiles Speichermedium, wie unsere Tests bei Linux am Dienstag gezeigt haben 😀

Fedora Linux von UNICEF/DPGA als Öffentliches Gut anerkannt

Am 26. August 2021 wurde Fedora Linux von der UNICEF Ausgründung „Digital Public Goods Alliance“(DPGA) als Öffentliches Gut anerkannt.

Fedora Linux von UNICEF/DPGA als Öffentliches Gut anerkannt

An dieser Stelle ein herzliches Dankeschön an alle die derzeit am Fedora Projekt mitarbeiten oder früher mitgewirkt haben: Ihr seid großartig \o/

Die Digital Public Goods Alliance ist eine Ausgründung der UN, die maßgeblich von der Regierung von Norwegen und der UNICEF unterstützt wurde.

Der Anerkennungsprozess wurde zwar nicht gerade öffentlichkeitswirksam durchgeführt, trotzdem ist er dem einen oder anderen doch aufgefallen 😉 Ich sollte vielleicht öfter mal im Fedora Magazin lesen, was die Kollegen da so schreiben 🙂

Das Anerkennungsverfahren wird mit einem Online Fragebogen gestartet, in dem z.B. die Liste der Länder enthalten ist, die das Gut nutzen, in diesem Fall konnte vom Fedoraprojekt diese Liste bereitgestellt werden:

AD: Andorra
AE: United Arab Emirates
AF: Afghanistan
AG: Antigua and Barbuda
AI: Anguilla
AL: Albania
AM: Armenia
AO: Angola
AQ: Antarctica
AR: Argentina
AS: American Samoa
AT: Austria
AU: Australia
AW: Aruba
AX: Åland Islands
AZ: Azerbaijan
BA: Bosnia and Herzegovina
BB: Barbados
BD: Bangladesh
BE: Belgium
BF: Burkina Faso
BG: Bulgaria
BH: Bahrain
BI: Burundi
BJ: Benin
BL: Saint Barthélemy
BM: Bermuda
BN: Brunei Darussalam
BO: Bolivia, Plurinational State of
BQ: Bonaire, Sint Eustatius and Saba
BR: Brazil
BS: Bahamas
BT: Bhutan
BW: Botswana
BY: Belarus
BZ: Belize
CA: Canada
CC: Cocos (Keeling) Islands
CD: Congo, the Democratic Republic of the
CF: Central African Republic
CG: Congo
CH: Switzerland
CI: Côte d'Ivoire
CK: Cook Islands
CL: Chile
CM: Cameroon
CN: China
CO: Colombia
CR: Costa Rica
CV: Cape Verde
CW: Curaçao
CX: Christmas Island
CY: Cyprus
CZ: Czech Republic
DE: Germany
DJ: Djibouti
DK: Denmark
DM: Dominica
DO: Dominican Republic
DZ: Algeria
EC: Ecuador
EE: Estonia
EG: Egypt
EH: Western Sahara
ER: Eritrea
ES: Spain
ET: Ethiopia
FI: Finland
FJ: Fiji
FK: Falkland Islands (Malvinas)
FM: Micronesia, Federated States of
FO: Faroe Islands
FR: France
GA: Gabon
GB: United Kingdom
GD: Grenada
GE: Georgia
GF: French Guiana
GG: Guernsey
GH: Ghana
GI: Gibraltar
GL: Greenland
GM: Gambia
GN: Guinea
GP: Guadeloupe
GQ: Equatorial Guinea
GR: Greece
GS: South Georgia and the South Sandwich Islands
GT: Guatemala
GU: Guam
GW: Guinea-Bissau
GY: Guyana
HK: Hong Kong
HN: Honduras
HR: Croatia
HT: Haiti
HU: Hungary
ID: Indonesia
IE: Ireland
IL: Israel
IM: Isle of Man
IN: India
IO: British Indian Ocean Territory
IQ: Iraq
IS: Iceland
IT: Italy
JE: Jersey
JM: Jamaica
JO: Jordan
JP: Japan
KE: Kenya
KG: Kyrgyzstan
KH: Cambodia
KI: Kiribati
KM: Comoros
KN: Saint Kitts and Nevis
KR: Korea, Republic of
KW: Kuwait
KY: Cayman Islands
KZ: Kazakhstan
LA: Lao People's Democratic Republic
LB: Lebanon
LC: Saint Lucia
LI: Liechtenstein
LK: Sri Lanka
LR: Liberia
LS: Lesotho
LT: Lithuania
LU: Luxembourg
LV: Latvia
LY: Libya
MA: Morocco
MC: Monaco
MD: Moldova, Republic of
ME: Montenegro
MF: Saint Martin (French part)
MG: Madagascar
MH: Marshall Islands
MK: Macedonia, the Former Yugoslav Republic of
ML: Mali
MM: Myanmar
MN: Mongolia
MO: Macao
MP: Northern Mariana Islands
MQ: Martinique
MR: Mauritania
MS: Montserrat
MT: Malta
MU: Mauritius
MV: Maldives
MW: Malawi
MX: Mexico
MY: Malaysia
MZ: Mozambique
NA: Namibia
NC: New Caledonia
NE: Niger
NF: Norfolk Island
NG: Nigeria
NI: Nicaragua
NL: Netherlands
NO: Norway
NP: Nepal
NR: Nauru
NU: Niue
NZ: New Zealand
OM: Oman
PA: Panama
PE: Peru
PF: French Polynesia
PG: Papua New Guinea
PH: Philippines
PK: Pakistan
PL: Poland
PM: Saint Pierre and Miquelon
PN: Pitcairn
PR: Puerto Rico
PS: Palestine, State of
PT: Portugal
PW: Palau
PY: Paraguay
QA: Qatar
RE: Réunion
RO: Romania
RS: Serbia
RU: Russian Federation
RW: Rwanda
SA: Saudi Arabia
SB: Solomon Islands
SC: Seychelles
SE: Sweden
SG: Singapore
SH: Saint Helena, Ascension and Tristan da Cunha
SI: Slovenia
SJ: Svalbard and Jan Mayen
SK: Slovakia
SL: Sierra Leone
SM: San Marino
SN: Senegal
SO: Somalia
SR: Suriname
SS: South Sudan
ST: Sao Tome and Principe
SV: El Salvador
SX: Sint Maarten (Dutch part)
SZ: Swaziland
TC: Turks and Caicos Islands
TD: Chad
TF: French Southern Territories
TG: Togo
TH: Thailand
TJ: Tajikistan
TK: Tokelau
TL: Timor-Leste
TM: Turkmenistan
TN: Tunisia
TO: Tonga
TR: Turkey
TT: Trinidad and Tobago
TV: Tuvalu
TW: Taiwan, Province of China
TZ: Tanzania, United Republic of
UA: Ukraine
UG: Uganda
US: United States
UY: Uruguay
UZ: Uzbekistan
VA: Holy See (Vatican City State)
VC: Saint Vincent and the Grenadines
VE: Venezuela, Bolivarian Republic of
VG: Virgin Islands, British
VI: Virgin Islands, U.S.
VN: Viet Nam
VU: Vanuatu
WF: Wallis and Futuna
WS: Samoa
XK: Kosovo
YE: Yemen
YT: Mayotte
ZA: South Africa
ZM: Zambia
ZW: Zimbabwe

Wobei für diese Länder so wenig Aktivität ist, daß es nur vereinzelte Nutzer geben wird:

CX: Christmas Island
EH: Western Sahara
GS: South Georgia and the South Sandwich Islands
NU: NiueVerwaltungsliste
PN: Pitcairn
SH: Saint Helena, Ascension and Tristan da Cunha
SJ: Svalbard and Jan Mayen
TF: French Southern Territories
TK: Tokelau

Natürlich werden da auch Fragen zu Nutzungslizenzen, Datenschutz und Datensammlungen gestellt. Wer in die Umfangreiche Liste hineinsehen möchte, der kann das -> hier <- tun.

Das Validierungsverfahren der Nominierung wird dann auf Github öffentlich durchgeführt. Ist das erfolgreich abgeschlossen, erfolgt ein weiteres Hauptverfahren, daß dann zum Eintrag in die Verwaltungsliste führt.

Am 26.August war es dann soweit, Fedora Linux wurde als Öffentliches Gut durch die DPGA anerkannt. Nochmals Danke an alle, die das möglich gemacht haben.

Referenzen:

Fedora Linux earns recognition from the Digital Public Goods Alliance as a DPG!

Request Form: https://digitalpublicgoods.net/registry/fedora-linux.html

Nominierung: https://github.com/unicef/publicgoods-candidates/pull/633

Anerkennung: https://github.com/unicef/publicgoods-candidates/pull/634

Fedora: Firefox 92 ist bereit, aber noch nicht im Stable

Kurzes Update zum Firefox Update 92 für Fedora: Es wäre jetzt bereit.

Fedora: Firefox 92 ist bereit, aber noch nicht im Stable

Leider ist es noch nicht im Stable angekommen, da noch automatische Tests laufen, aber Ihr könnt das für Euch beschleunigen, indem Ihr das Update direkt von Koji runterladet:

Die Übersicht zu allen Firefox Builds:

https://koji.fedoraproject.org/koji/packageinfo?packageID=37

Fedora 33: https://koji.fedoraproject.org/koji/buildinfo?buildID=1829910
Fedora 34: https://koji.fedoraproject.org/koji/buildinfo?buildID=1829912

Ihr müßt Euch dann noch die Version raussuchen die zu Eurem System paßt, i.d.R. ist das die „x86_64“ Version. Für Pinephone wäre es natürlich ARM.

Nachdem Download einfach anklicken, mit der App „Software“ öffnen und Root-Passwort eingeben. Fertig.

Eingefleischte Linuxuser machen das natürlich so:

sudo dnf -y update https://kojipkgs.fedoraproject.org//packages/firefox/92.0/2.fc34/x86_64/firefox-92.0-2.fc34.x86_64.rpm

Das geht diesmal, weil kein neues NSS gebraucht wird, eine Serie von Abhängigkeitspaketen für Firefox.