Pred nekaj dnevi Povedal sem jim o FlatPress, spletna aplikacija (CMS), prek katere imajo lahko spletni dnevnik ali kaj podobnega, ne da bi uporabljali podatkovne baze ali se preveč zapletali 🙂
No, na prenosnem računalniku imam a FlatPress za osebne zapiske, stvari, ki jih ne želim pozabiti, in zato jih pišem v ta osebni blog. Ampak, kot že nekaj vas že ve ... Jaz sem nekoliko paranoičen z varnostjo in, če gre za varnost MOJIH misli, sploh ne veste, kako paranoičen sem lahko
Tako sem se soočil s težavo: kako lahko z uporabo FlatPressa zaščitim vso vsebino na njem?
Omislil sem si več aplikacij, ki omogočajo šifriranje podatkov, toda ... nobena ni naredila točno tistega, kar sem želela, zato sem se sama lotila naloge programiranja, kar sem želela.
Zdaj vam bom pokazal skript, ki sem ga naredil, in naredi naslednje:
1. Prikaže se pogovorno okno z vprašanjem, ali ste KZKG ^ Gaara, če pritisnete NO, se skript zapre, če pritisnete DA, se vse nadaljuje kot običajno.
2. Pokažite besedilno polje z vprašanjem, kaj je geslo:
3. Če pritisnete Prekliči, se skript zapre, zdaj prihaja eden od trikov za skripte 😉 ...
3.1. Logika je, da skript primerja geslo, ki ga napišemo, z geslom, ki je že vnaprej določeno v istem skriptu, in če se gesla ujemata, se še naprej izvaja in če se gesla ne ujemata, se prikaže sporočilo o napaki. Težava je v tem, da če v skript vstavimo pravilno geslo kar tako, lahko vsak, ki odpre skript z urejevalnikom besedil, zelo jasno vidi pravilno geslo .. in to moji prijatelji, gre preprosto za neodpustljiv neuspeh
3.2. Da se izognem takšnemu geslu v navadnem besedilu v skriptu, sem uporabil MD5. Se pravi, na začetku skripta sem izjavil, da je pravilno geslo «2dac690b816a43e4fd9df5ee35e3790d«, In to je MD5:«desdelinux«. ... Ne razumem ničesar!! …😀
Podrobneje podrobneje. Če zdaj pišem v datoteko (na primer ~ / pass.txt) besedila: desdelinux
Če v terminalu napišem: md5sum ~ / pass.txt
Vrnilo se mi bo: 2dac690b816a43e4fd9df5ee35e3790d sum
In ... kot lahko vidite, je prvi stolpec, ki ima veliko številk in črk v nevidnem vrstnem redu, enak tistemu, ki sem ga dal zgoraj, in je tisti v deklariranem skriptu.
No, prvi stolpec je MD5 od desdelinux 😉
Če postavijo naslednje, bo vrnil samo 1. stolpec, ki nas zanima: md5sum ~/pass.txt | awk '{print $1}'
4. Torej, delovanje skripta v tem posebnem delu je:
4.1. Skript bo geslo, ki ste ga napisali, postavil v začasno datoteko z imenom temp.txtin bo z ukazom izvlekel MD5 iz vsebine te datoteke:
md5sum temp.txt | awk '{print $1}'
4.2. Če MD5 gesla, ki ste ga pravkar napisali, NI enak tistemu, ki ga je določil (torej tistemu, napisanemu v skriptu), se bo zaprl in dal napako:
4.3. Če se geslo ujema, popolno ... skript se nadaljuje 😀
5. Ko se geslo ujema, bo skript izvedel vrsto korakov, v mojem primeru:
5.1. Vstopila bo v mapo / home / shared / hosted / - » cd / home / shared / hosted /
5.2. Mapa FlatPress se imenuje "jaz" in je stisnjena v .RAR, zaščitena z geslom (geslo je enako, kot bi moralo biti nastavljeno prej), zato bo skript to datoteko (me.rar) razpakiral - » rar x me.rar -hp $ MWORD
redki x - »Kar počne, je razpakiranje datotek in map v enakem vrstnem redu.
jaz.redko - »To je datoteka, ki jo želim razpakirati.
-hp $ MWORD - »Tukaj vam povem, da morate za razpakiranje datoteke uporabiti geslo, geslo pa je spremenljivka $ MWORD (ta spremenljivka je geslo, ki smo ga vnesli prej)
5.3. Torej, če je bila dobro razpakirana, nadaljujem z brisanjem datoteke me.rar ... zakaj? No, ker nima smisla, da .rar obstaja, če delam z datotekami, ki sem jih imel v sebi, in te datoteke se spreminjajo, ker na blogu pišem nove stvari - » rm me.rar
5.4. Moram spremeniti dovoljenja, da bo vse dobro delovalo - » chmod 777 -R me / (ne pozabite, da je mapa me / tisto, v čemer je bil stisnjen me.rar)
5.5. Odprlo se mi bo okno, ki mi bo sporočilo, da imam 10 sekund časa, da odprem brskalnik… WTF!, Kaj to pomeni? ...
5.5 (a). Preprosto, zelo preprosto ... 🙂 ... Odprem brskalnik (v tem primeru rekonq) in delam na novi objavi, ko pa zaprem brskalnik, skript znova stisne mapo me / v .rar (ostane v meni.rar).
To je mogoče, ker skript vsake 3 sekunde preverja, ali je Rekonq odprt ali ne, če zazna, da je odprt, skript ne naredi ničesar, če pa zazna, da NI odprt, izvede: rar a me.rar -hp $ MWORD me / * && rm -R me /
Kar pomeni, da bo stisnil mapo jaz / en jaz.redko (in postavil bo geslo, ki bi bilo enako, kot smo že videli) in ko ga stisnete in če ni bilo napak, bo mapo izbrisal jaz / z vso vsebino.
5.5 (b). Kako nam to pomaga? ... preprosto, s tem se izognemo zapomnitvi, da moramo svojo vsebino znova zaščititi, saj moramo le prenehati z njo (zapreti brskalnik) in skript bo opravil vse ostalo delo 😉
6. Pripravljen, vse je bilo razloženo na splošno 🙂
... čeprav obstaja še ena podrobnost 😀
Skript ima še večjo zaščito, zaščita, ki je onemogočena (komentirana), so te vrstice:
if [ "$USER" != "$ME" ]; then
rm *.sh
kdialog --error "Sorry but u are not me. Auto-destroying..." --title "Im Me..."
exit
fi
Kaj počne, je preprosto. Spremenljivka $ USER je globalna spremenljivka sistema, če je v terminalu postavljena:
echo $USER
Videli boste, kaj vam prikazuje vaš uporabnik ... no, logika teh vrstic je preprosta.
Če se $ USER ne ujema s spremenljivko $ ME (in sem jo v skriptu navedel in je: "gaara"), bo skript izbrisal VSE datoteke .sh ki so v tej mapi, to pomeni, da se bo samodejno uničil 😉
S tem se prepreči, da bi nekdo drug zagnal skript v drugem računalniku hehehehe.
In no, mislim, da ni kaj več za razložiti, pustim scenarij:
Vem, da se bo marsikomu zdel zelo zapleten, vendar dejansko straši bolj, kot bi moral ... skript ima res preprosto delovno logiko, za preprost namen.
To sem storila, da bi zadovoljila svoje zelo posebne potrebe, in to delim v upanju, da lahko kakšna druga linija ali ideja, ki smo jo razložili tukaj, nekomu služi 😉
Mimogrede, skript je namenjen KDE, ker so pogovorna okna (okna), ki jih prikaže, KDE (z uporabo KDialog), vendar ga je mogoče prilagoditi za Gnome / Unity / Cinnamon / Mate z zenity, ali ga uporabite 100% v terminalu z uporabo preprosto ukaznega pogovornega okna.
In ja, skript ima še nekaj drugih napak, na primer, če skript razpakira .rar in potem nekdo na silo zapre (ubije) skript, vsebina .rarja bo zaščitena, nekaj podrobnosti bo še ostalo polirani ... ampak hej, moramo tudi nadzorovati, da nihče ne more preveriti našega računalnika 😀
Za konec želim pojasniti, da NISEM programer, še manj pa se ne štejem za takega, mislim, da lahko optimizirate vrstice v kodi ali uporabite neko funkcijo za izboljšanje delovanja skripta ... ampak jaz rekel, da nisem programer 😉
Vsa vprašanja, ki jih imajo o tem, mi povedo, čeprav jim scenarij morda ne bo ustrezal, ker ga ne potrebujejo, se lahko iz njega vedno naučijo kakšen drug namig él
pozdrav
PD: to vem živahno rekel bo, da sem preveč paranoičen ... ali da zapravljam svoj čas, vendar ni tako. Želel sem nekaj zelo specifičnega, zelo specifičen varnostni sistem in sem ga sam programiral ... kako geeky je to? ... LOL !!
To je zanimivo, vendar mislim, da je vprašanje da / ne zelo prdeč xD
In kaj mislite, namesto da uporabite rar, ki je lastniški in ne ponuja prave varnosti, ga zamenjajte z gpg, ki je varnostna programska oprema, ki je bila več kot dokazana v preteklih letih in obstaja v skoraj vseh distribucijskih sistemih 😉
Druga stvar je, da lahko md5sum prenesete niz, ni vam treba ustvariti začasne datoteke. Tukaj vam priporočam tudi, da obiščete sha, ki je veliko varnejši, poskusite v terminalu: shasum
Na zdravje!
Pozdravljeni in hvala za vaš komentar 😀
GPG mi omogoča pakiranje imenika z vso njegovo vsebino? Ali to dejansko uporabljam samo za posamezne datoteke, ne pa tudi za imenike, ki vsebujejo podimenike in datoteke.
ooo ... super o šasumu, nisem ga poznal 😀
Nadaljeval bom s spreminjanjem skripta za uporabo tega in ... ja !! res, s preprosto: echo "$ PASSWORD" | šasum Niz že dobim, res ga ni treba zapisati v datoteko :)
Najlepša hvala za vaš komentar, že nekaj novega sem se naučil 🙂
pozdrav
je isto, kar sem spraševal ...
Kar potrebujete, je ugotoviti, kako GPG šifrirati datoteko in ji v isti vrstici posredovati geslo ... na primer:
gpg -e file.tar.gz - geslo elpassword karkoli
Kakšna ideja, kako to narediti? 🙂
Če želite šifrirati imenik c / gpg, ga morate najprej spakirati s katranom.
potem je v tem primeru primerno uporabiti simetrično šifriranje s parametrom -c (za razliko med simetričnim in asimetričnim šifriranjem glejte wikipedia).
to bi bilo nekaj takega:
tar -czf destination.tgz source_directory / && echo $ passwd | gpg –batch –compress-level 0 -c –passphrase-fd 0
to bo ustvarilo stisnjeno datoteko z imenom "destination.tgz" in šifrirano datoteko z imenom "destination.tgz.gpg". iz izvornega imenika in samega stiskanja je treba zaradi varnosti odstraniti (poglejte ukaz shred)
za dešifriranje:
echo $ passwd | gpg –batch -d –passphrase-fd 0 encryption_file.tgz.gpg | katran -xz
ki bi izvlekel datoteke v trenutnem imeniku (potem lahko mv uporabite za njihovo premikanje drugam)
Če imate kakršna koli vprašanja, odgovorite na ta komentar 🙂
pozdravi!
ehm, pazi na dvojne vezaje (-) in posamezne vezaje (-) ... ali obstaja način, da napišemo nekaj, kot da bi šlo za kodo, da se oblika ne spremeni?
prueba de codigo -- -
[koda] preskusna koda - - [/ koda]
Porabim ga bolj podrobno
stisni in šifriraj:
tar -czf destino.tgz directorio_fuente/ && echo $passwd | gpg –batch –compress-level 0 -c –passphrase-fd 0
Upoštevajte, da gre za dva koraka: najprej ustvarite stisnjeno datoteko in nato, če ni prišlo do napake, nadaljujte s šifriranjem (veriženje z &&)
dešifriraj in razpakiraj:
echo $passwd | gpg –batch -d –passphrase-fd 0 archivo_cifrado.tgz.gpg | tar -xz
pozdrav!
Ja, pravzaprav sem včeraj doma prebral človeka gpg in tam je bilo vse, kar sem potreboval
Pravzaprav tega nisem naredil čisto tako, nisem uporabil odmeva ali stiskanja, o tem sem objavil, samo objavil.
Najlepša hvala za pomoč, resnično.
Čudovito! Ravno sem iskal kaj takega in naletel na vaš članek. Preizkusil ga bom, da zaščitim svoje podatke. Ko gre za računalniško varnost, nikoli ne morete biti preveč paranoični. Hvala vam
Hvala haha.
Ste razumeli, kako deluje scenarij, kajne?
Zdi se veliko bolj zapleteno, kot je v resnici lol.
Hvala za komentar, res 😀
pozdrav
PS: Dejansko varnosti ni nikoli dovolj hahaha.
Malo me je stalo, da sem ga razumel (prebral sem ga 3-krat), saj že dolgo ne uporabljam linuxa. Je pa res preprosto in vedno se je lepo naučiti takšnih stvari. Lep pozdrav in še enkrat hvala.
Pomembno je, da ga razumemo hehe. Vse sem poskušal razložiti izjemno podrobno, a mislim, da sem preveč podaljšal hahaha.
Hvala tebi 🙂
Vau, scenarij je zelo dober 🙂
PS: Paranoja ima več kot 9000! xD
hahahahahahaha to sem jaz ... LOL !!
Če pogledam vaš skript, mislim, da je to mogoče storiti z xdialog, če nimate kde :)! Na zdravje
Oh, nisem vedel za xdialog ... Moral bom pogledati to
Hvala za informacije.
namesto rar, zakaj ne bi uporabili tar.xz / gz in gpg?
to je zato, ker ga že imate redko, kjer imate svoj sistem upravljanja vsebin
Odlično @ KZKG ^ Gaara pred dnevi sem razmišljal o čem takem, vendar sem na izpitih, tako da nisem imel časa za nič in nenadoma zagledam vaš članek ...
Poskusil bom naslednji teden 🙂
Hvala, vse podrobnosti tukaj sem 😀
xD Nisem razumel ničesar uu, če pa bi rad, kako pravilno uporabljati kdialog v skriptih, kako dobiti sporočilo v obvestilu KDE
Če želite prejemati sporočila v obvestilih KDE, poskusite namestiti paket: libnotify-bin
Nato v terminal vstavite:
notify-send "texto texto texto"
In videli boste, kako kul 😀 ... in to deluje za KDE, Gnome, Unity, Cinnamon, Mate in Xfce 😉
Vendar v tem skriptu ne uporabljam obvestil kot takih, ampak samo okna KDialog. V tipu terminala:
kdialog
In tam boste videli pomoč 😉
Lep pozdrav 😀
Najlepša hvala o /
Pozdravljeni, dober prispevek, samo predlog, v redu je, da pri md5 ni viden s prostim očesom, nekateri radovedneži pa lahko z mavrično mizo ugotovijo, ali je geslo, pretvorjeno v md5, notri, priporočam uporabo bcrypt (http://bcrypt.sourceforge.net/), to je samo predlog, lahko ga vzamete za vsako priložnost, Lep pozdrav.
Hvala 😀
Pravzaprav da, MD5 ni popoln in nekateri so uspeli dobiti gesla, pogledal bom to aplikacijo 😉
Hvala za vaš komentar.
s simetrično samo v kdialogu vas vpraša za geslo
in z asimetričnim z uporabo javnega ključa.
Pojasniti moram, da nimam sledi programerja.
Ja, že mi je uspelo šifrirati z GPG (pravzaprav sem samo postavil prispevek o tem) hehe.
KZKG ^ Gaara vedno prebere vaš prispevek.
Zgradite ga za uporabo z XFCE.
Poljub. Drage
Pozdravljeni in najprej dobrodošli na blogu 😀
hahaha hvala, vem, da včasih postane težko, ker pišem nekoliko tehnične stvari, vendar vedno poskušam vse razložiti čim bolj jasno 🙂
Malo bom eksperimentiral z XDialog ali Zenity, da vidim, če se obnese za Xfce haha, teste bom opravil v virtualnem Xubuntuju
pozdrav
Precej koristen človek, hvala!
Lep pozdrav!
Hvala, zelo mi bo pomagalo zaščititi nekatere datoteke
Moral sem ga prilagoditi zenityju, ker trenutno nimam kde: \
Tu pustim okostje, ki ga bom uporabil, prilagojeno zenitetnosti
http://paste.desdelinux.net/4641
Še enkrat hvala in lep pozdrav 😀
oooo super, najlepša hvala 😀 😀
Spomnim se, da je nekdo to prosil, toda za Xfce bi z Zenityjem to delovalo v Xfce, kajne?
Da, le da je bil ukaz za dodajanje ukazov, ki jih je treba izvesti, po posredovanju gesla shasum ali md5
Morali bi ga prilagoditi različnim potrebam vsake osebe, da bi z različnimi ukazi zaščitili različne stvari na različnih poteh
Ali pa morda dodate še en del (GUI), da ustvarite varnostno konfiguracijo naše datoteke
Lep pozdrav 😀
Imel sem čas in xfce (v Archlinuxu) in skript sem že popolnoma prilagodil takšnega, kot je bil, za xfce z uporabo zenity (mislim), ker je bil tisti, ki sem ga pustil zgoraj, le okostje, ki sem ga uporabil
http://paste.desdelinux.net/4644
Ali ga je mogoče urejati, če ima napako iz paste?
Zgodi se tako, da imam več grafičnih lupin in ne vem, ali bo delovalo v čistem xfce, na primer v xubuntu
Lep pozdrav 😀
Zanimivo che !!! Dober prispevek !!!!!!
Zelo sem nov v programiranju, po malem se učim BASH ... a nekatere stvari so se mi zgodile in so vam lahko koristne ali pa tudi ne.
Ko rečete, da ima olupljeni skript geslo in bi bilo odpuščeno, da bi ga nekdo odprl in prebral od tam ... kot zaščitni ukrep predlagate celoten trik vdelave MD5.
Kar je zelo dobro kot prvi korak k otežitvi življenja potencialnemu vsiljivcu, vendar si oglejte naslednje ideje (ki jih je mogoče uporabiti celo eno nad drugo)
IDEA 1) Kaj, če geslo shranite v datoteko na vašem računalniku in ga ne namestite v skriptu?
EJ: v txt vstavite ključ in ga shranite v / home / /bla/bla/key.txt
V svojem skriptu pokličete ključ kot KEY = "$ (cat $ HOME / blah / bla / key.txt)", nato vržete if $ questionkey = $ KEY, nato .. itd itd
Na ta način dosežete 3 stvari +1 prednost:
1) Da gesla ni bilo nikoli v skriptu. (Izogibate se MD5)
2) Pot do gesla je odvisna od uporabniškega imena. (Kdor ga želi odpreti, ga preusmeri kamorkoli) V 99.9% primerov skript ne uspe.
3) Če želite več varnosti, odstranite vsa dovoljenja za datoteko key.txt za vse druge uporabnike, razen za vašega.
4) Prednost: prenosljivost spreminjanja gesla, kadar koli želite, brez urejanja skripta. Ker je preverjanje zunanje prek datoteke.
IDEJA 2) Kaj pa, če zamegliš celoten bash skript, tako da ga ni mogoče niti odpreti?
Eden od načinov za to je izkoristiti dejstvo, da morate prevesti v C.
Nato uvede skript v kodo C, da vse kar pokliče skript (vendar je znotraj programa). V času prevajanja ... je vse ostalo znotraj in vaš izhod je izvršljiv ... in nič več skripta. Obstaja oseba, ki je že naredila "skript", ki izvaja postopek zamegljevanja, kar je zelo praktično.
Več informacij tukaj: http://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes/Compilar_%28ofuscar%29_BASH_scripts_con_C_-_SHC
IDEA 3) Kaj pa, če v skript postavite navidezno stanje, kjer zahteva skrbniško geslo?
Na primer, izvedite pogoj s pomočjo "sudo" in nato nadaljujte s skriptom, če ga ne ustavite.
Na ta način bi vsa zaščita padla kot most čez vaše geslo ROOT.
No, nič več ...
Na zdravje!!!!!!!! in pridržite BASH.
HAHAHAHA hvala 😀
Pravzaprav zdaj uporabljam SHA512, ker je veliko boljši od MD5: https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/
Pa tudi GPG kot sredstvo za zaščito namesto stiskanja z .RAR: https://blog.desdelinux.net/como-proteger-datos-con-gpg-de-forma-simple/
Težava pri vstavljanju gesla v drugo datoteko je v tem, da bi potem geslo postavilo na drugo mesto, da, a ali bi bilo v navadnem besedilu? Če ga moram šifrirati (kar je priporočljivo), ga pustim v istem skriptu, no ... tako zelooo dvomim, da lahko nekdo zlomi SHA512 hahahaha (poglejte 1. povezavo in boste razumeli)
Kar zadeva dovoljenja, lahko nekdo, ki uporablja LiveCD, odpre datoteko .txt s korenom LiveCD, zato dovoljenja niso povsem najboljša možnost.
Glede zamegljevanja Bash kode ... ja, razmišljal sem o tem in ideja je VELIKA, težava je v tem, da ne vem, kako to narediti, pravzaprav sploh ne vem, ali je to mogoče HAHAHA.
Oh počakaj ... zdaj sem prebrala preostanek komentarja O_O ... hehe, nisem vedela, da lahko to storiš. Nimam pojma o C ali C ++, vendar bi bilo vredno poskusiti lol.
O ideji 3, ni slabo 😀
Od objave te objave sem skript naredil več, 2 sta tisti, ki sem jih omenil v povezavah na začetku tega komentarja, druga pa je, da če v skriptu spremenite kateri koli znak, se ta izbriše. In zdaj moram to poskusiti, da zameglim kodo hahahaha.
Hvala za vaš komentar in ... ja, počakajte, bash !!! HAHA
WTF !!!
Sem že uporabil SHC… GE-NI-AL !!!! O_O
Zelo dober skript, hej in če uporabljate korenski preverjevalnik, da lahko skript zaženete kot sudo ./script
To kodo bi morali dodati na začetku
http://paste.desdelinux.net/4663
Pozdrav
KZKG ^ Gaara, prijatelj, mislim, da razširitev razlage ni problem, kar je dobro za tiste, ki nismo tako dobro razgledani. Članki, ki ne poučujejo, so bili objavljeni prav tukaj, dajejo le informacije o nečem, kar obstaja. Zato se ne opravičujte in naj bo še več z razširjenimi razlagami.
Za take stvari uporabljam http://www.truecrypt.org/
Bi lahko nekdo delil scenarij? Zanima me in vse povezave so navzdol. 🙁
Hvala.