1 IT420: Database Management and Organization Database Security 5 April 2006 Adina Crăiniceanu www.cs.usna.edu/~adina.

Slides:



Advertisements
Similar presentations
Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Advertisements

Understand Database Security Concepts
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 12 System and Object Privileges.
Database Management System
9-1 David M. Kroenke’s Chapter Nine: Managing Multiuser Databases Database Processing: Fundamentals, Design, and Implementation.
Database Administration Chapter Six DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Prentice Hall © COS 346 Day Agenda Questions? Assignment 8 Due Assignment 9 posted –Due April 2:05 PM Quiz 2 Today –SQL Chaps 2-19.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 9-1 COS 346 Day 19.
System Administration Accounts privileges, users and roles
Oracle8 - The Complete Reference. Koch a& Loney1 By What Authority? Presented by Victor Matos.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 8-1 COS 346 Day 17.
COS 346 DAY 17.
Concepts of Database Management Sixth Edition
Database Administration Part 2 Chapter Six CSCI260 Database Applications.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 9-1 COS 346 Day 19.
Dec 13 th CS555 presentation1 Yiwen Wang --“Securing the DB may be the single biggest action an organization can take to protect its assets” David C. Knox.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
1 IT420: Database Management and Organization Transactions 31 March 2006 Adina Crăiniceanu
Chapter 6: Integrity and Security Thomas Nikl 19 October, 2004 CS157B.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
PHP Programming with MySQL Slide 8-1 CHAPTER 8 Working with Databases and MySQL.
By Lecturer / Aisha Dawood 1.  Administering Users  Create and manage database user accounts.  Create and manage roles.  Grant and revoke privileges.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 9-1 Managing Multiuser Databases.
Chapter 4 The Relational Model 3: Advanced Topics Concepts of Database Management Seventh Edition.
Database Programming Sections 13–Creating, revoking objects privileges.
Week 6 Lecture 2 System and Object Privileges. Learning Objectives  Identify and manage system and object privileges  Grant and revoke privileges to.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
Chapter 7 Working with Databases and MySQL PHP Programming with MySQL 2 nd Edition.
MySQL and PHP 3 March 2006 Adina Crainiceanu IT420: Database Management and Organization.
CSE 3330 Database Concepts Stored Procedures. How to create a user CREATE USER.. GRANT PRIVILEGE.
Copyright © 2013 Curt Hill Database Security An Overview with some SQL.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Chapter Nine: Managing Multiuser Databases 9-1 KROENKE.
Roles & privileges privilege A user privilege is a right to execute a particular type of SQL statement, or a right to access another user's object. The.
1 IT420: Database Management and Organization SQL Views, Triggers and Stored Procedures 17 February 2006 Adina Crăiniceanu
Prentice Hall © COS 346 Day Agenda Questions? Assignment 8 not Corrected yet Assignment 9 posted –Due April 2:05 PM Quiz 2 Corrected.
Database Role Activity. DB Role and Privileges Worksheet.
Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 9/1 Copyright © 2004 Please……. No Food Or Drink in the class.
Fundamentals, Design, and Implementation, 9/e Chapter 9 Managing Multi-User Databases.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Module 6: Data Protection. Overview What does Data Protection include? Protecting data from unauthorized users and authorized users who are trying to.
Database Security Lesson Introduction ●Understand the importance of securing data stored in databases ●Learn how the structured nature of data in databases.
David M. Kroenke and David J. Auer Database Processing: F undamentals, Design, and Implementation Chapter Nine: Managing Multiuser Databases 9-1 KROENKE.
Chapter 5 : Integrity And Security  Domain Constraints  Referential Integrity  Security  Triggers  Authorization  Authorization in SQL  Views 
Chapter 13Introduction to Oracle9i: SQL1 Chapter 13 User Creation and Management.
Chapter 9 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Secure Authentication. SQL Injection Many web developers are unaware of how SQL queries can be tampered with SQL queries are able to circumvent access.
Oracle 11g: SQL Chapter 7 User Creation and Management.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Fundamentals, Design, and Implementation, 9/e COS 346 DAY 17.
1 Copyright © 2009, Oracle. All rights reserved. Controlling User Access.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Chapter Nine: Managing Multiuser Databases.
Database Security. Introduction to Database Security Issues (1) Threats to databases Loss of integrity Loss of availability Loss of confidentiality To.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
Slide Set #24: Database security SY306 Web and Databases for Cyber Operations.
Cosc 5/4765 Database security. Database Databases have moved from internal use only to externally accessible. –Organizations store vast quantities of.
Database and Cloud Security
Controlling User Access
Database System Implementation CSE 507
Chapter 8 Database Redesign
David M. Kroenke and David J
Database Security.
SQL INJECTION ATTACKS.
Database Security.
OER- UNIT 3 Authorization
Chapter 9 Managing Multi-User Databases
Chapter 8 Working with Databases and MySQL
Database Processing: David M. Kroenke’s Chapter Nine: Part Two
Chapter 13 Security Methods Part 3.
Copyright © 2013 – 2018 by Curt Hill
Database Processing: David M. Kroenke’s Chapter Nine: Part Two
Presentation transcript:

1 IT420: Database Management and Organization Database Security 5 April 2006 Adina Crăiniceanu

Kroenke, Database Processing2 Database Security  Database security - only authorized users can perform authorized activities  Developing database security  Determine users’ rights and responsibilities  Enforce security requirements using security features from both DBMS and application programs Rights Enforced Responsibilities Not Enforced

Kroenke, Database Processing3 DBMS Security  DBMS products provide security facilities  They limit certain actions on certain objects to certain users or groups (also called roles)  Almost all DBMS products use some form of user name and password security  Examples?

Kroenke, Database Processing4 GRANT and REVOKE  GRANT – create users and grant them privileges  REVOKE – remove privileges  Privileges:  ALL  SELECT  INSERT, DELETE, UPDATE  CREATE, ALTER, DROP  USAGE//no privileges

Kroenke, Database Processing5 GRANT Syntax GRANT privilege_type ON object TO user [IDENTIFIED BY 'password'] [WITH GRANT OPTION] Example: GRANT ALL ON dbmusic.* TO adina

Kroenke, Database Processing6 REVOKE Syntax REVOKE priv_type ON object FROM user [, user] Example: REVOKE INSERT ON dbmusic.* FROM adina

Kroenke, Database Processing7 Class exercise  Create database vp5fund and tables  Log in MySQL from command line as root  Grant select privileges on table Items to user mxxx with password mxxx  Logout  Log in MySQL as mxxx with password mxxx  SELECT * FROM Items  INSERT into Items VALUES(‘aa’,5) – What happens?

Kroenke, Database Processing8 DBMS Security Model With Roles

Kroenke, Database Processing9 DBMS Security Guidelines  Run DBMS behind a firewall, but plan as though the firewall has been breached  Apply the latest operating system and DBMS service packs and fixes  Use the least functionality possible  Protect the computer that runs the DBMS

Kroenke, Database Processing10 DBMS Security Guidelines  Manage accounts and passwords  Use a low privilege user account for the DBMS service  Protect database accounts with strong passwords  Monitor failed login attempts  Frequently check group and role memberships  Audit accounts with null passwords  Assign accounts the lowest privileges possible  Limit DBA account privileges  Planning  Develop a security plan for preventing and detecting security problems  Create procedures for security emergencies and practice them

Kroenke, Database Processing11 Application Security  If DBMS security features are inadequate, additional security code could be written in application program  Example In Project 2?  Use the DBMS security features first  Less chance for infiltration  Faster  Cheaper  Higher quality results than developing your own

Kroenke, Database Processing12 SQL Injection Attack  SQL injection attack occurs when data from the user is used to modify a SQL statement  User input that can modify a SQL statement must be carefully edited to ensure that only valid input has been received and that no additional SQL syntax has been entered  Example: users are asked to enter their names into a Web form textbox  User input: Benjamin Franklin ' OR TRUE ' SELECT * FROM EMPLOYEE WHERE EMPLOYEE.Name = 'Benjamin Franklin' OR TRUE;  Result: every row of the EMPLOYEE table will be returned

Kroenke, Database Processing13 Class exercise  Write PHP code to check user input, so SQL injection attack not possible

Kroenke, Database Processing14 12 Week Exam  SQL  SQL Views  SQL Triggers  SQL Stored Procedures  PHP/MySQL  Database Administrator tasks  Manage database structure  Concurrency control