Fórum Root.cz

Hlavní témata => Software => Téma založeno: Majky 17. 01. 2016, 01:07:01

Název: Snímky systému
Přispěvatel: Majky 17. 01. 2016, 01:07:01
Dobrý večer,

Na windows jsem používal software www.systemexplorer.net

Který dokáže dělat snímky systému a pak je porovnat mezi sebou to stejé hledám na Linux Mint
Název: Re:Snímky systému
Přispěvatel: Jenda 17. 01. 2016, 02:58:35
Udělal bych btrfs snapshot a pak na to pustil rekurzivně diff.

Alternativně by asi šlo použít rdiff-backup nebo rsync s volbou kdy to v cíli dělá hardlinky.
Název: Re:Snímky systému
Přispěvatel: Majky 17. 01. 2016, 03:46:34
Jsem na linuxu chvilku takže tohle mě moc nepomůže.

btrfs: je to souborový system ale já na linux mintu používám ext4 .
Takže nevím jak to použít jestli to mohu použít i když mám jiný souborový systém.

rdiff: vím že je to nějaká zálohovací ulita ale že by to dokázalo dělat nějak otisk disku na to jsem nepřišel.
rsync: Tohle je mě taky na nic.


Prosím ostatní aby byly více konkretní.
Název: Re:Snímky systému
Přispěvatel: VK 17. 01. 2016, 09:30:57
Na hledání alternativ k wokenním programům je dobrý web http://alternativeto.net (http://alternativeto.net) , kde se většinou něco najde. V tomto případě je to těžší, protože SystemExplorer se snaží dělat všechno, takže to najde nesmysly. Ale možná hledáš něco jako Meld, Kompare a jejich alternativy (klikací). To alternativeto.net si dej do oblíbených - pokud začínáš s Linuxem, ušetříš si tím spoustu dotazů.
Název: Re:Snímky systému
Přispěvatel: nobody 17. 01. 2016, 10:39:05
btrfs snapshot je opravdu jen pri pouziti btrfs souboroveho systemu, takze pro tebe na nic (prechodu na btrfs na ktery z ext4 lze se radeji (alespon zatim) vyhni)

rdiff-backup dela z pohledu uzivatele skoro otisk, sice v jadru dela jen to ze archivuje novinky oproti prechozi situace(a uchovava vsecny predchozi) ale nasledne (krome pomoci parametru restorovani) muzes pomoci rdiff-backup-fs pripojit adresar zaloh od rdiff-backup tak ze ti zobrazuje rozdilove zalohy primo jako adresare s datumama podle casu zalohy, kazzdej adresar se pak tvari ze obsahuje vsechno co bylo na HDD v dobe zalohy, takze muzes porovnat mezi sebou 2 obsahy a uvidis presne co se zmenilo od data A do data B, realizaci vlastniho porovnani pak muzes pomoci tech nastroju co pise VK (obecne jde vicemene o graficke nadstavby nad radkovou utilitou diff)

dalsi moznost by byla lvm a jeho moznost snapshotu, je to mezivrstva nad kterou by bezel normalni ext4, ale na to uz je pozde kdyz instalaci mas, obecne jde ale o bezpecnejsi (i kdyz mene "funkcema dokonale") reseni nez btrfs

pro zacatecnika muze byt uzitecna i tabulka ekvivalentu: http://proc.linux.cz/ekvivalenty.html
Název: Re:Snímky systému
Přispěvatel: Jenda 17. 01. 2016, 12:40:06
Jsem na linuxu chvilku takže tohle mě moc nepomůže.

Nečekal jsem, že z mého příspěvku hned dokážeš požadované vymyslet, ale že to dáš do vyhledávače a přečteš si, co to znamená.

btrfs: je to souborový system ale já na linux mintu používám ext4 .
Takže nevím jak to použít jestli to mohu použít i když mám jiný souborový systém.
Nejde. Osobně jsem na ty mnou spravované systémy, kde je požadavek na snímky dat (držíme historii půl roku dozadu, protože občas přijde nějaký uživatel, že si před měsícem něco omylem smazal a potřeboval by to zpátky), začal dávat btrfs - právě kvůli jeho rychlým a dobře implementovaným snapshotům. Zvážil bych u tebe totéž.

rdiff: vím že je to nějaká zálohovací ulita ale že by to dokázalo dělat nějak otisk disku na to jsem nepřišel.
rsync: Tohle je mě taky na nic.

rdiff umí držet historii, když s ním zálohuješ.

rsync umí udělat „kopii“ s novou verzí souborů, přičemž pomocí hardlinků nalinkuje soubory, co se nezměnily, takže to nezabírá místo. Opět lze použít jen pokud už zálohuješ rsyncem, což bys ale stejně měl dělat.

Ještě lze použít LVM snapshot, ale jen krátkodobě a nemůže jich být moc, protože se po více zápisech strašlivě zpomalí.

Není doufám potřeba zdůrazňovat, že pokud je cílem bezpečnost (ve smyslu možnosti porovnání souborů po průniku), musíš to stejně nějak dostat na oddělený stroj - a tam připadá v úvahu právě ten rsync, rdiff, btrfs atd.

> V tomto případě je to těžší, protože SystemExplorer se snaží dělat všechno, takže to najde nesmysly.

Jestli jsem to dobře pochopil, tak se to snaží dělat snapshoty před průniky, ale ty snapshoty jsou dostupné z toho kompromitovaného systému, takže je to úplný nesmysl.

> Ale možná hledáš něco jako Meld, Kompare a jejich alternativy (klikací).

To řeší až druhou část problému, nejdřív musí ten snapshot nějak pořídit, pak ho teprve může porovnávat.

nobody: LVM snapshoty jsem zkoušel na samba serveru, kam si grafici ukládají dočasné soubory, po třech týdnech se to zpomalilo tak strašlivě, že to bylo nepoužitelné. btrfs se, zdá se, při podobném workloadu drží.
Název: Re:Snímky systému
Přispěvatel: samalama 17. 01. 2016, 12:53:35
co ma byt vlastne vysledkom?
Název: Re:Snímky systému
Přispěvatel: Franta <xkucf03/> 17. 01. 2016, 13:02:45
a) přejít na Btrfs (nebo používat LVM snapshoty, ale Btrfs je efektivnější)

b) zálohovat (třeba tím rdiff-backupem) a porovnat zálohy

c) pokud ti stačí sledovat změny v konfiguraci, tak bych udělal něco jako:

Kód: [Vybrat]
aptitude install mercurial
cd /etc
hg init
chmod 700 .hg
echo -e "\n[ui]\nusername = Root <root@`hostname`>\n" >> ~/.hgrc
hg addremove
hg commit -m "první verze"

K tomu můžeš nahodit etckeeper, který bude verzovat konfiguraci při instalaci nových balíčků nebo při aktualizacích, případně umí vynutit, aby správce zaverzoval změny, než začne instalovat něco dalšího.

Popisy verzí doporučuji psát nějaké smysluplné – bude se ti to hodit, až budeš něco hledat nebo zjišťovat, proč je tahle volba nastavená zrovna takhle.

Pak si můžeš procházet historii změn, vracet se zpět… a při editaci souborů hlavně vidíš, v čem se změnily od minule (hg diff)
Název: Re:Snímky systému
Přispěvatel: Jenda 17. 01. 2016, 13:46:36
c) pokud ti stačí sledovat změny v konfiguraci
To je pravda. Pokud se navíc použije program debsums, může sledovat i soubory všech balíčků, a tím je vyřešen skoro celý systém.
Název: Re:Snímky systému
Přispěvatel: nobody 17. 01. 2016, 17:47:11
nobody: LVM snapshoty jsem zkoušel na samba serveru, kam si grafici ukládají dočasné soubory, po třech týdnech se to zpomalilo tak strašlivě, že to bylo nepoužitelné. btrfs se, zdá se, při podobném workloadu drží.

LVM snapshot (bez y) je v pohode, na stav ke dni A a aktualni stav B(obcas smazat A a vytvorit znovu, tedy vzdy jen 1 snapshot), pokud jde o vice kazdodenich, pouzivam prave ten rdiff-backup + rdiff-backup-fs (z src + patche na pristup pres sambu)
Název: Re:Snímky systému
Přispěvatel: Franta <xkucf03/> 17. 01. 2016, 18:34:57
pokud jde o vice kazdodenich, pouzivam prave ten rdiff-backup + rdiff-backup-fs (z src + patche na pristup pres sambu)

To jsem používal na zálohy, ale když je těch dat víc (měl jsem asi 300 GB, spoustu malých souborů), tak je to dost pomalé (když chceš vytáhnout něco z historie), takže jsem pak ty zálohy překlopil do Btrfs.
Název: Re:Snímky systému
Přispěvatel: Majky 17. 01. 2016, 19:02:31
Nikdo z vás nezkusil nebo nikdy nepoužíval program System Explorer jinak by jste se mě neptali co presně chci...

Chci udělat otisk systému (ne zálohu systému to je rozdíl) to znamená že se vyhledají všechny soubory a složky i skryté

A všechny údaje se zapíšou do jednoho souboru když provedu jakoukoliv změnu na linuxu a udělám další otisk systému a tyto dva otisky pak porovnám vidím ten rozdíl.
Název: Re:Snímky systému
Přispěvatel: Neviditelný 17. 01. 2016, 19:52:03
Chci udělat otisk systému (ne zálohu systému to je rozdíl) to znamená že se vyhledají všechny soubory a složky i skryté

A všechny údaje se zapíšou do jednoho souboru když provedu jakoukoliv změnu na linuxu a udělám další otisk systému a tyto dva otisky pak porovnám vidím ten rozdíl.
No vida, kdybyste to řekl na začátku, nemuseli bysme hádat, co jste měl na mysli. Termín snímek (častěji anglicky snapshot)  nebo otisk (fingerprint) totiž označují něco jiného.

Pokud vám jde jen o úplný výpis souborů v systému, jde to udělat třeba takto
Kód: [Vybrat]
sudo find / -type d \( -path /dev -o -path /proc -o -path /run -o -path /sys \) -prune -o -print 1>fulltree.txt

Porovnat dva výpisy pak můžete buď přímo diffem
Kód: [Vybrat]
diff -u fulltree.txt fulltree_old.txt
nebo nějakou grafickou nadstavbou jako Kompare atp.
Název: Re:Snímky systému
Přispěvatel: Jenda 17. 01. 2016, 19:58:58
Chci udělat otisk systému (ne zálohu systému to je rozdíl) to znamená že se vyhledají všechny soubory a složky i skryté
Záloha samozřejmě zálohuje i skryté.

Omlouvám se, pod snímkem se na Linuxu myslí snapshot, tj. plná data. To, co chceš, se jmenuje fingerprint (otisk).

A všechny údaje se zapíšou do jednoho souboru když provedu jakoukoliv změnu na linuxu a udělám další otisk systému a tyto dva otisky pak porovnám vidím ten rozdíl.
No a chceš si zobrazit i jak se soubor změnil, nebo jenom že se změnil? K tomu prvnímu potřebuješ úplnou kopii (nebo snapshot), k tomu druhému stačí napajpovat výstup findu od Neviditelného do sha256sum.
Název: Re:Snímky systému
Přispěvatel: Majky 17. 01. 2016, 20:06:13
Proto jsem říkal že nikdo nezná nebo nepoužil SE protože tam se to jmenuje právě snapshot=snímky
Takže podle názvu se přesně nepořídíte a já doufal že někdo obětuje 5sec aby se podíval na funkci toho programu nestalo se tak.

Ale hlavně že mě všetci budou psát jak se mám podívat na google usměvná ironie.


Kdyby měl někdo ještě nějaké nápady pište

PS: Potřebuji vidět co se změnilo presně
Název: Re:Snímky systému
Přispěvatel: Majky 17. 01. 2016, 20:12:29
Napsal jsem to těd špatně to už si dohledám sám co se presněji změnilo v tom souboru nebo jestli už soubor neexistuje.
le já potřebuji tu informaci že ten a ta složka se změnila nebo se vytvořila nebo už neexituje.
Název: Re:Snímky systému
Přispěvatel: Jenda 17. 01. 2016, 20:16:59
Ale hlavně že mě všetci budou psát jak se mám podívat na google usměvná ironie.
Rozdíl je v tom, že ty chceš něco po nás (a nejsme komerční podpora), ne opačně. Takže je ve tvém zájmu (a IMHO slušnosti) uvést v dotazu všechny relevantní informace. Naopak odpovídající může dát jenom odkaz do dokumentace nebo termíny do vyhledávače a očekávat, že si to najdeš.

PS: Potřebuji vidět co se změnilo presně
Zmíněný rekurzivní find + sha256 sum vyrobí soubor, kde bude vždycky název souboru a jeho kryptografický hash. Takže když ho pak spustíš znovu a pak uděláš diff (osobně používám grafický kdiff3), tak uvidíš, které soubory se změnily.

Možná bude potřeba vygenerované soubory ještě setřídit (příkaz sort), protože find podle mě negarantuje, že projde strom vždy ve stejném pořadí.
Název: Re:Snímky systému
Přispěvatel: Neviditelný 17. 01. 2016, 21:48:51
Příslušný požadavek lze řešit např. následujícím skriptem:

Kód: [Vybrat]
#! /bin/bash

OUTFILE="${2}"
FROM_DIR="${1}"
TEMP_OUTPUT="fsprint_tmpout.txt"

printCheckSum() {
  if [ -f "${1}" ]; then
    sha256sum "${1}"
  fi
}

export -f printCheckSum

if [ -z "${FROM_DIR}" ]; then
  echo "Specify a directory to start from"
fi;

if [ -z "${OUTFILE}" ]; then
  echo "Specify a file to save the results to"
fi;

find "${FROM_DIR}" -type d \( -path /dev -o -path /proc -o -path /run -o -path /sys \) -prune -o -exec bash -c 'printCheckSum "{}"' \; 1>"${TEMP_OUTPUT}"
sort -k 2 -s ${TEMP_OUTPUT} 1>"${OUTFILE}"
rm "${TEMP_OUTPUT}"

Příklad použití jest třeba tento:
Kód: [Vybrat]
./fsprint.sh /home/madcat/VBoxShared fsout2.txt
kde první argument je adresář, od kterého dál se má fingerprint vytvořit. Druhý argument je soubor, kam se uloží výsledky.

Porovnání dvou výstupů se provede pomocí diffu
Kód: [Vybrat]
diff -u stary_vypis novy_vypis

Výsledek může vypadat následově:
Kód: [Vybrat]
4871aa90e699f3ad2182049e0a92d94592a2e9fb8c1c619721818d1b13c298d3  /home/madcat/VBoxShared/mpir.dll
 7b886f2b41010f9808fa5906a1221287e6eded005dfc8f6fb97f1746ab9ea3ca  /home/madcat/VBoxShared/nine_q.tar.xz
 f375feb1f51e92fc6bd4c004b72c76c81053a6e4cd35c23cf1481e6eb8a2ee9e  /home/madcat/VBoxShared/Peakmaster.dbc
-1c93005f404468457df2230e1918e75e3028bc60cc579845b528a14ab118d1d1  /home/madcat/VBoxShared/Peakmaster 5.3 Complex.exe
 7739b98386e2d12486687f36b43c95a14cca14f4c241214b5babfc48fced76d0  /home/madcat/VBoxShared/plot_hvl.gp
 07f67e35875d50b5c0357f52288de6ad806873356e9e1effcf953dac8fe3f362  /home/madcat/VBoxShared/qwt-6.1/admin/svn2package.sh
 2342b1e6a9a5b2aa1e672122e909d458db76d79853ccb1aa8335acbde9f03183  /home/madcat/VBoxShared/qwt-6.1/build/designer/Makefile
@@ -21572,7 +21571,7 @@
 0dfeefdcc20b80e9b35590d358699b8416c0e0ad5b57f47cb79e0521acb53f5f  /home/madcat/VBoxShared/qwt-6.1/textengines/mathml/qwt_mml_document.h
 521081001bea8f59b081c7e0078ca6dc3a4a7c733670f624d2bbd3977125bd15  /home/madcat/VBoxShared/qwt-6.1/textengines/textengines.pri
 679386002ae6f9a0693bc6ac97c7f441e9c17ba487d8af793d9390a5c9b9043c  /home/madcat/VBoxShared/qwt-6.1/textengines/textengines.pro
-1193112a469b14aa5c26a8cdeb3f2f7e80dcf3432cca2579ed155dabb12884dc  /home/madcat/VBoxShared/recovery.evd
+25eddc393137556dbf4c7670678fcebf14544194a8839d6693c4e32ddd8cdfb3  /home/madcat/VBoxShared/recovery.evd
 13a469804e5c6f6cd8fcb4d9b9f7186dd8bb0cd4873ee6afeeda39c654774441  /home/madcat/VBoxShared/usb_skelswitch.c
 4f74cc1462729aa764a6746e2164abfb724acec26b1ae2652783a7a348dfabfb  /home/madcat/VBoxShared/uuid.cpp
 1af6946028ab7f932c2ede9c114c16ff746df4a83413653276b2119f1ef60f18  /home/madcat/VBoxShared/.vimrc

Z výstupu je vidět, že byl smazán soubor "Peakmaster 5.3 Complex.exe" a změněn obsah souboru "recovery.evd"

Skriptík je vymyšlen tak, aby neprohledával adresáře /dev, /proc, /run a /sys protože jejich obsah se generuje dynamicky, neukládá se nikam na disk a závisí třeba na tom, jaké jsou k počítači připojené periferie atp.

Stačí toto řešení?
Název: Re:Snímky systému
Přispěvatel: VK 17. 01. 2016, 21:51:33
Jak zde bylo řečeno, pořízení seznamu souborů a adresářů a jejich metadat jde nejlépe pomocí kombinace příkazů příkazové řádky (find, stat, sha256sum...) viz man a Google, na to není potřeba žádná grafika. Dva takto vytvořené seznamy jde pak snadno porovnat v jakémkoliv programu typu Kompare, případně jen pomocí diff.
Název: Re:Snímky systému
Přispěvatel: Majky 19. 01. 2016, 01:17:02
Na porovnání souborů jsem si oblíbil Meld vážně příznivé GUI.

Ten skript funguje ale je pro mě nepoužitelný (SHA256 Hash je pro celý systém prostě šnek)
Našel jsem "xxHash" https://github.com/Cyan4973/xxHash (Který se chlubí opravdu velkou rychlostí)
Bohužel nejsem schopný vytvořit deb balík který bych následně nainstaloval na Linux Mint.

Tento postup nefunguje:
Kód: [Vybrat]
./configure
make

sudo checkinstall -D -y --install


Může se na to někdo mrknout jak vytvořit deb balík?
Název: Re:Snímky systému
Přispěvatel: Jenda 19. 01. 2016, 01:36:49
SHA256 Hash je pro celý systém prostě šnek
Mám dnes už spíš low-end notebook (i3-2350M) a sha256sum mi dává 100 MB/s. Takže 5GB systém by to spočetlo pod minutu. Podle mě problém bude v seekování nebo forkování nových procesů (schválně si místo sha256 zkus dát třeba cat > /dev/null), ne v rychlosti počítání hashe.


Tento postup nefunguje:
Kód: [Vybrat]
./configure
make

sudo checkinstall -D -y --install


Může se na to někdo mrknout jak vytvořit deb balík?
Nemůže, když nenapíšeš, co "nefunguje" znamená za chybu.
Název: Re:Snímky systému
Přispěvatel: Majky 19. 01. 2016, 01:44:53
Nemůžu napsat chybu když to žádnou chybu nepíše :-D

Si to zadej do terminálu a uvidíš :-D
Název: Re:Snímky systému
Přispěvatel: Majky 19. 01. 2016, 02:07:10
Ve skriptu jsem nahradil sha256 za cat > /dev/null ve výpisu nic není a trvá to taky dlouho co mám podle toho poznat ?

Nebo kde je zakopanej pes ?
Název: Re:Snímky systému
Přispěvatel: Neviditelný 19. 01. 2016, 08:27:34
Ve skriptu jsem nahradil sha256 za cat > /dev/null ve výpisu nic není a trvá to taky dlouho co mám podle toho poznat ?
Že problém není v rychlosti výpočtu hashe. Nevím, na čem to spouštíš, ale problém vidím jednak v rychlosti disku, protože se musí v podstatě stylem random access přečíst každý soubor, co se v počítači nachází a těch mohou být stovky tisíc. Navíc se každý soubor pro výpočet hashe musí komplet přečíst. Další problém je s rychlostí shellových skriptů obecně, pro každý soubor se musí spustit instance bashe a z ní sha256sum a echo. U desítek tisíc souborů se ten overhead projeví. To spouštění celého bashe by se ze skriptu nejspíš dalo odstranit, doopravdy by pomohlo přepsat ten skript do nějakého primárního jazyku.
Název: Re:Snímky systému
Přispěvatel: Majky 19. 01. 2016, 10:14:43
Neviditelný: Takhle tomu už rozumím :-)

Tak to jsem tam kde jsem byl :-D

System Explorer na Windows to má za chvilku to vážně není nic na linuxu co to dokáže :-D
Jako 20 sekund a 3 hodiny je rozdíl no :-D
Název: Re:Snímky systému
Přispěvatel: Neviditelný 19. 01. 2016, 16:13:45
Největší overhead způsobí "exec" ve findu. Skript jsem zkusil spustit na cca 5 let staré i7 v práci Cygwinem pod Windows. Projít 124 GB ve 297079 souborech trvalo několik vteřin, totéž s "echo {} > /dev/null" v exec parametru nedoběhlo ani přes oběd. Pokud nepotřebuejš checksumy, stačí řádek, kde se volá find nahradit tímto:

Kód: [Vybrat]
find "${FROM_DIR}" -type d \( -path /dev -o -path /proc -o -path /run -o -path /sys \) -prune -o -print 1>"${TEMP_OUTPUT}"

O něco rychlejší verze s checksumy se dá vymyslet třeba takto:
Kód: [Vybrat]
find "${FROM_DIR}" -type d \( -path /dev -o -path /proc -o -path /run -o -path /sys \) -prune -o -print0 | xargs -0 -r sha256sum 1>"${TEMP_OUTPUT}" 2>/dev/null
Na stejný zkušební vzorek potřeboval něco přes půl hodiny.

Pro cokoliv rychlejšího by se skript asi musel přepsat v něčem jiném, v Pythonu nebo PHP by to bylo na pár řádek.
Název: Re:Snímky systému
Přispěvatel: VK 19. 01. 2016, 19:40:42
to vážně není nic na linuxu co to dokáže :-D

Ono to s největší pravděpodobností existuje, a já jsem si vzpomněl, že jsem chtěl jednou něco takového také použít, ale teď se nějak nedokážu správně zeptat Googla. V každém případě to ale bylo pro příkazovou řádku, nic klikacího. Já bohužel nic podobného nepoužívám, jen občas inotifywatch, ale to je na sledování práce se soubory (statistiky) v "reálném čase". Ještě zkusím trochu pohledat...
Název: Re:Snímky systému
Přispěvatel: VK 19. 01. 2016, 20:18:30
Tak asi to bylo AIDE. Umí kontrolovat integritu a atributy. Případně Samhain či Tripwire.
Název: Re:Snímky systému
Přispěvatel: okur_pytel 19. 01. 2016, 22:42:23
Nebo pouzijte inotify.
https://cs.wikipedia.org/wiki/Inotify
Název: Re:Snímky systému
Přispěvatel: VK 19. 01. 2016, 22:58:44
Teď jsem ještě našel http://ossec.github.io (http://ossec.github.io) . Je to trochu off topic vzhledem k původnímu dotazu, ale přijde mi to zajímavé - kontrola integrity souborů a dalšího ve formě klient(agent)/server...
Název: Re:Snímky systému
Přispěvatel: Ziprator 20. 01. 2016, 00:19:30
Neni to tak dlouho co jsem neco podobneho taky potreboval na linuxu.

Ale je fakt ze na windowsu je to vice uzitecne tam te soft muze napachat cokoliv u linuxu mas vetsinou balicky tak mas prehled ale je vazne skoda ze neco jako SE neni i na linuxu :-/