Některé dny Řekl jsem jim o FlatPress, webová aplikace (CMS), pomocí které můžete mít blog nebo něco podobného, aniž byste museli používat databáze nebo něco komplikovat 🙂
No, mám na svém notebooku a FlatPress pro osobní poznámky, věci, na které nechci zapomenout, a proto je píšu do tohoto osobního blogu. Ale jak už jistě víte několik z vás ... Jsem do jisté míry paranoidní s bezpečností, a pokud se jedná o bezpečnost MOJE myšlenek, nemáte tušení, jak paranoidně můžu být llegar
Setkal jsem se tedy s problémem: Jak mohu pomocí FlatPress chránit veškerý obsah?
Myslel jsem na několik aplikací, které umožňují šifrování dat, ale ... nikdo neudělal přesně to, co jsem chtěl, a tak jsem se sám pustil do programování toho, co jsem chtěl.
Nyní vám ukážu skript, který jsem vytvořil, a který provede následující:
1. Zobrazuje dialogové okno s dotazem, zda jste KZKG ^ Gaara, pokud stisknete NE, skript se zavře, pokud stisknete ANO, vše pokračuje jako obvykle.
2. Zobrazit textové pole s dotazem, jaké je heslo:
3. Pokud stisknete Zrušit, skript se zavře, nyní přichází jeden z triků skriptu 😉 ...
3.1. Logika spočívá v tom, že skript porovná heslo, které napíšeme, s heslem, které je již předdefinováno ve stejném skriptu, a pokud se hesla shodují, bude pokračovat v běhu a pokud se hesla neshodují, zobrazí se chybová zpráva. Problém je v tom, že pokud do skriptu vložíme správné heslo právě tak, každý, kdo skript otevře pomocí textového editoru, uvidí správné heslo velmi jasně .. a to moji přátelé, je to prostě neodpustitelné selhání
3.2. Abychom se vyhnuli tomu, že do skriptu vložím takové heslo do prostého textu, použil jsem MD5. To znamená, že na začátku skriptu jsem prohlásil, že správné heslo je «2dac690b816a43e4fd9df5ee35e3790d«, A toto je MD5:«desdelinux«. ... Ničemu nerozumím!! ... 😀
Pojďme podrobněji trochu více. Pokud nyní píšu do souboru (například, ~ / pass.txt) textu: desdelinux
Pokud v terminálu píšu: md5sum ~ / pass.txt
Vrátí se mi: 2dac690b816a43e4fd9df5ee35e3790d sum
A ... jak vidíte, ten první sloupec, který má spoustu čísel a písmen v žádném zjevném pořadí, je shodně stejný jako ten, který jsem vložil výše, a je to ten v deklarovaném skriptu.
První sloupec je MD5 z desdelinux 😉
Pokud uvedou následující, vrátí pouze 1. sloupec, který nás zajímá: md5sum ~/pass.txt | awk '{print $1}'
4. Fungování skriptu v této konkrétní části tedy je:
4.1. Skript vloží heslo, které jste napsali, do dočasného souboru s názvem temp.txta pomocí příkazu rozbalí MD5 z obsahu tohoto souboru:
md5sum temp.txt | awk '{print $1}'
4.2. Pokud MD5 hesla, které jste právě napsali, NENÍ stejné jako heslo, které má definované (tj. Heslo napsané ve skriptu), zavře se a zobrazí chybu:
4.3. Pokud se heslo shoduje, perfektní ... skript pokračuje 😀
5. Když se heslo shoduje, skript provede řadu kroků, v mém případě:
5.1. Vstupí do složky / home / shared / hosted / - » cd / home / shared / hosted /
5.2. Složka FlatPress se jmenuje „já“ a je komprimována v .RAR chráněném heslem (heslo je stejné, jako by mělo být nastaveno dříve), takže skript tento soubor rozbalí (me.rar) - » rar x me.rar -hp $ MWORD
vzácné x - »Co dělá, je dekomprimace souborů a složek ve stejném pořadí, v jakém jsou.
já.rar - »Toto je soubor, který chci rozbalit.
-hp $ MWORD - »Tady vám říkám, že k rozbalení souboru musíte použít heslo a heslo je proměnná $ MWORD (tato proměnná je heslo, které jsme zadali dříve)
5.3. Takže pokud byl dobře rozbalen, odstraním soubor me.rar ... proč? No, protože nedává smysl, že .rar existuje, pokud pracuji se soubory, které jsem měl uvnitř, a tyto soubory se mění, protože píšu nové věci na blogu - » rm me.rar
5.4. Aby vše fungovalo, musím změnit oprávnění - » chmod 777 -R me / (pamatujte, že složka me / je to, co obsahovalo komprimovaný me.rar)
5.5. Ukáže mi okno, které mi říká, že mám 10 sekund na otevření „prohlížeče“…. WTF!, Co to znamená? ...
5.5 (a). Jednoduché, velmi jednoduché ... 🙂 ... Otevřu prohlížeč (v tomto případě rekonq) a pracuji na novém příspěvku, ale když zavřu prohlížeč, skript komprimuje složku me / znovu v .rar (zbývající v me.rar).
To je možné, protože skript každé 3 sekundy kontroluje, zda je Rekonq otevřený nebo ne, pokud zjistí, že je otevřený, skript nedělá nic, ale pokud zjistí, že NENÍ otevřený, provede: rar a me.rar -hp $ MWORD me / * && rm -R me /
Což znamená, že bude komprimovat složku mě/ en já.rar (a vloží heslo, které by bylo stejné, jak jsme již viděli) a jakmile jej zkomprimujete a pokud nedošlo k žádným chybám, bude složka odstraněna mě/ se vším obsahem.
5.5 (b). Jak nám to pomáhá? ... jednoduché, tím se vyhneme tomu, abychom si museli pamatovat, že musíme znovu chránit náš obsah, protože na něm musíme přestat pracovat (zavřít prohlížeč) a zbytek práce udělá skript 😉
6. Připraveno, to bylo vše vysvětleno obecně 🙂
... i když je tu ještě další detail 😀
Skript má ještě větší ochranu, ochrana, která je zakázána (komentována), jsou tyto řádky:
if [ "$USER" != "$ME" ]; then
rm *.sh
kdialog --error "Sorry but u are not me. Auto-destroying..." --title "Im Me..."
exit
fi
Co dělá, je jednoduché. Proměnná $ USER je globální proměnná systému, pokud je v terminálu uvedena:
echo $USER
Uvidíte, co vám váš uživatel ukáže ... logika těchto řádků je jednoduchá.
Pokud $ USER neodpovídá proměnné $ ME (a bylo to deklarováno mnou ve skriptu a je to: „gaara“), skript smaže VŠECHNY soubory .sh které jsou v této složce, to znamená, že se autodestrukují 😉
To zabrání tomu, aby někdo jiný spustil skript na jiném počítači hehehehe.
A nemyslím si, že by se dalo vysvětlit mnohem víc, opouštím skript
Vím, že pro mnohé to bude extrémně složité, ale ve skutečnosti je to děsivější, než by mělo ... skript má opravdu jednoduchou pracovní logiku, a to z jednoduchého důvodu.
Udělal jsem to, abych splnil svoji velmi specifickou potřebu, sdílím to v naději, že někdo jiný zde vysvětlený řádek nebo nápad může někomu sloužit 😉
Mimochodem, skript je určen pro KDE, protože dialogová okna (okna), která zobrazuje, jsou z KDE (pomocí KDialog), ale lze jej upravit pro Gnome / Unity / Cinnamon / Mate pomocí zeity, nebo jej použijte 100% v terminálu jednoduše pomocí příkazu dialog.
A ano, skript má stále nějaké další nedostatky, například pokud skript rozbalí soubor .rar a pak někdo skript násilně zavře (zabije), obsah souboru .rar bude nechráněný, zbývá ještě několik detailů ... ale hej, musíme také kontrolovat, že nikdo nemůže zkontrolovat náš počítač 😀
Na závěr chci objasnit, že nejsem programátor, natož, nepovažuji se za takového, představuji si, že můžete optimalizovat řádky v kódu nebo použít nějakou funkci ke zlepšení fungování skriptu ... ale řekl jsem, že nejsem programátor 😉
Jakékoli dotazy, které k tomu mají, mi řeknou, i když jim skript nemusí sloužit, protože to nepotřebují, vždy se z toho mohou naučit nějaký jiný tip 😀
pozdravy
PD: vím to živý řekne, že jsem příliš paranoidní ... nebo že ztrácím čas, ale není to tak. Chtěl jsem něco velmi konkrétního, velmi specifického bezpečnostního systému a sám jsem si to naprogramoval ... jak je to geeky? … LOL !!
To je zajímavé, ale myslím, že otázka ano / ne je velmi prd xD
A co si myslíte, místo použití rar, který je proprietární a nenabízí skutečné zabezpečení, nahraďte gpg, což je bezpečnostní software, který se v průběhu let více než osvědčil a existuje prakticky ve všech distribucích 😉
Další věc, můžete předat md5sum řetězec, nemusíte vytvářet dočasný soubor. Zde také doporučuji přejít na sha, který je mnohem bezpečnější, zkuste to v terminálu: shasum
SAludos!
Dobrý den a děkuji za váš komentář 😀
GPG mi umožňuje zabalit adresář s veškerým jeho obsahem? Je to tak, že jsem to vlastně použil pouze pro jednotlivé soubory, ne pro adresáře obsahující podadresáře a soubory.
ooo ... skvělé na shasum, neznal jsem ho 😀
Pokračuji úpravou skriptu tak, aby používal tento, a ... ano !! pravda, jednoduše: echo "$ HESLO" | shasum Řetězec už mám, ve skutečnosti ho není třeba zapisovat do souboru :)
Velice vám děkuji za komentář, už jsem se naučil něco nového 🙂
pozdravy
je to to samé, co jsem se ptal ...
Co byste potřebovali, je přijít na to, jak GPG zašifrovat soubor a předat mu heslo na stejném řádku ... například:
gpg -e file.tar.gz –password elpassword cokoli
Nějaký nápad, jak to udělat? 🙂
Chcete-li zašifrovat adresář c / gpg, musíte jej nejprve zabalit pomocí tar.
pak je v tomto případě vhodné použít symetrické šifrování s parametrem -c (rozdíl mezi symetrickým a asymetrickým šifrováním viz wikipedia).
to by pak bylo něco jako:
tar -czf destination.tgz zdrojový adresář / && echo $ passwd | gpg –batch –compress-level 0 -c –passphrase-fd 0
vytvoří se komprimovaný soubor s názvem "destination.tgz" a šifrovaný soubor s názvem "destination.tgz.gpg". z bezpečnostních důvodů by měl být odstraněn zdrojový adresář i samotná komprese (podívejte se na příkaz skartovat)
dešifrovat:
echo $ passwd | gpg –batch -d –passphrase-fd 0 encryption_file.tgz.gpg | tar -xz
který by extrahoval soubory v aktuálním adresáři (pak mv lze použít k jejich přesunutí jinam)
Jakékoli dotazy, odpovězte na tento komentář 🙂
Zdravím !!
ehm, pozor na dvojité pomlčky (-) a jednotlivé pomlčky (-) ... existuje způsob, jak napsat něco, jako by to byl kód, aby se formát nezměnil?
prueba de codigo -- -
[kód] testovací kód - - [/ kód]
Strávím to podrobněji
komprimovat a šifrovat:
tar -czf destino.tgz directorio_fuente/ && echo $passwd | gpg –batch –compress-level 0 -c –passphrase-fd 0
Zde jsou dva kroky: nejprve vytvořte komprimovaný soubor a poté, pokud nedošlo k žádné chybě, pokračujte šifrováním (řetězení pomocí &&)
dešifrovat a rozbalit:
echo $passwd | gpg –batch -d –passphrase-fd 0 archivo_cifrado.tgz.gpg | tar -xz
pozdravy!
Jo, vlastně včera doma jsem četl gpg muže a bylo tam vše, co jsem potřeboval, necesitaba
Vlastně jsem to tak úplně neudělal, nepoužíval jsem echo ani kompresi, o tom jsem zveřejnil příspěvek, jen jsem to zveřejnil.
Moc děkuji za pomoc příteli, opravdu ano.
Báječné! Jen jsem hledal něco takového a narazil jsem na váš článek. Chci to otestovat, abych ochránil svá data. Pokud jde o zabezpečení počítače, nikdy nemůžete být příliš paranoidní. Děkuji
Díky haha.
Pochopili jste, jak scénář funguje, že?
Zdá se to mnohem složitější, než ve skutečnosti je lol.
Díky za komentář, opravdu 😀
pozdravy
PS: Zabezpečení nikdy není dost hahaha.
Trochu mě stálo to pochopit (četl jsem to 3x), protože linux už dlouho nepoužívám. Ale je to opravdu jednoduché a je vždy příjemné učit se takové věci. Zdravím a ještě jednou děkuji.
Důležité je pochopit to hehe. Snažil jsem se vysvětlit všechno extrémně podrobně, ale myslím, že jsem příliš rozšířil hahaha.
Díky vám 🙂
Páni, scénář je velmi dobrý 🙂
PS: Paranoia je více než 9000! xD
hahahahahahaha to jsem já ... LOL !!
Při pohledu na váš skript si myslím, že to lze provést pomocí xdialog, pokud nemáte kde :)! Na zdraví
Ach, nevěděl jsem o xdialogu ... budu to muset sledovat 😀
Díky za informace.
místo rar proč nepoužívat tar.xz / gz a gpg?
je to proto, že už to máte v rar, kde máte svůj CMS
Vynikající @ KZKG ^ Gaara před dny jsem o něčem takovém přemýšlel, ale jsem na zkouškách, takže jsem na nic neměl čas a najednou vidím tvůj článek….
Zkusím to příští týden 🙂
Děkuji, jakékoli podrobnosti zde jsem 😀
xD Nerozuměl jsem ničemu, ale pokud bych chtěl, jak správně používat kdialog ve skriptech, jak získat zprávu v oznamovateli KDE
Chcete-li dostávat zprávy v oznámeních KDE, zkuste nainstalovat balíček: libnotify-bin
Pak do terminálu vložíte:
notify-send "texto texto texto"
A uvidíte, jak cool 😀 ... a toto funguje pro KDE, Gnome, Unity, Cinnamon, Mate a Xfce 😉
V tomto skriptu však nepoužívám oznámení jako taková, ale pouze okna KDialog. V typu terminálu:
kdialog
A uvidíte tam pomoc 😉
Zdravím 😀
Moc děkuji o /
Dobrý den, dobrý příspěvek, jen návrh, je v pořádku, že u md5 to není vidět pouhým okem, ale někteří zvědaví mohou použít duhovou tabulku, aby zjistili, zda je tam heslo převedené na md5, doporučuji použít bcrypt (http://bcrypt.sourceforge.net/), je to jen návrh, můžete si jej vzít při jakékoli příležitosti, Zdravím vás.
Díky 😀
Vlastně ano, MD5 není dokonalý a jsou ti, kterým se podařilo získat hesla, podívám se na tuto aplikaci 😉
Děkuji za Váš komentář.
se symetrickým v kdialogu vás požádá o heslo
as asymetrickým pomocí veřejného klíče.
Musím objasnit, že nemám ani stopu po programátorovi.
Ano, už se mi podařilo zašifrovat pomocí GPG (ve skutečnosti jsem o tom vložil příspěvek) hehe.
KZKG ^ Gaara vždy číst váš příspěvek.
Vytvořte si jeden pro použití s XFCE.
Pusa. Drahý
Ahoj a především, vítejte na blogu 😀
hahaha děkuji, vím, že někdy je to těžké, protože píšu něco technického, ale vždy se snažím vše vysvětlit co nejjasněji
Trochu budu experimentovat s XDialog nebo Zenity, abych zjistil, zda to funguje pro Xfce haha, testy provedu ve virtuálním Xubuntu 🙂
pozdravy
Docela užitečný člověk, díky!
Zdravím!
Děkuji, hodně mi pomůže chránit některé soubory
Musel jsem to přizpůsobit zenitě, protože momentálně nemám kde: \
Zde nechávám kostru, kterou budu používat, přizpůsobenou zenity
http://paste.desdelinux.net/4641
Ještě jednou díky a pozdravy 😀
oooo skvěle, moc děkuji 😀 😀
Vzpomínám si, že to někdo žádal, ale pro Xfce, se Zenity by to fungovalo v Xfce, že?
Ano, pouze to, že příkaz byl přidán k přidání příkazů, které mají být provedeny, po předání hesla shasum nebo md5
Muselo by to být upraveno podle různých potřeb každého člověka, aby bylo možné chránit různé věci na různých cestách různými příkazy
Nebo možná přidání další části (GUI) k vytvoření bezpečnostní konfigurace našeho souboru
Zdravím 😀
Měl jsem čas a xfce (v Archlinuxu) a už jsem skript plně přizpůsobil tak, jak byl, pro xfce používající zenity (myslím), protože ten, který jsem nechal výše, byla pouze kostra, kterou jsem použil
http://paste.desdelinux.net/4644
Lze jej upravit, pokud obsahuje chybu z pasty?
Co se stane, je, že mám několik grafických skořápek a nevím, jestli to bude fungovat v čistém xfce, například v xubuntu
Zdravím 😀
Zajímavé che !!! Dobrý příspěvek !!!!!!
Jsem velmi nový v programování, učím se BASH kousek po kousku ... ale některé věci mě napadlo a mohou nebo nemusí být pro vás užitečné.
Když říkáte, že oloupaný skript má zabudované heslo a bylo by neodpustitelné, aby ho někdo otevřel a odtud přečetl ... navrhujete celý tento trik vložení MD5 jako ochranného opatření.
Což je docela dobrý krok jako první krok k zkomplikování života případnému vetřelci, ale podívejte se na následující nápady (které lze dokonce použít jeden na druhého)
NÁPAD 1) Co když heslo uložíte do souboru v počítači a nebudete ho hostovat ve skriptu?
EJ: do txt vložte klíč a uložte jej do / home / /bla/bla/key.txt
Ve vašem skriptu zavoláte klíč jako KEY = "$ (cat $ HOME / blah / bla / key.txt)", pak hodíte if $ questionkey = $ KEY, pak .. atd.
Tímto způsobem dosahujete výhody 3 věci +1:
1) Že heslo nikdy nebylo ve skriptu. (Vyhýbáte se MD5)
2) Cesta, kde je heslo, závisí na uživatelském jménu. (Každý, kdo jej chce otevřít, přesměruje jej kamkoli) V 99.9% případů skript selže.
3) Pokud chcete více zabezpečení, odeberte všechna oprávnění k souboru key.txt všem ostatním uživatelům kromě vašeho.
4) Výhoda: Přenositelnost pro změnu hesla, kdykoli chcete, bez úpravy skriptu. Protože ověření je externí prostřednictvím souboru.
NÁPAD 2) Co tak zmatit celý bash skript, takže ho nelze ani otevřít?
Jedním ze způsobů, jak toho dosáhnout, je využít výhody skutečnosti, že v jazyce C musíte kompilovat.
Poté zavádí skript uvnitř kódu C, že vše, co dělá, je volání tohoto skriptu (ale to je uvnitř programu). V okamžiku kompilace ... vše je ponecháno uvnitř a váš výstup je spustitelný ... a už ne skript. Existuje člověk, který již vytvořil „scénář“, který provádí proces zmatení, což je velmi praktické.
Více informací zde: http://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes/Compilar_%28ofuscar%29_BASH_scripts_con_C_-_SHC
NÁPAD 3) Co kdybyste do skriptu vložili virtuální podmínku, která vyžaduje heslo správce?
Například proveďte podmínku pomocí „sudo“ a poté pokračujte ve skriptu, pokud jej nezastavíte.
Tímto způsobem by veškerá ochrana padla jako most přes vaše heslo ROOT.
No, nic víc ...
Na zdraví!!!!!!!! a podržte BASH.
HAHAHAHA Děkuji 😀
Ve skutečnosti nyní používám SHA512, protože je mnohem lepší než MD5: https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/
Stejně jako GPG jako prostředek ochrany namísto komprese s .RAR: https://blog.desdelinux.net/como-proteger-datos-con-gpg-de-forma-simple/
Problém s vložením hesla do jiného souboru spočívá v tom, že by to heslo dalo na jiné místo, ano, ale bylo by to v prostém textu? Pokud to musím zašifrovat (což se doporučuje), nechám to ve stejném skriptu, no ... moc pochybuji, že někdo může SHA512 hahahaha rozbít (viz 1. odkaz a pochopíš 😉)
Pokud jde o oprávnění, pokud někdo používá LiveCD, může otevřít .txt pomocí kořene LiveCD, takže oprávnění nejsou úplně nejlepší volbou.
O zamlžování kódu Bash ... ano, přemýšlel jsem o tom a myšlenka je SKVĚLÁ, problém je v tom, že nevím, jak to udělat, ve skutečnosti ani nevím, jestli se to dá udělat HAHAHA.
Ach počkej ... teď jsem přečetl zbytek komentáře O_O ... hehe, nevěděl jsem, že to dokážeš. Nemám ponětí o C nebo C ++, ale možná by stálo za to vyzkoušet lol.
O nápadu 3, není to špatné 😀
Od zveřejnění tohoto příspěvku jsem udělal několik vylepšení skriptu, 2 jsou ta, která jsem zmínil v odkazech na začátku tohoto komentáře, další je, že pokud změníte jakýkoli znak ve skriptu, bude odstraněn. A teď to musím zkusit zamaskovat kód hahahaha.
Děkujeme za váš komentář a ... ano, vydrž, bash !!! HAHA
WTF!
Už jsem použil SHC ... GE-NI-AL !!!! O_O
Velmi dobrý skript, hej a pokud používáte kontrolu kořenů, abyste mohli spustit skript jako sudo ./script
Tento kód byste museli přidat na začátku
http://paste.desdelinux.net/4663
Pozdrav
KZKG ^ Gaara, příteli, myslím, že rozšíření vysvětlení není problém, což je dobré pro ty z nás, kteří nemají tolik znalostí. Články, které neučí, byly publikovány přímo zde, poskytují pouze informace o něčem, co existuje. Takže se neomluvte a nechte toho být více s rozšířeným vysvětlením.
Pro takové věci používám http://www.truecrypt.org/
Mohl by někdo sdílet scénář? Jsem zvědavý a všechny odkazy jsou nefunkční. 🙁
Děkuju.