1 / 50

Seminar T op 10@syshelp

Seminar T op 10@syshelp. Osnovna ideja: Stručna pomoć sistem-inženjerima Centralno koordiniranje upita između različitih grupa Savjetovanje. Helpdesk za sistem-inženjere Sistemac@carnet.hr Telefon: 01 6165 680. Priredio: Božo Juretić <bjuretic@srce.hr>. Seminar T op 10@syshelp.

kovit
Télécharger la présentation

Seminar T op 10@syshelp

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar Top10@syshelp • Osnovna ideja: • Stručna pomoć sistem-inženjerima • Centralno koordiniranje upita između različitih grupa • Savjetovanje Helpdesk za sistem-inženjere Sistemac@carnet.hr Telefon: 01 6165 680 Priredio: Božo Juretić <bjuretic@srce.hr> Top10@Helpdesk

  2. Seminar Top10@syshelp Plan seminara Brisanje mailova korisnika za određeno razdoblje (Debian) Sendmail: blokiranje spammera na lošoj mreži Rad sa AIDE sustavom Popravak «puknutih» instalacija programskih paketa LDAP: promjena root passworda LDAP: problemi u instalaciji novih paketa Problemi sa random-om na Solarisu Problemi sa PINE-om Downgrade unstable/testing Debiana na stable Upute za izradu vlastitih .deb paketa za Debian i Solaris Top10@Helpdesk

  3. Seminar Top10@syshelp Dodatni sadržaji: Novi projekti: AIDE-Central Centralna Snort analitička konzola Slobodna rasprava i pitanja koja ćemo nastojati zajednički riješiti Top10@Helpdesk

  4. 1. Brisanje mailova za određeno razdoblje(Debian) Upit >Pa recimo da hocu pobrisati sve poruke iz mailboxeva korisnika starije od >sredine 2002-e.Da da, Debian je. Rješenje: Pobrisati poruke pomoću skripte mail-expire Npr. $ mail-expire --delete <broj dana> Rezime problema: • nakon postavljanja FEATURE(`dnsbl',`relays.ordb.org'), mailovi se ne isporučuju ni lokalno u slučaju ispada mreže Top10@Helpdesk

  5. 1. Brisanje mailova za određeno razdoblje(Debian) • Program nije u stable distribuciji Debiana, pa cete ga morati instalirati rucno: # apt-get install libcompress-zlib-perl libdate-calc-perl (perl moduli koje program koristi) $ wget 'http://ftp.us.debian.org/debian/pool/main/m/mail-expire/mail-expire_0.4_all.deb' # dpkg -i mail-expire_0.4_all.deb # zsh # cd /var/mail # for i in * (udarite enter) # do # mail-expire --delete <broj dana> $i # chown $i:mail $i # chmod 660 $i # done Top10@Helpdesk

  6. 2. Sendmail: blokiranje spammera sa loše mreže Upit: >U sendmail.mc sam jos davno dodao slijedece: >FEATURE(`dnsbl',`relays.ordb.org',`"550 Email rejected due to sending server >misconfiguration - see ") >Medjutim poradi i glede cestog ispadanja dijela mreze, sendmail mi ne salje mejlove >cak ni lokalno, pa pretpostavljam da je problem u ovom FEATURE-u. Ocito se >pokusava spojiti na ordb.org, ali mu to ne ide. Pa sad, sto mislite koliko je ovo uopce >korisno iz vasega iskustva, postoji li neka druga opcija i jeli mi se to uopce desava >zbog toga ili je nesto drugo? Top10@Helpdesk

  7. 2. Sendmail: blokiranje spammera sa loše mreže Rješenje • u /etc/mail/access dodati liniju 127.0.0.1 OK • pokrenuti # cd /etc/mail # makemap hash access.db < access • restartati sendmail # /etc/init.d/sendmail restart Top10@Helpdesk

  8. 3. Rad sa AIDE sustavom AIDE – Advanced Intrusion Detection Environment • provjerava integritet podataka na datotečnom sustavu • kreira bazu podataka sa checksumima svih fajlova • usporedjuje trenutno stanje sa bazom i ispisuje razlike (mailom ili u na konzoli) Top10@Helpdesk

  9. 3. Rad sa AIDE sustavom Upit: >Samo jedno pitanjce vezano uz AIDE. Dakle, ako sam dobro shvatio, >svaki put kad se bilo sto >instalira, nakon toga je potrebno napraviti "aide --init", potom u >/var/lib/aide promijenitiaide.db.new u aide.db? >Mislim da je to ono sto treba napraviti pa molim nadopunite, > akonije :) Top10@Helpdesk

  10. 3. Rad sa AIDE sustavom Način korištenja • podešavanje aide.conf-a • inicijalizacija baze # aide –init (ili aideinit) • gledanje razlika sa # aide –check • Prepisivanje baze sa trenutnim stanjem datottečnog sustava sa # cd /var/lib/aide # mv aide.db.new aide.db Top10@Helpdesk

  11. 3. Rad sa AIDE sustavom Pretpostavke: • bazu je na readonly mediju, ili zaštićena od brisanja i izmjene od strane napadača • praćenje ispisa aide –check , jer inače stvar nema smisla Prijedlog: # aideinit - nakon svakog update-a stroja, ali prije provjeriti stanje sa # aide --check Top10@Helpdesk

  12. 4. Popravak «puknutih» instalacija paketa • Problem se javlja pri instalaciji programskih paketa, koji se zbog nekog razloga ne uspiju do kraja instalirati. • Simptomatika: neispravan rad servisa neispravan status paketa $ dpkg -l openldap-cn Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description ====================================================== iF openldap-cn 2.1.17-5 OpenLDAP server and client with utility for easy start Top10@Helpdesk

  13. 4. Popravak «puknutih» instalacija paketa Rješenja: • javiti problem grupi za pakete na paketi@carnet.hr i čekati da oni poprave paket • NE kontaktirati maintainere paketa preko telefona, ukoliko oni to nisu eksplicitno dopustili • pokušati samostalno riješiti problem i o problemu i rješenju obavijestiti maintainera paketa Samostalno rješenje problema • Prvo pogledamo informacije o paketu koji je problematican $ dpkg –l openldap-cn $ dpkg –s openldap-cn Top10@Helpdesk

  14. 4. Popravak «puknutih» instalacija paketa Postupak popravljanja paketa • oslanja se na poznavanje problematike iz pitanja br. 1 • Ukoliko iz poruke koju paket ispisuje pri neuspješnoj instalaciji nije očito kako popraviti instalaciju, treba pogledati datoteke u var/lib/dpkg/info/paket.* • Pogledati datoteke postinst, preinst, prerm … i u njima pokušati otkriti gdje je problem • Ukoliko problem nije očit, pokušati editirati te skripte i na njihov vrh umjesto pozivanja shella pozvati shella sa –x opcijom za ispisivanje naredbi koje se trenutno izvrsavaju pri instalaciji: #!/bin/sh promijeniti u #!/bin/sh –x Top10@Helpdesk

  15. 4. Popravak «puknutih» instalacija paketa • Pokrenuti dpkg --configure –a i vidjeti dali je problem rijesen, odnosno paket uredno instaliran (dpkg –l vraca uredan ii status) • Ponavljati zadnja dva koraka dok se greška ne otkrije i ispravi • Prepakirati paket postupkom sličnim onome u pitanju 1: - otpakirati naispravan paket sa kontrolnim datotekama na neko mjesto - prepisati ispravljene postinst i ostale datoteke unutar tog direktorija - prepakirati paket sa $ dpkg –b paket . Poslati na paketi@carnet.hr u čemu se sastojao problem i koje mu je rješenje Top10@Helpdesk

  16. 5. LDAP: promjena root passworda • Nekada je trebalo napraviti .ldif sa izmijenjenim podacima (i sada potrebno ukoliko se mijenjaju poaci za korisnike iz komandne linije – sada preko sučelja) • Sada se obavlja uz pomoć slappasswd alata • Izmjena se vrši putem rootpw direktive u /etc/ldap/slap.conf (na Solarisu /usr/local/etc/ldap/slapd.conf) Primjer takve linije: rootdn "cn=admin,dc=adu,dc=hr" rootpw {crypt}H17H7AH.3dW46 Top10@Helpdesk

  17. 5. LDAP: promjena root passworda Postupak • Generiranje hash vrijednosti nove lozinke sa slappasswd # slappasswd New password: (unos) Re-enter new password: (unos) (vraća) {SSHA}gxXS4A8++BhJASlDMOPOhkicmK6Wcik6 Top10@Helpdesk

  18. 5. LDAP: promjena root passworda {SSHA}gxXS4A8++BhJASlDMOPOhkicmK6Wcik6 • Liniju {SSHA} upisati pored direktive rootpw u slapd.conf-u, tako da linije sada izgledaju ovako rootdn "cn=admin,dc=adu,dc=hr" rootpw {SSHA}gxXS4A8++BhJASlDMOPOhkicmK6Wcik6 • Restartati slapd sa # /etc/init.d/slapd stop # /etc/init.d/slapd start Top10@Helpdesk

  19. ( savjet: LDAP preko HTTPS-a) Razlozi • Trenutno sav promet u kojemu koordinator preko web sučelja unosi i mijenja podatke korisnika CMU-a putuje neenkriptiran preko mreže Opasnosti • Bilo tko može usniffati promet i saznati LDAP administratorsku lozinku i otvarati N korisničkih računa, ili im mijenjati status, što se teško otkriva • Narušena sigurnost sustava (iste lozinke za LDAP i shell accounte?) Top10@Helpdesk

  20. (savjet: LDAP preko HTTPS-a) Način izvedbe • Podešavanje apache-a da radi sa mod_ssl-om Provedba • (Debian) Instalirati najnoviji apache-cn paket koji sve podesava automatski: SSL dobivate out-of-the-box i ostaje samo koristiti ga na način: Umjesto http://www.domena.hr/ldap Koristiti https://www.domena.hr/ldap Ubrzo planiramo omogućiti automatsku preusmjeravanje sa http://ldap.domena.hr/ => https://www.domena.hr/ldap (jednostavno za koordinatore, ne moraju misliti o SSL-u, sve se događa automatski) Top10@Helpdesk

  21. 6. LDAP: problemi u instalaciji paketa Razlozi za upgrade • bolja integracija u sustav (poštuju CARNetovu paketnu politiku) • implementirane nove access kontrole • omogućen udaljeni backup LDAP imenika na SRCU • bolje funkcioniranje kombinacije openldap, radius, web sučelje • lako upgradanje u budućnosti • kompatibilnost sa Debian standardom Redoslijed instaliranja paketa • libdb4, libsasl i libdb3 • openldap • freeradius • cn-ldap-hr (web sučelje) Top10@Helpdesk

  22. 6. LDAP: problemi u instalaciji paketa Najčešći problemi u instalaciji (Debian) (upgrade sa paketa Dubravka Penezica, CMUNG na pakete Josipa Rodina) 1. Problem: slapd se nije dobro instalirao, pa puca instalacija openldap-a apt-get install openldap-cn vraca Dumping directory to /var/backups/slapd-2.0.23-6.ldif... /var/lib/dpkg/tmp.ci/preinst: slapcat: command not founddpkg: error processing /var/cache/apt/archives/slapd_2.1.17-1_i386.deb(--unpack): Rješenje: • dpkg –P slapd; apt-get install slapd; apt-get install openldap-cn • Eventualno pogreška u /var/backups/slapd-2.0.23-6.ldif datoteci – potrebno ispraviti DC= liniju Top10@Helpdesk

  23. 6. LDAP: problemi u instalaciji paketa 2. Problem: Greška sa atributima (nedostaju ili su duplicirani) Rješenje: • U /etc/ldap/slapd.conf-u pomaknuti include linije sa dna datoteke na vrh, pored drugih include linija • Provjeriti dali se neke include linije ponavljaju na vrhu i dnu datoteke Top10@Helpdesk

  24. 6. LDAP: problemi u instalaciji paketa 3. Problem: Nije pokrenuta naredba slapcat prije upgrade-a paketa Rješenje: • Instalirati STARI paket koji zna citati stari format baze (potraziti ga u /var/cache/apt/archives) • Izvršiti slapcat nakon instalacije slapcat -l /var/backups/slapcat.openldap-cn • Pokrenuti instalaciju openldap-cn apt-get update apt-get install openldap-cn Top10@Helpdesk

  25. 6. LDAP: problemi u instalaciji paketa Problem • U slapd.conf-u umjesto rootovog passworda stoji: rootdn "cn=admin,dc=ihjj,dc=hr" rootpw Incorrect number of arguments (pokreška u samom paketu) Rješenje • Isto kao i za promjenu LDAP root passworda (slappasswd) Top10@Helpdesk

  26. 6. LDAP: problemi u instalaciji paketa Problem • Ne prolazi instalacija openldap-cn-a, iako je napravljen slapcat Rješenje • staru bazu u /var/openldap/openldap-ldbm pomaknite na drugo mjesto Top10@Helpdesk

  27. 6. LDAP: problemi u instalaciji paketa Problem • Pri instalaciji openldap-cn javlja slapadd: dn="dc=efri,dc=hr" (line=20): (64) value of naming attribute 'dc' is not present in entry couldn't insert old data: No such file or directory Do greške dolazi ukoliko ukoliko se u datoteci /var/backups/slapcat.openldap-cn razlikuje dc podatak u poljima dn i dc Rješenje • Promijeniti polja tako da dc podataka u dn idc poljima bude isti Top10@Helpdesk

  28. 6. LDAP: problemi u instalaciji paketa Problem • Instalacija paketa javlja: >slapadd: dn="cn=admin,dc=efri,dc=hr" (line=39): (64) value of naming >attribute 'cn' is not present in entry >couldn't insert old data: Illegal seek Rješenje • Zamijeniti linije u /var/backups/slapcat.openldap-cn dn: cn=root,dc=efri,dc=hr cn: admin … u dn: cn=admin,dc=efri,dc=hr cn: admin Top10@Helpdesk

  29. 7. Problemisa random-om na Solarisu Problem • random modul (Sun patch 112438) ne instalira se kako treba Rješenja • Rebootanje stroja, ukoliko je zaboravljeno • Ručna instalacija patcha kojeg nosi random paket Dijagnostika problema • $ ssh neki_host vraća PRNG is not seeded Top10@Helpdesk

  30. 7. Problemisa random-om na Solarisu Ručna instalacija patcha Prvo pogledamo dali je patch instaliran sa $ showrev -p | grep 112438 Ukoliko nije instaliran (showrev ne vraćanešto), rješenje je: # cd /usr/local/doc/random # unzip 112438-01.zip # cp –pr 112438-01 /tmp # cd /tmp # patchadd 112438-01 # add_drv random Top10@Helpdesk

  31. 7. Problemisa random-om na Solarisu Ukoliko showrev -p | grep 112438 vrati nešto slično ovome: Patch: 112438-01 Obsoletes: Requires: Incompatibles: Packages: SUNWcarx, SUNWcsr, SUNWmdb, SUNWmdbx, SUNWhea • Potrebno je pogledati dali je učitan modul # modinfo | grep random • Ukoliko nije učitan učitati ga sa # add_drv random Isprobati random sa ssh localhost Top10@Helpdesk

  32. 8. Rješenje problema sa PINE-om (Sol) Problem • Pine javlja nesigurne permissione na /var/mail direktoriju • Pine nudi rješenje: 1777 na /var/mail • Nedostaci rješenja: svi mogu pisati (možda nema quote?) Rješenje • umjesto chmod 1777 kako pine sugerira (svatko može pisati u /var/mail), staviti setgid na pine # chmod 1775 /var/mail # chgrp mail /var/mail # chmod g+s /usr/local/bin/pine # chgrp mail /usr/local/bin/pine Top10@Helpdesk

  33. 9. Downgrade unstable/testing Debiana na stable Upit: >imam problem na serveru XXX.XXX.hr, ostali su stari podaci u >/etc/apt/sources.list datoteci te su se instalirali testing paketi, >pokusao sam ih skinuti, ali nisam uspio ni s dpkg --purge, niti apt-get >remove, zapelo je kod mysql-server paketa: > >root@XXXXt:~# apt-get remove mysql-server (apt ovdje ispisuje kako ne može deinstalirati pakete jer mnogo drugih ovisi o njima) Top10@Helpdesk

  34. 9. Downgrade unstable/testing Debiana na stable Razlozi • nestabilne distribucije • nemaju security updateove Uzroci • zabuna pri prelasku na stable distrbuciju (prekasna promjena linija u /etc/apt/spurces.list sa unstable/testing na stable) Trajanje:oko 2h, bez komplikacija Top10@Helpdesk

  35. 9. Downgrade unstable/testing Debiana na stable Rješavanje: • Prvo podesiti ispravne linije u /etc/apt/sources.list # Osnovno deb http://security.debian.org stable/updates main contrib non-free deb http://debian.carnet.hr/debian stable main contrib non-free deb http://ftp.carnet.hr/pub/debian carnet core opt # Izvorni kodovi deb-src http://debian.carnet.hr/debian unstable main contrib non-free Top10@Helpdesk

  36. 9. Downgrade unstable/testing Debiana na stable • Prepravljanje /etc/apt/sources.list tako da se linije sa unstable/testing zamijene sa stable (ili woody) • Pokretanje skripte koja će skinuti definicije paketa za stable distribuciju te koja će napraviti sljedeće - Usporediti verziju paketa na sustavu sa verzijom paketa u stable distribuciji - Ukoliko je verzija paketa na sustavu veća od one u distribuciji forsirati instalaciju starije verzije paketa Skriptu se pokreće na sljedeći način: # cd /var/lib/apt/lists ( # apt-get install grep-dctrl , zahtjeva da skripta) # apt-get update Top10@Helpdesk

  37. 9. Downgrade unstable/testing Debiana na stable # zsh # for i in $(COLUMNS=200 dpkg -l | grep ^.i | awk '{print $2}'); do if dpkg --compare-versions "$(grep-dctrl -F Package -X $i -s Version -n *_Packages)" lt "$(COLUMNS=200 dpkg -l $i | grep $i | awk '{print $3}')"; then echo $i; apt-get -t stable install $i=`grep-dctrl -F Package -X $i –sVersion -n *_Packages`; fi; done Top10@Helpdesk

  38. 9. Downgrade unstable/testing Debiana na stable • Izbrisane pakete vratiti rucno • Neke pakete možda ne želite downgradeati, i zato na svaki upit odgovarate posebno Top10@Helpdesk

  39. 10. Izrada vlastitih .deb paketa za Debian i Solaris • Napredna tematika • Potrebno dobro poznavanje sustava i programa kojega se “paketira” • Potreba i procjena smisla paketiranja nekog programa Top10@Helpdesk

  40. 10. Izrada vlastitih .deb paketa za Debian i Solaris Definicija: Paket je skup izvršnih, konfiguracijskih, bibliotečnih i dokumentacijskih datoteka, podešenih tako dainstalacijom omogućuju osnovnu funkcionalnost programa koji je zapakiran. Praktična primjena i smisao paketa: • Podešavanja programa za vlastite potrebe • Izrada paketa iz programa koji nisu zapakirani, radi čistoće sustava i lakešeg održavanja • Promjena konfiguracija na više računala jednokratnim procesom Top10@Helpdesk

  41. 10. Izrada vlastitih .deb paketa za Debian i Solaris Procedura izrade novog programskog paketa Priprema: • Odabir paketa za paketiranje • download izvornog koda • proucavanje instalacijske dokumentacije • pokretanje ./configure (--help) skripte • make (kompajliranje) U ovoj fazi program je pripremljen za paketiranje: • izvršne datotekei biblioteke su izgrađene iz izvornog koda • dokumentacija je napoznatom mjestu. Top10@Helpdesk

  42. 10. Izrada vlastitih .deb paketa za Debian i Solaris Osnovna izrada paketa • pokretanje make install narebe, sa istovremenimpraćenjem promjena stanja datotečnog sustava uz pomoćinstallwatch-a: # installwatch –o izlaz.installwatch make install • Kreiranje inicijalnog paketa iz popisa paketa skriptom inst2deb:# inst2deb izlaz.installwatch paket_name (odgovara se na pitanja o paketu) U ovoj fazi imamo kreiran inicijalni paket. Top10@Helpdesk

  43. 10. Izrada vlastitih .deb paketa za Debian i Solaris Naknadno podešavanje paketa U ovoj fazi osnovni paket proširujemo uključivanjemdokumentacije, ipodešavanjima sustava koje paketautomatski izvodi Redom: • Otpakiramo osnovni paket u zaseban direktorij sa dpkg-om $ dpkg –x neki_paket.deb neki_direktorij • Otpakiramo i konfiguraciju paketa u isti direktorij $ cd neki_direktorij $ dpkg –e ../neki_paket.deb (ovo će kreirati direktorij DEBIAN u direktoriju neki_direktorij) Top10@Helpdesk

  44. 10. Izrada vlastitih .deb paketa za Debian i Solaris Naknadno podešavanje paketa • Podešavamo skripte u DEBIAN direktoriju • Uključimo u paket dokumentaciju i dodatne datoteke, ukoliko su potrebne • Obavezno(!): promijeniti vlasnistvo svih fajlova na ispravne vrijednosti, npr.: # chown –R root:root neki_direktorij • Izrada finalnog programskog paketa # dpkg –b neki_direktorij . (Ovo će kreirati neki_paket.deb u trenutnom direktoriju.) Top10@Helpdesk

  45. 10. Izrada vlastitih .deb paketa za Debian i Solaris Isprobavanje paketa • Istestiramo rad paketa sa # dpkg –i neki-paket.deb • Provjerimo ispravnost control datoteke sa $ dpkg –I neki-paket.deb • odnosno, nakon instalacije paketa sa $ dpkg -l neki-paket $ dpkg -s neki-paket Alati za izradu paketa, poput skripte inst2deb će biti dostupni na http://sistemac.carnet.hr/obrazovanje/seminari/top10 Top10@Helpdesk

  46. 10. Izrada vlastitih .deb paketa za Debian i Solaris Isprobavanje paketa • Istestiramo rad paketa sa # dpkg –i neki-paket.deb • Provjerimo ispravnost control datoteke sa $ dpkg –I neki-paket.deb • odnosno, nakon instalacije paketa sa $ dpkg -l neki-paket $ dpkg -s neki-paket Alati za izradu paketa, poput skripte inst2deb će biti dostupni na http://sistemac.carnet.hr/obrazovanje/seminari/top10 Top10@Helpdesk

  47. Dodatni sadržaji • AIDE central – log collector • Snort central security console Top10@Helpdesk

  48. Projekti: AIDE Central • Novi projekt u nizu sigurnosnih projekata SRCE+CARNet-a • Namjena (sigurna pohrana i dohvat baze sa stanjem datotečnog sustava) • Korištenje • Implementacija Top10@Helpdesk

  49. Projekti: Snort Central Log Collector • Nadziranje sigurnosti mreže CARNet sa centralne “sigurnosne konzole” na SRCU • Nadzor vrši administrator cjelokupne mreže (stručnjak za sigurnost) ili sistemac za ustanovu • Mogućnosti • Daljnja proširenja (otvoreno za prijedloge) Top10@Helpdesk

  50. Kraj seminara: otvorena diskusija Zahvaljujem na strpljivosti. Svi materijali vezani uz ovaj seminar biti će dostupni na http://sistemac.carnet.hr/obrazovanje/seminari/top10 Top10@Helpdesk

More Related