Σχετικά έγγραφα
Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων

Διαχείριση χρηστών και δικαιωμάτων


Ηλεκτρονικοί Υπολογιστές II

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

databases linux - terminal (linux / windows terminal)

Κεφάλαιο 8. Βασισμένος σε ρόλους έλεγχος πρόσβασης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

10 η Διάλεξη Python Βάσεις δεδομένων στη python

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Σχεδιασμός Βάσεων Δεδομένων

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Βάσεις Δεδομένων

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Λογαριασμοί & Δικαιώματα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL


Βάσεις Περιβαλλοντικών Δεδομένων

1 / 97

Εισαγωγή στην πληροφορική

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

1 / 87

Κεφάλαιο 7. Έλεγχος Πρόσβασης σε Συστήματα Διαχείρισης Βάσεων Δεδομένων


Η SQL ως γλώσσα τροποποίησης Δεδομένων

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων (Databases)

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

Διαχείριση Πολιτισμικών Δεδομένων

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

Εργαστήριο Βάσεων Δεδομένων. Triggers

HOWTO instal Joomla by A. Andreatos

Ηλεκτρονικοί Υπολογιστές II

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Εργαστήριο Βάσεων Δεδομένων

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

Εισαγωγή στην PostgreSQL Spatial 8.1

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ηλεκτρονικοί Υπολογιστές II

ΕΡΓΑΣΙΑ : ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΧΡΗΣΗ ΤΗΣ MYSQL ΣΤΟ LINUX. Ακριτίδης Ιωάννης Α.Μ 167/02 Πανεπιστήμιο Μακεδονίας

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ


Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

ΤΕΣΤ ΠΙΣΤΟΠΟΙΗΣΗΣ ΓΝΩΣΕΩΝ ΚΑΙ ΔΕΞΙΟΤΗΤΩΝ

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Ανοικτά Ακαδημαϊκά Μαθήματα

Κεφ 4: Προχωρημένες Εντολές SQL

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1


(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

1 / 150

Προγραμματισμός Διαδικτύου

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Τεχνολογία Πολιτισμικού Λογισμικού

Διαδικασίες Καταχώρησης Ονομάτων Χώρου. Μαρκάκης Γρηγόρης Ινστιτούτο Πληροφορικής Ίδρυμα Τεχνολογίας και Έρευνας

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τμήμα Πληροφορικής ΑΠΘ

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

Το σχεσιακό μοντέλο βάσεων δεδομένων

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

Βάσεις Δεδομένων (Databases)

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9;

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

1 / 105

Κεφάλαιο 4. Προχωρημένες λειτουργίες στον SQL Server

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Βάσεις Δεδομένων

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

Αρχεία και Βάσεις Δεδομένων

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Transcript:

Ασφάλεια δεδομένων και SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014

Περιεχόμενα 1 Χρήστες και συνθηματικό πρόσβασης 2 Εκχώρηση και αναίρεση δικαιωμάτων 3 Κρυπτογράφηση 2 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 3 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 4 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 5 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 3 Χρήστες με εκτεταμένα προνόμια. 6 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 3 Χρήστες με εκτεταμένα προνόμια. 4 Διαχειριστές ή υπερ-χρήστες. 7 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 3 Χρήστες με εκτεταμένα προνόμια. 4 Διαχειριστές ή υπερ-χρήστες. Προσοχή 8 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 3 Χρήστες με εκτεταμένα προνόμια. 4 Διαχειριστές ή υπερ-χρήστες. Προσοχή 1 Πρόσβαση μόνο μετά από εξουσιοδότηση σε συγκεκριμένα αντικείμενα της βάσης δεδομένων. 9 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 3 Χρήστες με εκτεταμένα προνόμια. 4 Διαχειριστές ή υπερ-χρήστες. Προσοχή 1 Πρόσβαση μόνο μετά από εξουσιοδότηση σε συγκεκριμένα αντικείμενα της βάσης δεδομένων. 2 Περιορισμοί στις εντολές SELECT, INSERT, DELETE, UPDATE, CREATE, DROP κα. 10 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 3 Χρήστες με εκτεταμένα προνόμια. 4 Διαχειριστές ή υπερ-χρήστες. Προσοχή 1 Πρόσβαση μόνο μετά από εξουσιοδότηση σε συγκεκριμένα αντικείμενα της βάσης δεδομένων. 2 Περιορισμοί στις εντολές SELECT, INSERT, DELETE, UPDATE, CREATE, DROP κα. 3 Περιορισμοί στο σημείο και στο χρόνο πρόσβασης. 11 / 82

Χρήστες και επίπεδα πρόσβασης Δεν είναι όλοι το ίδιο... 1 Απλοί χρήστες εφαρμογών. 2 Προγραμματιστές εφαρμογών. 3 Χρήστες με εκτεταμένα προνόμια. 4 Διαχειριστές ή υπερ-χρήστες. Προσοχή 1 Πρόσβαση μόνο μετά από εξουσιοδότηση σε συγκεκριμένα αντικείμενα της βάσης δεδομένων. 2 Περιορισμοί στις εντολές SELECT, INSERT, DELETE, UPDATE, CREATE, DROP κα. 3 Περιορισμοί στο σημείο και στο χρόνο πρόσβασης. 4 Ποτέ και για κανένα λόγο δεν αναπτύσσουμε μια βάση δεδομένων χωρίς έλεγχο πρόσβασης των χρηστών της. 12 / 82

Εκχώρηση δικαιωμάτων πρόσβασης Επιλεγμένη πρόσβαση στον χρήστη nikosp 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; 13 / 82

Εκχώρηση δικαιωμάτων πρόσβασης Επιλεγμένη πρόσβαση στον χρήστη nikosp 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; Δηλαδή: 14 / 82

Εκχώρηση δικαιωμάτων πρόσβασης Επιλεγμένη πρόσβαση στον χρήστη nikosp 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; Δηλαδή: 1 Αν ο χρήστης nikosp δεν υπάρχει, τότε δημιουργείται. 15 / 82

Εκχώρηση δικαιωμάτων πρόσβασης Επιλεγμένη πρόσβαση στον χρήστη nikosp 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; Δηλαδή: 1 Αν ο χρήστης nikosp δεν υπάρχει, τότε δημιουργείται. 2 Ο χρήστης nikosp αποχτά πρόσβαση στον πίνακα workson της βάσης company. 16 / 82

Εκχώρηση δικαιωμάτων πρόσβασης Επιλεγμένη πρόσβαση στον χρήστη nikosp 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; Δηλαδή: 1 Αν ο χρήστης nikosp δεν υπάρχει, τότε δημιουργείται. 2 Ο χρήστης nikosp αποχτά πρόσβαση στον πίνακα workson της βάσης company. 3 Η πρόσβαση του δίνει δικαίωμα εκτέλεσης ερωτημάτων SELECT και INSERT στον πίνακα workson της βάσης company. 17 / 82

Εκχώρηση δικαιωμάτων πρόσβασης Επιλεγμένη πρόσβαση στον χρήστη nikosp 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; Δηλαδή: 1 Αν ο χρήστης nikosp δεν υπάρχει, τότε δημιουργείται. 2 Ο χρήστης nikosp αποχτά πρόσβαση στον πίνακα workson της βάσης company. 3 Η πρόσβαση του δίνει δικαίωμα εκτέλεσης ερωτημάτων SELECT και INSERT στον πίνακα workson της βάσης company. 4 Δεν του εκχωρείται κανένα άλλο δικαίωμα. 18 / 82

Συνθηματικά και ασφάλεια πρόσβασης 19 / 82

Συνθηματικά και ασφάλεια πρόσβασης Απαίτηση συνθηματικού για πρόσβαση 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; 20 / 82

Συνθηματικά και ασφάλεια πρόσβασης Απαίτηση συνθηματικού για πρόσβαση 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Ο χρήστης χρειάζεται τώρα ένα συνθηματικό για να έχει πρόσβαση. 21 / 82

Συνθηματικά και ασφάλεια πρόσβασης Απαίτηση συνθηματικού για πρόσβαση 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Ο χρήστης χρειάζεται τώρα ένα συνθηματικό για να έχει πρόσβαση. Γενικά, όλοι οι χρήστες θα πρέπει να εφοδιάζονται με συνθηματικό. 22 / 82

Συνθηματικά και ασφάλεια πρόσβασης Απαίτηση συνθηματικού για πρόσβαση 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Ο χρήστης χρειάζεται τώρα ένα συνθηματικό για να έχει πρόσβαση. Γενικά, όλοι οι χρήστες θα πρέπει να εφοδιάζονται με συνθηματικό. Είναι πάγια ταχτική η περιοδική αλλαγή συνθηματικών. 23 / 82

Συνθηματικά και ασφάλεια πρόσβασης Απαίτηση συνθηματικού για πρόσβαση 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Ο χρήστης χρειάζεται τώρα ένα συνθηματικό για να έχει πρόσβαση. Γενικά, όλοι οι χρήστες θα πρέπει να εφοδιάζονται με συνθηματικό. Είναι πάγια ταχτική η περιοδική αλλαγή συνθηματικών. Τα συνθηματικά απομνημονεύονται, δεν γράφονται σε SMS, MEMOs, κ.τλ. 24 / 82

Συνθηματικά και ασφάλεια πρόσβασης Απαίτηση συνθηματικού για πρόσβαση 1 GRANT SELECT, INSERT 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Ο χρήστης χρειάζεται τώρα ένα συνθηματικό για να έχει πρόσβαση. Γενικά, όλοι οι χρήστες θα πρέπει να εφοδιάζονται με συνθηματικό. Είναι πάγια ταχτική η περιοδική αλλαγή συνθηματικών. Τα συνθηματικά απομνημονεύονται, δεν γράφονται σε SMS, MEMOs, κ.τλ. Τα συνθηματικά δεν μεταβιβάζονται, είναι προσωπικά. 25 / 82

Τι μπορεί να κάνει ο nikosp 26 / 82

Τι μπορεί να κάνει ο nikosp Να εκτελέσει ερωτήματα SELECT... FROM workson 1 SELECT * 2 FROM workson; 27 / 82

Τι μπορεί να κάνει ο nikosp Να εκτελέσει ερωτήματα SELECT... FROM workson 1 SELECT * 2 FROM workson; Να εκτελέσει ερωτήματα INSERT INTO workson 1 INSERT INTO workson (empid, proid) 2 VALUES (189, 5); 28 / 82

Τι δεν μπορεί να κάνει ο nikosp 29 / 82

Τι δεν μπορεί να κάνει ο nikosp Να εκτελέσει ερωτήματα SELECT... FROM employees 1 SELECT * 2 FROM employees; 30 / 82

Τι δεν μπορεί να κάνει ο nikosp Να εκτελέσει ερωτήματα SELECT... FROM employees 1 SELECT * 2 FROM employees; Να εκτελέσει ερωτήματα UPDATE workson 1 UPDATE workson 2 SET empid = 189 AND proid = 21 3 WHERE empid = 189 AND proid = 5; 31 / 82

Εκχώρηση όλων των δικαιωμάτων 32 / 82

Εκχώρηση όλων των δικαιωμάτων Ολα τα δικαιώματα για τον πίνακα workson 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; 33 / 82

Εκχώρηση όλων των δικαιωμάτων Ολα τα δικαιώματα για τον πίνακα workson 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; Μπορεί να κάνει αυτό: 1 DELETE FROM workson; 34 / 82

Εκχώρηση όλων των δικαιωμάτων Ολα τα δικαιώματα για τον πίνακα workson 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost; 4 FLUSH PRIVILEGES; Μπορεί να κάνει αυτό: 1 DELETE FROM workson; Αλλά δεν μπορεί να κάνει αυτό: 1 DROP TABLE workson; 35 / 82

Τι άλλο δεν μπορεί να κάνει ο nikosp ALL PRIVILEGES, αλλά: 36 / 82

Τι άλλο δεν μπορεί να κάνει ο nikosp ALL PRIVILEGES, αλλά: Δεν έχει πρόσβαση σε άλλους πίνακες της βάσης δεδομένων. 37 / 82

Τι άλλο δεν μπορεί να κάνει ο nikosp ALL PRIVILEGES, αλλά: Δεν έχει πρόσβαση σε άλλους πίνακες της βάσης δεδομένων. Δεν έχει πρόσβαση σε άλλες βάσεις δεδομένων του ίδιου συστήματος. 38 / 82

Τι άλλο δεν μπορεί να κάνει ο nikosp ALL PRIVILEGES, αλλά: Δεν έχει πρόσβαση σε άλλους πίνακες της βάσης δεδομένων. Δεν έχει πρόσβαση σε άλλες βάσεις δεδομένων του ίδιου συστήματος. Δεν μπορεί να εκχωρήσει δικαιώματα σε άλλους χρήστες. 39 / 82

Τι άλλο δεν μπορεί να κάνει ο nikosp ALL PRIVILEGES, αλλά: Δεν έχει πρόσβαση σε άλλους πίνακες της βάσης δεδομένων. Δεν έχει πρόσβαση σε άλλες βάσεις δεδομένων του ίδιου συστήματος. Δεν μπορεί να εκχωρήσει δικαιώματα σε άλλους χρήστες. Θα αποτύχει, αν εκτελεστεί από το χρήστη nikosp 1 GRANT SELECT 2 ON company.workson 3 TO areti@localhost; 40 / 82

Δημιουργία χρηστών χωρίς δικαιώματα 41 / 82

Δημιουργία χρηστών χωρίς δικαιώματα Δημιουργία ονόματος χρήστη 1 CREATE USER nikosp@localhost 2 IDENTIFIED BY secretpass ; 42 / 82

Δημιουργία χρηστών χωρίς δικαιώματα Δημιουργία ονόματος χρήστη 1 CREATE USER nikosp@localhost 2 IDENTIFIED BY secretpass ; Απόκρυψη συνθηματικού 1 CREATE USER nikosp@localhost 2 IDENTIFIED BY PASSWORD 3 *9177CC8207174BDBB5ED66B2140C75171283F15D ; 43 / 82

Δημιουργία χρηστών χωρίς δικαιώματα Δημιουργία ονόματος χρήστη 1 CREATE USER nikosp@localhost 2 IDENTIFIED BY secretpass ; Απόκρυψη συνθηματικού 1 CREATE USER nikosp@localhost 2 IDENTIFIED BY PASSWORD 3 *9177CC8207174BDBB5ED66B2140C75171283F15D ; Δικαιώματα; Ο χρήστης δεν έχει ακόμη κανένα δικαίωμα. 44 / 82

Περιεχόμενα 1 Χρήστες και συνθηματικό πρόσβασης 2 Εκχώρηση και αναίρεση δικαιωμάτων 3 Κρυπτογράφηση 45 / 82

Δικαίωμα εκχώρησης δικαιωμάτων Δημιουργία δύο χρηστών 1 CREATE USER nikosp@localhost IDENTIFIED BY secretpass ; 2 CREATE USER aretiv@localhost IDENTIFIED BY otherpass ; 46 / 82

Δικαίωμα εκχώρησης δικαιωμάτων Δημιουργία δύο χρηστών 1 CREATE USER nikosp@localhost IDENTIFIED BY secretpass ; 2 CREATE USER aretiv@localhost IDENTIFIED BY otherpass ; Δικαιώματα στον χρήστη niksop 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost 4 WITH GRANT OPTION; 5 FLUSH PRIVILEGES; 47 / 82

Δικαίωμα εκχώρησης δικαιωμάτων Δημιουργία δύο χρηστών 1 CREATE USER nikosp@localhost IDENTIFIED BY secretpass ; 2 CREATE USER aretiv@localhost IDENTIFIED BY otherpass ; Δικαιώματα στον χρήστη niksop 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost 4 WITH GRANT OPTION; 5 FLUSH PRIVILEGES; MySQL: προσοχή στις ρυθμίσεις του διακομιστή 1 GRANT INSERT ON mysql.user TO nikosp@localhost; 2 GRANT RELOAD ON *.* TO nikosp@localhost; 48 / 82

Δικαίωμα εκχώρησης δικαιωμάτων Μπορεί να εκχωρεί δικαιώματα σε άλλους χρήστες 1 GRANT SELECT 2 ON company.workson 3 TO aretiv@localhost; 4 FLUSH PRIVILEGES; 49 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 50 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 1 Δημιουργείται κατά την εγκατάσταση του συστήματος. 51 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 1 Δημιουργείται κατά την εγκατάσταση του συστήματος. 2 Εχει όλα τα δικαιώματα. 52 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 1 Δημιουργείται κατά την εγκατάσταση του συστήματος. 2 Εχει όλα τα δικαιώματα. 3 Δημιουργεί βάσεις δεδομένων: 1 CREATE DATABASE dbname; 53 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 1 Δημιουργείται κατά την εγκατάσταση του συστήματος. 2 Εχει όλα τα δικαιώματα. 3 Δημιουργεί βάσεις δεδομένων: 1 CREATE DATABASE dbname; 4 Μπορεί να δημιουργεί χρήστες 1 CREATE USER username; 54 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 1 Δημιουργείται κατά την εγκατάσταση του συστήματος. 2 Εχει όλα τα δικαιώματα. 3 Δημιουργεί βάσεις δεδομένων: 1 CREATE DATABASE dbname; 4 Μπορεί να δημιουργεί χρήστες 1 CREATE USER username; 5 Μπορεί να εκχωρεί δικαιώματα σε χρήστες. 55 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 1 Δημιουργείται κατά την εγκατάσταση του συστήματος. 2 Εχει όλα τα δικαιώματα. 3 Δημιουργεί βάσεις δεδομένων: 1 CREATE DATABASE dbname; 4 Μπορεί να δημιουργεί χρήστες 1 CREATE USER username; 5 Μπορεί να εκχωρεί δικαιώματα σε χρήστες. 6 Εχει δικαιώματα πρόσβασης σε όλους τους πίνακες όλων των βάσεων δεδομένων. 56 / 82

Διαχειριστής βάσης δεδομένων Υπερ-χρήστης ή root ή admin 1 Δημιουργείται κατά την εγκατάσταση του συστήματος. 2 Εχει όλα τα δικαιώματα. 3 Δημιουργεί βάσεις δεδομένων: 1 CREATE DATABASE dbname; 4 Μπορεί να δημιουργεί χρήστες 1 CREATE USER username; 5 Μπορεί να εκχωρεί δικαιώματα σε χρήστες. 6 Εχει δικαιώματα πρόσβασης σε όλους τους πίνακες όλων των βάσεων δεδομένων. 7 Μπορεί να αναστείλει τα υπάρχοντα δικαιώματα άλλων χρηστών. 57 / 82

Ελεγχος πρόσβασης μέσω διεύθυνσης δικτύου 58 / 82

Ελεγχος πρόσβασης μέσω διεύθυνσης δικτύου Μόνο από τοπικό Η/Υ 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; 59 / 82

Ελεγχος πρόσβασης μέσω διεύθυνσης δικτύου Μόνο από τοπικό Η/Υ 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Μόνο από συγκεκριμένο Η/Υ τοπικού δικτύου 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@10.10.19.101 IDENTIFIED BY secretpass ; 60 / 82

Ελεγχος πρόσβασης μέσω διεύθυνσης δικτύου Μόνο από τοπικό Η/Υ 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Μόνο από συγκεκριμένο Η/Υ τοπικού δικτύου 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@10.10.19.101 IDENTIFIED BY secretpass ; Μόνο από συγκεκριμένη περιοχή του διαδικτύου 1 GRANT ALL PRIVILEGES 2 ON company.workson 3 TO nikosp@*.uoi.gr IDENTIFIED BY secretpass ; 61 / 82

Γενικευμένη εκχώρηση δικαιωμάτων 62 / 82

Γενικευμένη εκχώρηση δικαιωμάτων Σε όλα τα αντικείμενα της βάσης company 1 GRANT ALL PRIVILEGES 2 ON company.* 3 TO nikosp@localhost IDENTIFIED BY secretpass ; 63 / 82

Γενικευμένη εκχώρηση δικαιωμάτων Σε όλα τα αντικείμενα της βάσης company 1 GRANT ALL PRIVILEGES 2 ON company.* 3 TO nikosp@localhost IDENTIFIED BY secretpass ; Σε όλα τα αντικείμενα όλων των βάσεων 1 GRANT ALL PRIVILEGES 2 ON *.* 3 TO nikosp@localhost IDENTIFIED BY secretpass ; 64 / 82

Και ένα μυστικό Σύνδεση με τη βάση company 1 GRANT SELECT 2 ON company.* 3 TO dbuser@localhost IDENTIFIED BY econ98 ; http://bitly.com/sqlcmp 65 / 82

Αναίρεση δικαιωμάτων πρόσβασης 66 / 82

Αναίρεση δικαιωμάτων πρόσβασης Διαδοχική αναίρεση δικαιώματος διαγραφής 1 REVOKE DELETE 2 ON company.* 3 FROM nikosp@localhost CASCADE; Θα ανακληθεί το δικαίωμα διαγραφής τόσο από τον χρήστη nikosp όσο και από όλους τους χρήστες στους οποίους εκχωρήθηκε τέτοιο δικαίωμα από τον nikosp 67 / 82

Αναίρεση δικαιωμάτων πρόσβασης Αποτροπή αναίρεσης δικαιώματος διαγραφής 1 REVOKE DELETE 2 ON company.* 3 FROM nikosp@localhost RESRICT; θα αποτύχει και δεν θα εκτελεστεί αν ο nikosp εκχώρησε κάπου αλλού το δικαίωμα διαγραφής. 68 / 82

Συνοπτικά για χρήστες και δικαιώματα 69 / 82

Συνοπτικά για χρήστες και δικαιώματα 1 Ο διαχειριστής μπορεί να δημιουργήσει νέους χρήστες. 70 / 82

Συνοπτικά για χρήστες και δικαιώματα 1 Ο διαχειριστής μπορεί να δημιουργήσει νέους χρήστες. 2 Η πρόσβαση μπορεί να ελεγχθεί με βάση το συνθηματικό αλλά και την τοποθεσία δικτύου. 71 / 82

Συνοπτικά για χρήστες και δικαιώματα 1 Ο διαχειριστής μπορεί να δημιουργήσει νέους χρήστες. 2 Η πρόσβαση μπορεί να ελεγχθεί με βάση το συνθηματικό αλλά και την τοποθεσία δικτύου. 3 Ο διαχειριστής μπορεί να εκχωρήσει συγκεκριμένα δικαιώματα χρήσης των αντικειμένων της βάσης δεδομένων. 72 / 82

Συνοπτικά για χρήστες και δικαιώματα 1 Ο διαχειριστής μπορεί να δημιουργήσει νέους χρήστες. 2 Η πρόσβαση μπορεί να ελεγχθεί με βάση το συνθηματικό αλλά και την τοποθεσία δικτύου. 3 Ο διαχειριστής μπορεί να εκχωρήσει συγκεκριμένα δικαιώματα χρήσης των αντικειμένων της βάσης δεδομένων. 4 Ο διαχειριστής μπορεί να εκχωρήσει στους χρήστες το δικαίωμα να εκχωρούν δικαιώματα. 73 / 82

Συνοπτικά για χρήστες και δικαιώματα 1 Ο διαχειριστής μπορεί να δημιουργήσει νέους χρήστες. 2 Η πρόσβαση μπορεί να ελεγχθεί με βάση το συνθηματικό αλλά και την τοποθεσία δικτύου. 3 Ο διαχειριστής μπορεί να εκχωρήσει συγκεκριμένα δικαιώματα χρήσης των αντικειμένων της βάσης δεδομένων. 4 Ο διαχειριστής μπορεί να εκχωρήσει στους χρήστες το δικαίωμα να εκχωρούν δικαιώματα. 5 Προσοχή στο πότε, σε ποιον, και σε τι εκχωρούμε δικαιώματα χρήσης. 74 / 82

Για την ασφάλεια Βάσεων Δεδομένων 75 / 82

Για την ασφάλεια Βάσεων Δεδομένων 1 Καμία εφαρμογή δεν πρέπει να χρησιμοποιεί για λόγους πρόσβασης στα δεδομένα το όνομα χρήστη και το συνθηματικό του διαχειριστή. 76 / 82

Για την ασφάλεια Βάσεων Δεδομένων 1 Καμία εφαρμογή δεν πρέπει να χρησιμοποιεί για λόγους πρόσβασης στα δεδομένα το όνομα χρήστη και το συνθηματικό του διαχειριστή. 2 Κάθε εφαρμογή πρέπει να εκτελείται μόνο από χρήστες που αποκτούν πρόσβαση μετά από πιστοποίηση και μόνο από καθορισμένες τοποθεσίες. 77 / 82

Για την ασφάλεια Βάσεων Δεδομένων 1 Καμία εφαρμογή δεν πρέπει να χρησιμοποιεί για λόγους πρόσβασης στα δεδομένα το όνομα χρήστη και το συνθηματικό του διαχειριστή. 2 Κάθε εφαρμογή πρέπει να εκτελείται μόνο από χρήστες που αποκτούν πρόσβαση μετά από πιστοποίηση και μόνο από καθορισμένες τοποθεσίες. 3 Κάθε χρήστης έχει τα ελάχιστα δυνατά προνόμια (δικαιώματα) και ΤΙΠΟΤΑ παραπάνω. 78 / 82

Για την ασφάλεια Βάσεων Δεδομένων 1 Καμία εφαρμογή δεν πρέπει να χρησιμοποιεί για λόγους πρόσβασης στα δεδομένα το όνομα χρήστη και το συνθηματικό του διαχειριστή. 2 Κάθε εφαρμογή πρέπει να εκτελείται μόνο από χρήστες που αποκτούν πρόσβαση μετά από πιστοποίηση και μόνο από καθορισμένες τοποθεσίες. 3 Κάθε χρήστης έχει τα ελάχιστα δυνατά προνόμια (δικαιώματα) και ΤΙΠΟΤΑ παραπάνω. 4 Είναι σοφή πολιτική η επιβολή σύνθετων συνθηματικών και η σε τακτά διαστήματα αντικατάσταση των συνθηματικών. 79 / 82

Για την ασφάλεια Βάσεων Δεδομένων 1 Καμία εφαρμογή δεν πρέπει να χρησιμοποιεί για λόγους πρόσβασης στα δεδομένα το όνομα χρήστη και το συνθηματικό του διαχειριστή. 2 Κάθε εφαρμογή πρέπει να εκτελείται μόνο από χρήστες που αποκτούν πρόσβαση μετά από πιστοποίηση και μόνο από καθορισμένες τοποθεσίες. 3 Κάθε χρήστης έχει τα ελάχιστα δυνατά προνόμια (δικαιώματα) και ΤΙΠΟΤΑ παραπάνω. 4 Είναι σοφή πολιτική η επιβολή σύνθετων συνθηματικών και η σε τακτά διαστήματα αντικατάσταση των συνθηματικών. 5 Αν είναι δυνατόν, εγκαταστήστε το Σύστημα Διαχείρισης Βάσεων Δεδομένων πίσω από μια αντιπυρική ζώνη (firewall). 80 / 82

Περιεχόμενα 1 Χρήστες και συνθηματικό πρόσβασης 2 Εκχώρηση και αναίρεση δικαιωμάτων 3 Κρυπτογράφηση 81 / 82

Σχόλια και ερωτήσεις Σας ευχαριστώ για την προσοχή σας Είμαι στη διάθεσή σας για σχόλια, απορίες και ερωτήσεις 82 / 82