Prezentare USO - Web Application Integrationmihneasim
prezentare despre integrarea puterii de procesare a aplicatiilor standalone server/client-side in web, in spiritul cursului de Utilizarea Sistemelor de Operare.
"Open Source and The Technology Learning Curve" by Andrei Pascal @ eLiberatic...eLiberatica
This is a presentation held at eLiberatica 2007.
http://www.eliberatica.ro/2007/
One of the biggest events of its kind in Eastern Europe, eLiberatica brings community leaders from around the world to discuss about the hottest topics in FLOSS movement, demonstrating the advantages of adopting, using and developing Open Source and Free Software solutions.
The eLiberatica organizational committee together with our speakers and guests, have graciously allowed media representatives and all attendees to photograph, videotape and otherwise record their sessions, on the condition that the photos, videos and recordings are licensed under the Creative Commons Share-Alike 3.0 License.
Linux Containers (LXC) @Open Source Camp Moldova 2018
LXC (Linux Containers) is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel. https://en.wikipedia.org/wiki/LXC
Prezentare USO - Web Application Integrationmihneasim
prezentare despre integrarea puterii de procesare a aplicatiilor standalone server/client-side in web, in spiritul cursului de Utilizarea Sistemelor de Operare.
"Open Source and The Technology Learning Curve" by Andrei Pascal @ eLiberatic...eLiberatica
This is a presentation held at eLiberatica 2007.
http://www.eliberatica.ro/2007/
One of the biggest events of its kind in Eastern Europe, eLiberatica brings community leaders from around the world to discuss about the hottest topics in FLOSS movement, demonstrating the advantages of adopting, using and developing Open Source and Free Software solutions.
The eLiberatica organizational committee together with our speakers and guests, have graciously allowed media representatives and all attendees to photograph, videotape and otherwise record their sessions, on the condition that the photos, videos and recordings are licensed under the Creative Commons Share-Alike 3.0 License.
Linux Containers (LXC) @Open Source Camp Moldova 2018
LXC (Linux Containers) is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel. https://en.wikipedia.org/wiki/LXC
2. Despre mineDespre mine
Nume: Vladimir Melnic
Virsta: 28 ani
Drupal: https://drupal.org/user/1580452, ~2.7 ani
Email: vladimir@wrappy.ws
Interese: PHP, Bash, BD, IT etc.
5. OWASP
Open Web Application Security Project
●
A1-Injection
●
A2-Broken Authentication and Session Management
●
A3-Cross-Site Scripting (XSS)
●
A4-Insecure Direct Object References
●
A5-Security Misconfiguration
●
A6-Sensitive Data Exposure
●
A7-Missing Function Level Access Control
●
A8-Cross-Site Request Forgery (CSRF)
●
A9-Using Components with Known Vulnerabilities
●
A10-Unvalidated Redirects and Forwards
https://www.owasp.org
6. Top 10 2013 cele mai
periculoase vulnerabilitati WEB
7. A1-Injection (SQL)
Injectarea unei comenzi sau interogari.
db_query('SELECT lid, source FROM {locales_source} WHERE
lid = ' . $_GET['id'])...
$_GET['id'] = 'DROP TABLE {user}';
db_query('SELECT lid, source FROM {locales_source} WHERE
lid = :lid', array(':lid' => $_GET['id']))...
8. A2-Broken Authentication
and Session Management
Drupal implicit este securizat!
●
Conturile utilizatorilori sunt gestionate de Drupal core.
●
Cookie de autorizare nu pot fi schimbate pe partea client.
●
Cookie de autorizare nu contin login sau parola, doar id-ul
sesiunii.
●
Sesiunile si cookie se distrug si se creeaza automat la login,
logout.
●
Cookie au nume unic pentru fiecare site si sunt accesibile in
cadrul domenului.
●
Parolele nu se stocheaza/transmit pe email in format text.
9. A3-Cross-Site Scripting (XSS)
Nu permieti stocarea codului 'periculos'
●
Validati datele introduse
●
Protejati datele de SQL Injection
●
Definiti tipurile de date
●
Filtrati inserarea datele dupa tip
10. A4-Insecure Direct Object References
A7-Missing Function Level Access Control
Drupal are un sistem de verificare a accesului la pagini si chiar
la elementele paginii.
● 'access_callback' in hook_menu()
● user_access('administer nodes', $account);
● node_access('edit', $node, $account);
● $select>add_tag('node_access');
● $form['field_name']['#access'] = TRUE;
11. A5-Security Misconfiguration
●
Setati parole 'complicate' pentru administrator.
●
Verificati permisiunile 'administer …'.
●
Setati corect filtrele/formatele de introducere a textului.
●
Nu utilizati formatul PHP.
●
Verificat tipul si marimea fisierelor care pot fi incarcate de
utilizatori.
●
Nu folositi FTP pentru incarcarea modulelor.
●
Deconectati afisarea erorilor.
●
Deconectati devel si modulele care nu se folosesc.
●
Utilizati Captcha.
12. A6-Sensitive Data Exposure
●
Verificati drepturile de inscriere citire a fisierelor.
●
Restrictionati accesul pentru phpMyAdmin.
●
Restrictionati accesul backup-urile bazelor de date.
●
Nu utilizati FTP, utilizati SFTP sau SSH
●
Nu folositi drepturi root pentru MySQL
●
Verificati ca Apache, MySQL si PHP sa fie actualizate la ultima
versiune.
13. A8-Cross-Site Request Forgery (CSRF)
●
De folosit Form API.
●
Pentru link-uri si AJAX fara Form API de folosit token:
'query' => array('token' =>
drupal_get_token('email_verify_' . $uid));
...
if (empty($_GET['token']) ||
!drupal_valid_token ($_GET['token'], 'email_verify_' .
$user_id))
14. A9-Using Components with Known
Vulnerabilities
Verificati codul:
●
Hacked!
●
Coder
●
Secure Code Review
●
Security Review
Defecte de injectare, cum ar fi SQL, sistem de operare, precum și injectarea LDAP apar atunci când sunt trimis date compromitaroare la un interpretor ca parte a unei comenzi sau interogare. Datele ostile ale atacatorului pot pacali interpretorul în executare comenzi nedorite sau accesarea de date fără autorizație.
Functii legate de autentificare și de gestionare a sesiunii sunt adesea puse în aplicare în mod incorect, astfe permit atacatorilor să compromită parole, chei, sau token-uri de sesiune, sau de a exploata alte defecte care pot asuma identitatea altor utilizatori.
Defecte XSS apar ori de câte ori o aplicație care contine date compromitatoare le transmite la un browser web, fără validare lor corespunzătoare.
XSS permite atacatorilor să execute script-uri în browser-ul victimei, care pot sa deturneze sesiuni de utilizator, șterge site-uri web, sau de a reorienta utilizatorul la site-urile malitioase.
A4 - Un obiect de referință directă se produce atunci când un dezvoltator expune o referință la un obiect de implementare intern, cum ar fi un fișier, director, sau cheie de baze de date. Fără o verificare de control al accesului sau alta protecție, atacatorii pot manipula aceste referințe pentru a accesa date neautorizate.
A7 – Verificarea dreuprurilor de access lanivel de functie. În cazul în care cererile de access sau permisiunile nu sunt verificate, atacatorii vor fi capabili sa acceseze funcționalitatea fără autorizație.
Prevede configurațiile securizate definite și implementate pentru: server de aplicatii, server web, server de baze de date, și platformă.
Setările sigure ar trebui să fie definite, implementate și menținute, adesea setarile implicite sunt nesigure. În plus, software-ul ar trebui să fie actualizat.
Presupune protejearea în mod corespunzător a datelor sensibile, cum ar fi cardurile de credit, ID-uri de taxe, și chile de autentificare. Atacatorii pot fura sau modifica aceste date slab protejate pentru a efectua fraude de credit card, furt de identitate, sau alte infracțiuni. Datele sensibile merită o protecție suplimentară, cum ar fi criptarea la repaus sau în tranzit, precum și precauții speciale atunci când schimbate cu browser-ul.
Un atac CSRF forțează browserul victimei logate de a trimite o cerere HTTP falsificata, inclusiv cookie de sesiune ale victimei și orice alte informațiile de autentificare incluse în mod automat, pentru o aplicație web vulnerabilă. Aceste lucruri permite atacatorului să forțeze browser-ul victimei de a genera cereri de aplicare vulnerabile care sunt tratate ca cereri legitime din partea victimei.
Componente, cum ar fi librariile și module software, ruleaza aproape întotdeauna cu drepturi depline. Dacă o componentă vulnerabila este exploatata, un astfel de atac poate facilita pierderi de date grave sau preluare de server. Aplicațiile care folosesc componente cu vulnerabilitățile cunoscute ar putea submina apararea aplicatie și permit o serie de posibile atacuri asupra ei.
Presupun validatea redirectionarilor de la o pagina la alta sau la surse externe.
Fără validare corespunzătoare, atacatorii pot redirecționa victima la site-uri malware, phishing sau de a folosi pentru a accesa pagini neautorizate.