Nogle dage siden Jeg fortalte dem om FlatPress, en webapplikation (CMS), hvorigennem de kan have en blog eller lignende uden at bruge databaser eller blive for komplicerede 🙂
Nå, jeg har på min bærbare computer en FlatPress til personlige noter, ting, som jeg ikke vil glemme, og det er derfor, jeg skriver dem i denne personlige blog. Men som flere af jer allerede skal vide ... Jeg er noget paranoid med sikkerhed, og hvis det vedrører MINE tankers sikkerhed, har du ingen idé om, hvor paranoid jeg kan være llegar
Så jeg stod over for problemet: Hvordan bruger jeg FlatPress, kan jeg beskytte alt indholdet på det?
Jeg tænkte på flere applikationer, der tillader datakryptering, men ... ingen gjorde præcis, hvad jeg ønskede, så jeg påtog mig opgaven med at programmere, hvad jeg selv ville have.
Nu vil jeg vise dig et script, som jeg lavede, og som gør følgende:
1. Det viser en dialogboks, der spørger, om du er KZKG ^ Gaara. Hvis du trykker på NEJ, lukkes scriptet, hvis du trykker på JA, fortsætter alt som normalt.
2. Vis et tekstfelt, der spørger, hvad adgangskoden er:
3. Hvis du trykker på Annuller lukkes scriptet, kommer nu et af script-tricks 😉 ...
3.1. Logikken er, at scriptet sammenligner den adgangskode, vi skriver med en, der allerede er foruddefineret inden for det samme script, og hvis adgangskoderne stemmer overens, fortsætter den med at køre, og hvis adgangskoderne ikke stemmer overens, vises der en fejlmeddelelse. Problemet er, at hvis vi lægger den rigtige adgangskode inde i scriptet sådan, kan enhver, der åbner scriptet med en teksteditor, meget tydeligt se den korrekte adgangskode .. og dette mine venner, det er simpelthen en utilgivelig fiasko
3.2. For at undgå at sætte adgangskoden sådan i almindelig tekst i scriptet brugte jeg MD5. I begyndelsen af scriptet erklærede jeg, at den korrekte adgangskode er «2dac690b816a43e4fd9df5ee35e3790d«, Og dette er MD5 af:«desdelinux«. ... Jeg forstår ingenting!! …😀
Lad os detaljer lidt mere. Hvis jeg nu skriver til en fil (for eksempel ~ / pass.txt) af tekst: desdelinux
Hvis jeg i en terminal skriver: md5sum ~ / pass.txt
Det vender tilbage: 2dac690b816a43e4fd9df5ee35e3790d sum
Og ... som du kan se, er den første kolonne, der har mange tal og bogstaver i ingen tilsyneladende rækkefølge, identisk den samme som den, jeg satte ovenfor, og er den i det erklærede script.
Den første kolonne er MD5 fra desdelinux 😉
Hvis de sætter følgende, returnerer det kun den første kolonne, som er den, der interesserer os: md5sum ~/pass.txt | awk '{print $1}'
4. Driften af scriptet i denne specifikke del er således:
4.1. Scriptet placerer den adgangskode, du har skrevet, i en midlertidig fil, der hedder temp.txt, og det udtrækker MD5 fra indholdet af den fil ved hjælp af kommandoen:
md5sum temp.txt | awk '{print $1}'
4.2. Hvis MD5 for den adgangskode, du lige har skrevet, IKKE er identisk med den, den har defineret (dvs. den, der er skrevet i scriptet), lukker den og giver en fejl:
4.3. Hvis adgangskoden matcher, perfekt ... scriptet fortsætter 😀
5. Når adgangskoden matcher, udfører scriptet en række trin, i mit tilfælde:
5.1. Det kommer ind i mappen / hjem / delt / vært / - » cd / hjem / delt / hostet /
5.2. FlatPress-mappen kaldes "mig", og den komprimeres i .RAR-beskyttet med en adgangskode (adgangskoden er den samme som den skulle være indstillet før), så scriptet dekomprimerer den fil (me.rar) - » rar x me.rar -hp $ MWORD
sjælden x - »Hvad det gør er at dekomprimere filer og mapper med samme rækkefølge som de har.
mig.rar - »Dette er den fil, jeg vil pakke ud.
-hp $ MWORD - »Her fortæller jeg dig, at du skal bruge adgangskoden til at pakke filen ud, og adgangskoden er variablen $ MWORD (denne variabel er den adgangskode, som vi indtastede før)
5.3. Så hvis den blev pakket godt ud, sletter jeg filen me.rar ... hvorfor? Nå, fordi det ikke giver mening at .rar eksisterer, hvis jeg arbejder med de filer, jeg havde indeni, og disse filer ændres, fordi jeg skriver nye ting på bloggen - » rm mig.rar
5.4. Jeg skal ændre tilladelserne for at alt fungerer godt - » chmod 777 -R me / (husk at mappen me / er hvad der indeholdt den komprimerede me.rar)
5.5. Det viser mig et vindue, der fortæller mig, at jeg har 10 sekunder til at åbne "browseren". WTF!, Hvad betyder dette? ...
5.5 (a). Enkel, meget enkel ... 🙂 ... Jeg åbner browseren (i dette tilfælde rekonq) og jeg arbejder på et nyt indlæg, men når jeg lukker browseren, komprimerer scriptet mig / mappen igen i .rar (tilbage i me.rar).
Dette er muligt, fordi scriptet kontrollerer hvert 3. sekund, om Rekonq er åben eller ej, hvis det opdager, at det er åbent, gør scriptet intet, men hvis det registrerer, at det IKKE er åbent, udfører det: rar a me.rar -hp $ MWORD me / * && rm -R me /
Hvilket betyder, at den komprimerer mappen mig/ en mig.rar (og det vil sætte et kodeord, som ville være det samme som vi allerede har set), og når du først komprimerer den, og hvis der ikke var nogen fejl, sletter den mappen mig/ med alt dets indhold.
5.5 (b). Hvordan hjælper dette os? ... simpelt, dette undgår os at skulle huske, at vi skal beskytte vores indhold igen, da vi kun behøver at stoppe med at arbejde på det (luk browseren), og scriptet udfører resten af arbejdet 😉
6. Klar, alt dette er forklaret på en generel måde 🙂
... selvom der stadig er en anden detalje 😀
Scriptet har en endnu større beskyttelse, beskyttelse, der er deaktiveret (kommenteret) er disse linjer:
if [ "$USER" != "$ME" ]; then
rm *.sh
kdialog --error "Sorry but u are not me. Auto-destroying..." --title "Im Me..."
exit
fi
Hvad det gør er simpelt. Variablen $ USER er en global variabel i systemet, hvis den er i en terminal sæt:
echo $USER
Du vil se, hvad din bruger viser dig ... Nå, logikken i disse linjer er enkel.
Hvis $ USER ikke matcher $ ME-variablen (og den blev erklæret af mig i scriptet, og det er: "gaara"), sletter scriptet ALLE filerne .sh der er i den mappe, det vil sige, det vil ødelægge sig selv 😉
Dette er for at forhindre en anden i at køre scriptet på en anden computer hehehehe.
Og godt, jeg tror ikke, der er meget mere at forklare, jeg forlader scriptet:
Jeg ved, at mange vil finde det ekstremt komplekst, men det skræmmer faktisk mere, end det burde ... scriptet har virkelig enkel arbejdslogik til et simpelt formål.
Jeg gjorde dette for at imødekomme et meget specifikt behov fra mig, jeg deler det i håb om at en anden linje eller idé, der er forklaret her, kan være til nytte for nogen 😉
Forresten er scriptet beregnet til KDE, fordi dialogerne (windows), det viser, er fra KDE (ved hjælp af KDialog), men det kan tilpasses til Gnome / Unity / Cinnamon / Mate ved hjælp af zenity, eller brug den 100% i terminalen ved blot at bruge kommandodialogen.
Og ja, scriptet har stadig nogle andre fejl, for eksempel hvis scriptet pakker ud .rar, og så lukker (dræber) nogen med magt scriptet, vil indholdet af .rar være ubeskyttet, der er nogle detaljer, der stadig skal poleres ... men hej, vi skal også kontrollere, at ingen kan kontrollere vores computer 😀
For at afslutte vil jeg præcisere, at jeg IKKE er programmør, meget mindre, jeg betragter mig ikke som sådan, jeg forestiller mig, at du kan optimere linjer i koden eller bruge en eller anden funktion til at forbedre driften af scriptet ... men jeg sagde, jeg er ikke programmerer 😉
Eventuelle spørgsmål, de har om det, fortæller de mig, selvom scriptet muligvis ikke tjener dem, fordi de ikke har brug for det, kan de altid lære et andet tip af det 😀
hilsen
PD: jeg ved det Elav han vil sige, at jeg er for paranoid ... eller at jeg spilder min tid, men det er ikke sådan. Jeg ville have noget meget specifikt, et meget specifikt sikkerhedssystem, og jeg programmerede det selv ... hvor nørdet er det? ... LOL !!
Dette interessant, men jeg synes, spørgsmålet om ja / nej er meget fart xD
Og hvad synes du, i stedet for at bruge rar, der er proprietær og ikke tilbyder ægte sikkerhed, skal du udskifte den med gpg, som er en sikkerhedssoftware, der er mere end bevist gennem årene, og som findes i næsten alle distroer 😉
En anden ting, du kan sende md5sum en streng, du behøver ikke oprette en midlertidig fil. Her anbefaler jeg også, at du går til sha, som er meget sikrere, prøv i terminalen: shasum
SALUDOS!
Hej og tak for din kommentar 😀
GPG giver mig mulighed for at pakke en mappe med alt dens indhold? Er det faktisk, at jeg kun har brugt det til individuelle filer, ikke til kataloger, der indeholder underkataloger og filer.
ooo ... godt ved shasum, jeg kendte ham ikke 😀
Jeg fortsætter med at ændre scriptet for at bruge dette, og ... ja !! sandt, med ganske enkelt: ekko "$ PASSWORD" | shasum Jeg har allerede fået strengen, det er faktisk ikke nødvendigt at skrive den til en fil :)
Mange tak for din kommentar, jeg har allerede lært noget nyt 🙂
hilsen
er det samme, som jeg spurgte ...
Hvad du har brug for, er at finde ud af, hvordan du GPG krypterer en fil og sender adgangskoden til den på samme linje ... for eksempel:
gpg -e file.tar.gz –adgangskode elpassword uanset
Har du nogen idé om, hvordan du gør det? 🙂
For at kryptere et bibliotek c / gpg skal du først pakke det med tjære.
så er det i dette tilfælde praktisk at bruge symmetrisk kryptering med -c-parameteren (se wikipedia for forskellen mellem symmetrisk og asymmetrisk kryptering).
dette ville så være som:
tar -czf destination.tgz source_directory / && echo $ passwd | gpg –batch –komprimeringsniveau 0 -c – adgangskode-fd 0
dette vil skabe en komprimeret fil kaldet "destination.tgz" og den krypterede fil kaldet "destination.tgz.gpg". både kildemappen og selve komprimeringen skal fjernes af sikkerhedshensyn (bemærk shred-kommandoen)
at dekryptere:
ekko $ passwd | gpg –batch -d –passphrase-fd 0 encryption_file.tgz.gpg | tjære -xz
der ville udpakke filerne i den aktuelle mappe (så kan mv bruges til at flytte dem andre steder)
Eventuelle spørgsmål, besvar denne kommentar 🙂
hilsner !!
ehm, pas på dobbelt bindestreger (-) og enkle bindestreger (-) ... er der en måde at skrive noget på som om det var kode, så formatet ikke ændres?
prueba de codigo -- -
[kode] testkode - - [/ kode]
Jeg bruger det mere detaljeret
komprimere og kryptere:
tar -czf destino.tgz directorio_fuente/ && echo $passwd | gpg –batch –compress-level 0 -c –passphrase-fd 0
Bemærk, at der er to trin: Opret først den komprimerede fil, og fortsæt derefter med krypteringen, hvis der ikke var nogen fejl (sammenkædning med &&)
dekryptere og pakke ud:
echo $passwd | gpg –batch -d –passphrase-fd 0 archivo_cifrado.tgz.gpg | tar -xz
hilser!
Ja, faktisk i går derhjemme læste jeg gpg-manden, og der var alt, hvad jeg havde brug for 😀
Faktisk gjorde jeg det ikke helt sådan, jeg brugte ikke ekko eller kompression, jeg lavede et indlæg om dette, jeg sendte det bare.
Mange tak for hjælpevenen, det gør jeg virkelig.
Vidunderlig! Jeg ledte bare efter noget lignende, og jeg stødte på din artikel. Jeg vil teste det for at beskytte mine data. Når det kommer til computersikkerhed, kan du aldrig være for paranoid. tak skal du have
Tak haha.
Forstod du, hvordan manuskriptet fungerer, ikke?
Det virker meget mere komplekst, end det faktisk er lol.
Tak for kommentaren, virkelig 😀
hilsen
PS: Faktisk er sikkerhed aldrig nok hahaha.
Det kostede mig lidt at forstå det (jeg læste det 3 gange), da jeg ikke har brugt linux i lang tid. Men det er virkelig simpelt, og det er altid rart at lære ting som dette. Hilsner og tak igen.
Det vigtige er at forstå det hehe. Jeg forsøgte at forklare alt ekstremt detaljeret, men jeg synes, jeg forlængede for meget lol.
Tak til dig 🙂
Wow, meget godt script 🙂
PS: Paranoia er over 9000! xD
hahahahahahaha det er mig ... LOL !!
Ser jeg på dit script, tror jeg, det kan gøres med xdialog, hvis du ikke har kde :)! Skål
Åh, jeg vidste ikke noget om xdialog ... Jeg bliver nødt til at kigge for at se 😀
Tak for oplysningerne.
i stedet for rar hvorfor ikke bruge tar.xz / gz og gpg?
det er fordi du allerede har det på rar, hvor du har dit CMS
Fremragende @ KZKG ^ Gaara dage siden tænkte jeg på noget lignende, men jeg er i eksamen, så jeg har ikke haft tid til noget, og pludselig ser jeg din artikel….
Jeg prøver det næste uge 🙂
Tak, alle detaljer her er jeg 😀
xD Jeg forstod ikke noget uu, men hvis jeg gerne vil have, hvordan man bruger kdialog korrekt i scripts, hvordan man får en besked i KDE-meddeleren
For at få beskeder i KDE-underretninger, prøv at installere pakken: libnotify-bin
Derefter placerer du i en terminal:
notify-send "texto texto texto"
Og du vil se, hvor sejt 😀… og dette fungerer for KDE, Gnome, Unity, Cinnamon, Mate og Xfce 😉
Men i dette script bruger jeg ikke meddelelser som sådan, men blot KDialog windows. I en terminal type:
kdialog
Og du vil se hjælpen der 😉
Hilsner 😀
Mange tak o /
Hej, godt indlæg, bare et forslag, det er ok, at det med md5 ikke ses med det blotte øje, men nogle nysgerrige kan bruge et regnbue-bord til at se, om adgangskoden konverteret til md5 er derinde, jeg anbefaler at bruge bcrypt (http://bcrypt.sourceforge.net/), det er kun et forslag, du kan tage det til enhver lejlighed, hilsner.
Tak 😀
Faktisk ja, MD5 er ikke perfekt, og der er dem, der har formået at få adgangskoder, jeg vil se på denne applikation 😉
Tak for din kommentar.
med den symmetriske bare i kdialog beder den dig om adgangskoden
og med den asymmetriske ved hjælp af en offentlig nøgle.
Jeg må præcisere, at jeg ikke har spor af en programmør.
Ja, det lykkedes mig allerede at kryptere med GPG (faktisk satte jeg bare et indlæg om dette) hehe.
KZKG ^ Gaara læser altid dit indlæg.
Byg en til brug med XFCE.
Kys. Dyrt
Hej og først og fremmest velkommen til bloggen 😀
hahaha tak, jeg ved, at det nogle gange bliver svært, fordi jeg skriver noget tekniske ting, men jeg prøver altid at forklare alt så tydeligt som muligt 🙂
Jeg vil eksperimentere lidt med XDialog eller Zenity for at se om det fungerer for Xfce haha, jeg vil lave testene i en virtuel Xubuntu 🙂
hilsen
Ganske nyttigt mand, tak!
Greetings!
Tak, det vil hjælpe mig meget med at beskytte nogle filer
Jeg var nødt til at tilpasse det til zenity, fordi jeg ikke har kde i øjeblikket: \
Her efterlader jeg det skelet, som jeg skal bruge, tilpasset zenitet
http://paste.desdelinux.net/4641
Tak igen og hilsner 😀
oooo fantastisk, tak så meget 😀 😀
Jeg kan huske, at nogen bad om dette, men for Xfce, med Zenity, ville det fungere i Xfce, ikke?
Ja, kun at kommandoen blev overladt til at tilføje de kommandoer, der skulle udføres, efter at have sendt adgangskoden til shasum eller md5
Det skal ændres til forskellige behov for hver person for at beskytte forskellige ting på forskellige ruter med forskellige kommandoer
Eller måske tilføje en anden del (GUI) for at oprette sikkerhedskonfigurationen af vores fil
Hilsner 😀
Jeg havde tid og xfce (i Archlinux) og jeg har allerede fuldt ud tilpasset scriptet, som det var, for xfce ved hjælp af zenity (tror jeg), da det jeg forlod ovenfor kun var det skelet, jeg brugte
http://paste.desdelinux.net/4644
Kan den redigeres, hvis den har en fejl fra pastaen?
Hvad der sker er, at jeg har flere grafiske skaller, og jeg ved ikke, om det fungerer i ren xfce, for eksempel i xubuntu
Hilsner 😀
Interessant che !!! Godt bidrag !!!!!!
Jeg er meget ny inden for programmering, jeg lærer BASH lidt efter lidt ... men nogle ting skete for mig, og de kan måske ikke være nyttige for dig.
Når du siger, at det afisolerede script indeholder adgangskoden, og det ville være utilgiveligt for nogen at åbne det og læse det derfra ... foreslår du hele dette trick med at integrere MD5 som en beskyttelsesforanstaltning.
Hvilket er ret godt som et første skridt i at gøre livet vanskeligt for den kommende indtrænger, men tjek følgende ideer (som endda kan anvendes hinanden oven på hinanden)
IDEA 1) Hvad hvis du gemmer adgangskoden i en fil på din maskine og ikke hoster den i scriptet?
EJ: i en txt læg nøglen og gem den i / hjem / /bla/bla/key.txt
I dit script kalder du nøglen som KEY = "$ (cat $ HOME / blah / bla / key.txt)", så kaster du if $ spørgsmålstasten = $ KEY, så .. etc etc
På denne måde opnår du 3 ting +1 fordel:
1) At adgangskoden aldrig var i scriptet. (Du undgår MD5)
2) Stien hvor adgangskoden er afhænger af brugernavnet. (Enhver, der ønsker at åbne den, omdirigerer den hvor som helst) I 99.9% af tilfældene mislykkes scriptet.
3) Hvis du ønsker mere sikkerhed, skal du fjerne alle tilladelser til key.txt-filen for alle andre brugere undtagen din.
4) Fordel: Bærbarhed til at ændre adgangskoden, når du vil, uden at redigere script. Fordi verifikationen er ekstern gennem en fil.
IDEA 2) Hvad med at tilsløre hele bash-scriptet, så det ikke engang kan åbnes?
En måde at gøre dette på er at drage fordel af det faktum, at i C skal du kompilere.
Derefter introducerer det scriptet inde i en C-kode, som alt det gør er at kalde det Script (men det er inde i programmet). På tidspunktet for kompilering ... er alt tilbage indeni, og din output er en eksekverbar ... og ikke mere et script. Der er en person, der allerede har lavet et "script", der udfører tilsløringsprocessen, hvilket er meget praktisk.
Mere info her: 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) Hvad hvis du placerer en virtuel tilstand i scriptet, hvor det kræver administratoradgangskode?
For eksempel, udfør en betingelse ved hjælp af "sudo" og fortsæt derefter med scriptet, hvis ikke stoppe det.
På denne måde vil al beskyttelse falde som en bro over din ROOT-adgangskode.
Nå, ikke mere ...
Skål !!!!!!!! og hold BASH.
HAHAHAHA tak 😀
Faktisk bruger jeg nu SHA512, fordi det er meget bedre end MD5: https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/
Samt GPG som et beskyttelsesmiddel i stedet for at komprimere med .RAR: https://blog.desdelinux.net/como-proteger-datos-con-gpg-de-forma-simple/
Problemet med at placere adgangskoden i en anden fil, er, at den derefter ville sætte adgangskoden et andet sted, ja, men ville det være i almindelig tekst? Hvis jeg skal kryptere det (hvilket anbefales), lader jeg det være i det samme script, ja ... Jeg tvivler sååååå meget på, at nogen kan bryde SHA512 hahahaha (se på det første link, så forstår du det)
Med hensyn til tilladelserne, hvis nogen bruger en LiveCD, kunne de åbne .txt ved hjælp af roden til LiveCD, så tilladelserne er ikke helt den bedste mulighed.
Om at tilsløre Bash-koden ... ja, jeg havde tænkt på dette, og ideen er STOR, problemet er, at jeg ikke ved, hvordan man gør det, faktisk ved jeg ikke engang, om det kan gøres HAHAHA.
Åh vent ... nu læste jeg resten af kommentaren O_O ... hehe, jeg vidste ikke, du kunne gøre det. Jeg har ingen idé om C eller C ++, men det kan være værd at prøve lol.
Om idé 3, ikke dårligt 😀
Jeg har foretaget flere forbedringer af scriptet, siden jeg offentliggjorde dette indlæg, 2 er dem, jeg nævnte i linkene i begyndelsen af denne kommentar, en anden er, at hvis du ændrer et tegn i scriptet, slettes det. Og nu er jeg nødt til at prøve dette for at tilsløre koden hahahaha.
Tak for din kommentar og ... ja, vent, bash !!! HAHA
WTF !!!
Jeg har allerede brugt SHC ... GE-NI-AL !!!! O_O
Meget godt script, hej og hvis du bruger en rodkontrol, for at kunne køre scriptet som sudo. / Script
Du bliver bare nødt til at tilføje denne kode i starten
http://paste.desdelinux.net/4663
En hilsen
KZKG ^ Gaara, min ven, jeg tror, at det ikke er problemet at udvide en forklaring, det er godt for dem af os, der ikke har så meget viden. Artikler, der ikke underviser, er blevet offentliggjort lige her, de giver kun information om noget, der findes. Så undskyld ikke dig selv, og lad der være mere med udvidede forklaringer.
Til ting som denne bruger jeg http://www.truecrypt.org/
Kunne nogen dele scriptet? Jeg er nysgerrig, og alle linkene er nede. 🙁
Tak.