• T4CH
  • NEWS
  • VIDEO
Forum > Software

Incominciare con Linux

Discussione inserita in 'Software' da DrugsMatt, 22 Marzo 2010.

Pagina 2 di 2
< Indietro 1 2
  1. DrugsMatt techUser

    nap80 said:
    scusa Drugs,non so se ho afferrato bene il problema,ma io per togliermi tutti i fastidi dell'utente root edi quello che ne concede il terminale,ho sempre usato questa guida.

    link


    Ciao, ma il mio problema alla fine non è quello di aprire o creare file con i permessi di amministratore, ma di cambiare i permessi della root (localhost), per poi andarci a copiare dentro i file del CMS e far partire l'installazione, siccome non ho i permessi per "copiare" quei file, devo necessariamente modificare.



    EDIT



    Ho provato con

    sudo su

    cd /var

    chmod 644 www


    ma non mi ha cambiato affatto i permessi [IMG] come diamine si fa?? sono bloccato...



    RIEDIT



    ah ok ora con

    chmod 777 -R www
    me li ha dati e l'ho copiata... sono consapevole che il mio utente di default (mattia) non è amministratore, ma come faccio a "essere" l'admin? boh...
    DrugsMatt, 31 Marzo 2010
    #21
  2. Davide Amministratore

    Per avere privilegi da root (il tuo admin) da ubuntu devi fare "sudo su".

    Non dovresti dare permessi in lettura scrittura a tutti (777) nella tua cartella web, potresti creare ipotetici buchi nella sicurezza.
    Davide, 2 Aprile 2010
    #22
  3. DrugsMatt techUser

    Davide said:
    Per avere privilegi da root (il tuo admin) da ubuntu devi fare "sudo su".

    Non dovresti dare permessi in lettura scrittura a tutti (777) nella tua cartella web, potresti creare ipotetici buchi nella sicurezza.




    Lo so.. Ma quali devo dare allora? Con 644 non mi fa copiare i file nella cartella di localhost
    DrugsMatt, 9 Aprile 2010
    #23
  4. Falko techBoss

    DrugsMatt said:
    Lo so.. Ma quali devo dare allora? Con 644 non mi fa copiare i file nella cartella di localhost
    chmod 644 funziona come comando ma de facto ti setta i file leggibili/scrivibili (6) dall'utente proprietario e solo leggibili dal gruppo e dagli altri utenti (x quello non li puoi toccare); usare chmod 777 non è un "potenziale rischio", ma un buco enorme nella sicurezza perchè oltre che settarli leggibili e scrivibili DA TUTTI te li mette pure eseguibili quando non lo devono MAI essere.



    Per settare correttamente i permessi devi prima sapere con che utente/gruppo sta girando apache, cosa che ottieni in vari modi, il più facile è fare "sudo ps aux | grep apache" oppure "sudo ps aux | grep httpd" in shell, una volta trovato utente e gruppo (e qui se non hanno fatto porcate l'utente dove viene avviato sarà un user con una shell nulla quindi NON accessibile), a questo punto le strade sono 2:



    - aggiungere il tuo utente nel gruppo di appartenenza che hai ricavato (il gruppo viene reso attivo solo quando ti rilogghi) e settare la directory con "chmod -R 664 /var/www" (-R serve a fare la recorsività nella cartella...) , a questo punto il tuo utente sarà in grado di leggere e scrivere in quella dir, fatte le modifiche (upload e via dicendo) bisognerebbe ridare "chmod -R 644 /var/www" ;

    - cambiare l'utente di avvio di apache (questo è un brutto sistema e va fatto solo se sai cosa stai facendo, non è il tuo caso però...);

    - usare l'utente root direttamente.







    Un consiglio: chmod non usarlo a caso sul sistema se non sai cosa stai facendo perché un errore può bloccarti per intero la macchina e comunque se vuoi rendere leggibile/scrivibile da tutti in quella directory usa chmod 666 e non 777, ricorda che dare 666 come permesso vuol dire che una qualsiasi persona ESTERNA dalla tua macchina può potenzialmente modificare i files sul tuo server, il rischio è tuo...



    Fammi sapere, ciao
    Falko, 9 Aprile 2010
    #24
  5. Davide Amministratore

    Falko vuoi provare a mandare techforum down? SSH è sulla porta 22... e l'intera directory web (/web/html/) ha permessi 777 -R, quindi se vuoi hai carta bianca =)

    Son curioso se hai tempo! Il requisito per craccare il giocattolo è un utente con accesso SSH vero? (so che di default linux ha molti utenti, tipo uno per ogni processo ma solo alcuni sono abilitati ad accedere da SSH.)



    Ciao =)
    Davide, 9 Aprile 2010
    #25
  6. Falko techBoss

    Davide said:
    Falko vuoi provare a mandare techforum down? SSH è sulla porta 22... e l'intera directory web (/web/html/) ha permessi 777 -R, quindi se vuoi hai carta bianca =)

    Son curioso se hai tempo! Il requisito per craccare il giocattolo è un utente con accesso SSH vero? (so che di default linux ha molti utenti, tipo uno per ogni processo ma solo alcuni sono abilitati ad accedere da SSH.)



    Ciao =)
    Ssh nn centra nulla... settando in 777 hai qualunque file eseguibile/scrivibile/leggibile, basta un bug su uno script php ed uno che sa sfruttarlo (o ha un exploit) ti fa fuori l'intero sito (e se hai apache avviato da root ti frega pure la macchina dato che in accesso il sistema avvia il programma "login" mentre in questo sistema avvia la shell diretta senza nessun tipo di controllo)...



    Se vuoi la dimostrazione pratica, uploadda l'eseguibile di bash sul server e poi chiama l'indirizzo diretto del download (saltando php, basta sniffare comunque da remoto), se sei con un sistema *NIX ti parte la shell del tuo server Centos con i privilegi dell'utente che ha avviato apache, considera che molti anni fa c'era un bug che permetteva di chiamare la shell facendo www.sito.quellocheè/../../../bin/bash (sistemi Linux) o www.sito.quellocheè/../../../winnt/cmd e si prendeva il sistema.



    Questo è il primo link che ho trovato da google (Fonte: http://www.prozone.it/smf/index.php?topic=46.0;wap2 )

    Ma è veramente più sicuro questo settaggio?

    Si e per diversi motivi qui elencati: questo settaggio non permette il "cross-hacking", ossia se un utente fa girare nel proprio sito del software bacato ed un hacker riesce a bucare il sito potrà limitarsi a fare danni solamente in quel sito visto che ogni sito web ha un PHP con i permessi personalizzati; settare una qualsiasi cartella o file a CHMOD 777 significa consegnare le chiavi dell'intero server in mano agli hacker e questo non possiamo permetterlo.Posso settare un file a 444 o a "sola lettura" senza incorrere in blocchi?

    Certamente! Le configurazioni più restrittive rendono ancora più sicuri i file e le cartelle presenti nello spazio web.


    Altro link, questo sul forum joomla : http://forum.joomla.it/index.php?topic=80849.msg354363



    I permessi sui sistemi UNIX vanno sempre (SEMPRE) settati con i minori privilegi possibili, solo i dilettanti utilizzano permessi aperti, poi nessuno vieta di farlo, il rischio è comunque tuo.



    EDIT: se io ti creo una firma in php con la funzione exec() e dentro come parametro gli passo un rm -fr / (e exec() , funzione che ESEGUE I COMANDI se hai l'eseguibilità abilitata...) cosa dici che possa succedere? Se poi apache gira con uno user specifico (immagino sia così), al limite si può sempre usare un rm -fr /web/html/ ...
    Falko, 9 Aprile 2010
    #26
  7. Falko techBoss

    Davide said:
    Falko vuoi provare a mandare techforum down? SSH è sulla porta 22... e l'intera directory web (/web/html/) ha permessi 777 -R, quindi se vuoi hai carta bianca =)

    Son curioso se hai tempo! Il requisito per craccare il giocattolo è un utente con accesso SSH vero? (so che di default linux ha molti utenti, tipo uno per ogni processo ma solo alcuni sono abilitati ad accedere da SSH.)



    Ciao =)


    Davide:

    Dici che usare quel tipo di permessi non è pericoloso?



    questo è l'inizio del tuo file conf_global.php di techforum:



    <?php

    $INFO['sql_driver'] = 'mysql';

    $INFO['sql_host'] = 'localhost';

    $INFO['sql_database'] = 'techforum';

    $INFO['sql_user'] = '******';

    $INFO['sql_pass'] = '*p*********4';
    (...devo continuare?)



    Se vuoi la pass te la scrivo in chiaro...



    !!! CAMBIA I PERMESSI !!!



    Ps: ci ho messo circa 2 minuti ad accedere al file...



    EDIT:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <!--

    Curiosone! Sicuro di non avere di meglio da fare?
    hahahahah bella questa :°)
    Falko, 11 Aprile 2010
    #27
  8. Davide Amministratore

    Falko, non lo so, non ci credo. WAO non è abbastanza. Sto pensando a un modo per descrivere i miei sentimenti ma non ci riesco.

    Consiglio caldamente a chi ha aperto la discussione di usare i permessi adatti.. anche se è un server di testing...



    Davvero ancora non ci credo.
    Davide, 12 Aprile 2010
    #28
  9. Davide Amministratore

    E comunque.. complimenti per le tue doti =)
    Davide, 12 Aprile 2010
    #29
  10. DrugsMatt techUser

    Davide said:
    Consiglio caldamente a chi ha aperto la discussione di usare i permessi adatti.. anche se è un server di testing...


    Mi sa che è meglio farlo! Discussione interessante comunque, almeno per me [IMG]
    DrugsMatt, 13 Aprile 2010
    #30
  11. Falko techBoss

    DrugsMatt said:
    Mi sa che è meglio farlo! Discussione interessante comunque, almeno per me [IMG]


    Io spero lo sia anche per altri sysadmin/webmaster, dato che sono degli errori purtroppo molto comuni...



    Tornando al discorso iniziale, il problema dei permessi della scrittura in quella cartella si supera dando il comando "sudo chmod -r 666 /var/www" (se il server si trova in quella cartella specifica), in questo sistema qualunque utente sarà in grado di scrivere al suo interno i files occorrenti (nota che l'opzione "-r" cambia i permessi anche a tutti gli eventuali files già presenti all'interno della cartella stessa), nel tuo caso ti permette di caricare dentro i files del CMS [IMG] .



    Quando hai finito la procedura ci sono differenti vie per "chiudere" il server da eventuali bachi e rendere il CMS in sola lettura, il più veloce è quello di dare un "chmod -r 444 /var/www" (setta in sola lettura e NON eseguibili i files del CMS e del server stesso a tutti gli utenti compreso il proprietario).

    Altre tecniche possono essere quelle di usare una partizione specifica per i suddetti files montata in "ro" (readonly) con le opzioni aggiuntive "noexec" e "nodev" (ovviamente dopo averci inserito i files necessari...).



    Una cosa molto importante: se "ubuntu server" accetta il comando "sudo" chiedendo la password utente e non quella di root, io editerei AL VOLO il file /etc/sudoers e lo setterei in maniera tale che nessun utente possa diventare root con la propria password, ma con quella di root stesso (ovvero il comportamento che ha un qualunque sistema UNIX & UNIX-Like), perché diversamente (ovvero come fa ubuntu Desktop) significa che per ogni utente che vai a creare hai un potenziale utente che tramite 4 comandi ti può sfondare il server, a buon intenditore...



    Suppongo che nel tuo caso (cioè quello di voler creare un piccolo server locale) questi semplici accorgimenti siano sufficienti (anche nel caso di un servizio aperto sul web, sebbene siano ancora molto vulnerabili).



    Ciao [IMG]
    Falko, 14 Aprile 2010
    #31
  12. DrugsMatt techUser

    Scusa il ritardo ma ho perso la discussione tempo fa...

    Per i permessi alla fine avevo risolto spostando il mio utente nel gruppo di root, non ho cambiato nessun settaggio di sicurezza sulla var/www, ora ho pieno controllo, dovrebbe andar bene.



    Una cosa molto importante: se "ubuntu server" accetta il comando "sudo" chiedendo la password utente e non quella di root, io editerei AL VOLO il file /etc/sudoers e lo setterei in maniera tale che nessun utente possa diventare root con la propria password, ma con quella di root stesso (ovvero il comportamento che ha un qualunque sistema UNIX & UNIX-Like), perché diversamente (ovvero come fa ubuntu Desktop) significa che per ogni utente che vai a creare hai un potenziale utente che tramite 4 comandi ti può sfondare il server, a buon intenditore...


    non ho capito questa parte
    DrugsMatt, 11 Maggio 2010
    #32
  13. grizzo94 techMod

    Nel file etc/sudoers vi è contenuta la lista degli utenti che possono acquistare temporaneamente i privilegi di root con la loro password senza conoscere la password di root.

    Quindi se nel mio computer ho due utenti:Luca e Alice, se io rimuovo alice dal file /etc/sudoers quando vorrà diventare super utente dovrà inserire la password di root mentre luca potrà utilizzare comodamente la sua.

    Quindi se il tuo server è utilizzato da altre persone sarebbe buona cosa toglierli dalla lista dei suoders.

    Ciao!
    grizzo94, 11 Maggio 2010
    #33
  14. Falko techBoss

    grizzo94 said:
    Nel file etc/sudoers vi è contenuta la lista degli utenti che possono acquistare temporaneamente i privilegi di root con la loro password senza conoscere la password di root.

    Quindi se nel mio computer ho due utenti:Luca e Alice, se io rimuovo alice dal file /etc/sudoers quando vorrà diventare super utente dovrà inserire la password di root mentre luca potrà utilizzare comodamente la sua.

    Quindi se il tuo server è utilizzato da altre persone sarebbe buona cosa toglierli dalla lista dei suoders.

    Ciao!
    Considerazioni giuste, oltretutto dato che si parla di server l'utente root bisognerebbe averlo attivo il meno possibile...



    DrugsMatt said:
    Scusa il ritardo ma ho perso la discussione tempo fa...

    Per i permessi alla fine avevo risolto spostando il mio utente nel gruppo di root, non ho cambiato nessun settaggio di sicurezza sulla var/www, ora ho pieno controllo, dovrebbe andar bene.
    Oddio, per forza ti va tutto con quel parametro, in pratica il tuo utente è root, dato che lo hai messo in quel gruppo eredita i permessi, di conseguenza può fare tutto!



    Ti do una mano sui permessi, altrimenti qui tra un po' crei uno scolapasta più che un server (lo so, è acida la battuta, però il rischio c'è [IMG] )...



    1. innanzitutto annota il nome dell'utente principale che utilizzi, segnati il gruppo primario di appartenenza (dovrebbe avere lo stesso nome dell'utente stesso) e CAVALO SUBITO dal gruppo root;
    2. portati nella directory del server con il comando cd /var/www (se il percorso cambia, modificalo);
    3. qui dentro avrai una cartella di nome htdocs in cui avrai i files del tuo server, qui ora farai le modifiche e ne prenderai i permessi;
    4. "sudo su -" (questo comando ti da l'accesso COMPLETO al sistema come root, senza virgolette ovviamente);
    5. una volta diventato root devi dare in sequenza questi comandi:
      1. find /var/www/htdocs/ -type f -exec chmod 644 {} \;
      2. find /var/www/htdocs/ -type d -exec chmod 777 {} \;
      3. chown -R [TUO_UTENTE].[TUO_GRUPPO] /var/www/htdocs/ # sostituisci i 2 valori con quelli annotati prima, se ad esempio l'utente si chiama pippo e fa parte del gruppo pluto li dentro diventa pippo.pluto
    6. exit

    In pratica:

    • nel passo 5.1 sostituisci i permessi dei files rendendoli leggibili per tutti, ma scrivibili solo dal proprietario;
    • nel passo 5.2 setti le directory leggibili, accessibili e scrivibili per tutti (questa impostazione può anche essere impostata con 755, dipende dai casi);
    • nel passo 5.3 acquisisci la proprietà di tutti i files e cartelle contenute nella directory del server, passo necessario per poterla gestire dall'utente

    Non è una soluzione elegantissima (ed espone ancora parecchio), però funziona [IMG]



    Fammi sapere [IMG]
    Falko, 11 Maggio 2010
    #34
  15. DrugsMatt techUser

    Ok grazie mille, sta sera faccio tutto e ti faccio sapere!

    Cercherò di passare da uno scolapasta a una botte di ferro [IMG]

    Sono alle prime armi con linux è vero, ma intendo proseguire e imparare al meglio tutto ciò che mi serve, quindi perdonatemi le castronate e gli errori, a dopo [IMG]
    DrugsMatt, 12 Maggio 2010
    #35
  16. Falko techBoss

    DrugsMatt said:
    Ok grazie mille, sta sera faccio tutto e ti faccio sapere!

    Cercherò di passare da uno scolapasta a una botte di ferro [IMG]

    Sono alle prime armi con linux è vero, ma intendo proseguire e imparare al meglio tutto ciò che mi serve, quindi perdonatemi le castronate e gli errori, a dopo [IMG]
    Avresti riso parecchio se vedevi le bestialità che facevo all'inizio quando ho cominciato con Linux (si parla di anni fa, quando oltretutto era anche parecchio più complicato), comunque è uno scotto che tutti pagano quando si comincia [IMG]
    Falko, 12 Maggio 2010
    #36
  17. DrugsMatt techUser

    Ok ho fatto le modifiche.

    Unica cosa... il sudoers mi riporta quel che segue
    Code:
    Defaults	env_reset
    
    
    
    # Host alias specification
    
    
    
    # User alias specification
    
    
    
    # Cmnd alias specification
    
    
    
    # User privilege specification
    
    root	ALL=(ALL) ALL
    
    
    
    # Uncomment to allow members of group sudo to not need a password
    
    # (Note that later entries override this, so you might need to move
    
    # it further down)
    
    # %sudo ALL=NOPASSWD: ALL
    
    
    
    # Members of the admin group may gain root privileges
    
    %admin ALL=(ALL) ALL


    E il server ce l'ho direttamente sotto /var/www non ho nessuna htdocs quindi ho settato i permessi che mi hai detto direttamente alla www



    Dando un ls -l /var/www posto un risultato di un file e una cartella



    -rw-r--r-- 1 mattia webmasters 1172 2010-04-27 18:30 COPYRIGHT.php

    drwxrwxrwx 6 mattia webmasters 4096 2010-04-28 08:25 images



    Dovrebbe essere lettura scrittura per tutti su images e altre cartelle, e nei files lettura e scrittura solo per me che sono il proprietario giusto?



    ps: webmasters è un gruppo che mi ero creato pacioccando giorni fa, quindi ci sono solo io dentro... Come si fa a vedere l'appartenenza di un utente a un gruppo e di un gruppo a un proprietario? in generale dico...
    DrugsMatt, 12 Maggio 2010
    #37
Pagina 2 di 2
< Indietro 1 2
Password dimenticata?
SU TERMINI DI SERVIZIO CONTATTACI