第03章__网络连接配置与系统安全nullnull第3章 网络连接配置
与系统安全 3.1 Oracle NetOracle Net主要功能是在系统中计算机之间建立网络会话和传输数据
客户机和服务器之间
两个服务器之间
配置程序
早期版本:Oracle SQL Net/Net8 Easy Config
9i/10g:Net Configuration Assistant
Net Manager
Oracle Net是Oracle网络产品的基础,为实现分布式计算和各软件工具集成提供支持3.1 Oracle Netnull典...
nullnull第3章 网络连接配置
与系统安全 3.1 Oracle NetOracle Net主要功能是在系统中计算机之间建立网络会话和传输数据
客户机和服务器之间
两个服务器之间
配置程序
早期版本:Oracle SQL Net/Net8 Easy Config
9i/10g:Net Configuration Assistant
Net Manager
Oracle Net是Oracle网络产品的基础,为实现分布式计算和各软件工具集成提供支持3.1 Oracle Netnull典型的C/S结构系统 null是驻留在服务器上的一个独立的进程
能够监听指定端口上的使用指定网络连接
的连接请求
监听进程接收网络中客户机的连接请求并管理传送到服务器的这些请求的通信
监听程序配置文件:listener.ora1.监听程序 null本地管理模式
连接信息存储在网络内每台计算机的tnsnames.ora文件中2.Oracle Net客户端的配置模式集中管理模式
连接信息集中存储在目录服务器或Oracle名称服务器中null服务器进程作为监听程序与数据库服务器之间的连接,并代理用户与数据库服务器交互3.服务器进程服务器进程可以配置为两种模式
专用服务器模式
共享服务器模式null4.Oracle Net工作原理null5.关于全局数据库名在一个分布式环境中,多个Oracle数据库可能有相同的数据库名称,此时需要使用全局数据库名以便进行区分
由数据库名db_name和数据库域名db_domain两个初始化参数标识全局数据库名全局数据库名在监听程序配置文件listener.ora中表示为GLOBAL_DBNAME
GLOBAL_DBNAME标示的全局数据库名格式为:
数据库名.数据库域名null 需要为每一个数据库例程配置监听信息才能接收到来自客户机的请求 6.服务器监听程序配置监听程序的配置信息包括
监听的协议地址
支持服务的信息
控制服务器进程运行特征的参数监听程序配置不当或没有启动监听进程时,客户计算机将不能连接到Oracle服务器null7.Oracle Net客户端配置需要为客户端应用程序配置连接到服务器端Oracle数据库服务的方法本地Net服务名(主机字符串)是一个描述符,描述了要连接的Oracle服务器和其中的Oracle数据库例程典型的配置是在客户计算机中建立保存“本地Net服务名”的文件。客户机端Oracle Net通过该文件来解析Oracle网络服务信息null7.Oracle Net客户端配置重要的关键字
ADDRESS:采用的网络协议和目标主机地址、监听端口
SERVICE_NAME:目标服务器中数据库例程名称
一般对应listener.ora中的GLOBAL_DBNAME
SERVER:服务器进程的工作模式
SERVER = DEDICATED,专用服务器模式
SERVER = SHARED,共享服务器模式ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora
可手工配置 或 用工具完成配置null7.Oracle Net客户端配置如何完成客户端配置
建议使用Net Configuration Assistant完成配置
可手工修改配置
也可使用应用程序的安装程序经过选择服务器、指定数据库名等用程序生成配置文件客户端配置注意事项
配置完成后应进行登录连接测试确保配置正确
确保操作系统层正确的配置了相关通信协议
确保配置服务器监听程序监听了要使用的通信协议null7.Oracle Net客户端配置Oracle Net支持的命名方法
本地命名(TNSNAMES)
目录命名(LDAP)
主机命名(HOSTNAME)
轻松连接命名(EZCONNECT)客户端配置概要文件
指定客户机所所要连接服务名的解析方法及优先顺序(从左至右,左边优先)ORACLE_HOME\NETWORK\ADMIN\sqlnet.ora
手工配置3.2 系统与对象权限管理 Oracle 提供用户、角色、同义词、视图、系统特权与对象权限、概要文件等保证Oracle数据库系统及其中数据的安全。3.2 系统与对象权限管理数据库系统及其中对象的访问权限一般应由数据库系统管理员(DBA)进行统一管理nullOracle数据库用户权限分类 对象权限
允许用户执行对指定对象(包括表、视图、序列、过程、函数和包)的特定操作。如将数据插入到某个表中、允许检索某个表中数据等 系统特权
允许用户执行特定的系统级操作或在特定的对象类型上执行特定操作。如创建表空间、创建表等 列访问权限
限定用户只能在某个表的某些列上执行INSERT、UPDATE操作或参照引用(REFERENCES)某些列null1.系统特权CONNECT特权角色用户是权限最低的用户。
权限如下:Oracle数据库为了简化对系统特权的管理,创建了CONNECT、RESOURCE和DBA三个典型特权角色登录到Oracle数据库和修改口令
对自己的表执行查询、删除、修改和插入
查询经过授权的其他用户的表和视图数据
插入、修改、删除经过授权的其他用户的表
创建自己拥有的表的视图、同义词
完成经过授权的基于表或用户的数据卸载null1.系统特权RESOURCE特权角色除了具有CONNECT特权角色的所有权限外,还可以进行下列操作:
创建基表、视图、索引、聚簇和序列
授予和回收其他用户对其数据库对象的存取特权
对自己拥有的表、索引、聚簇等数据库对象的存取活动进行审计DBA特权角色是系统中的最高级别特权角色,可执行创建用户、导出系统数据等特权操作null1.系统特权建议
用CREATE SESSION系统特权代替CONNECT特权角色
用CREATE TABLE、CREATE PROCEDURE、CREATE TRIGGER等具体的系统特权来代替RESOURCE特权角色
用SYSOPER和SYSDBA代替DBA特权角色
慎用DBA特权角色null1.系统特权 SYSDBA是系统中级别最高的权限
拥有STARTUP,SHUTDOWN,ALTER DATABASE,CREATE DATABASE,CREATE SPFILE,ARCHIVELOG,RECOVERY和RESTRICTED SESSION等系统特权
该特权身份登录系统时实际上相当于以SYS用户登录数据库系统特权大多以CREATE、ALTER、DROP、SELECT 、INSERT 、UPDATE、DELETE等DDL或DML语句的字眼开头,代表用户能在系统中执行的操作null1.系统特权SYSOPER能执行STARTUP,SHUTDOWN,CREATE SPFILE,ALTER DATABASE OPEN/MOUNT/BACKUP,ARCHIVELOG和RECOVERY,RESTRICTED SESSION等系统特权操作DBA身份用户可以访问DBA_SYS_PRIVS视图查看授予用户的系统特权信息
普通用户可以访问用户视图USER_SYS_PRIVS查看自己获得的系统特权例3.1 查看用户具有的系统特权。 EXA_03_01.SQL null2.对象权限共有9种对象权限
插入(INSERT)
删除(DELETE)
更新(UPDATE)
选择(SELECT)
修改(ALTER)
运行(EXECUTE)
参照引用(REFERENCE)
索引(INDEX)
读(READ)/写(WRITE)Oracle提供针对性的对象存取控制权限创建对象的用户拥有该对象的所有对象权限,无需为对象的拥有者授予对象权限null2.对象权限表的访问权限
ALTER:修改表定义
DELETE:删除表数据
INDEX:为表创建索引
INSERT:对表进行插入
SELECT:查询
UPDATE:修改数据
REFERENCE:参照表中数据视图的访问权限
SELECT:查询视图数据
INSERT:通过视图向基表插入数据
UPDATE:通过视图对基表数据进行修改
DELETE:通过视图删除基表数据null2.对象权限同义词的访问权限:同其对应的对象存储过程/函数/包/类型的访问权限
EXECUTE:允许执行(或访问)序列的访问权限
ALTER:修改序列的定义
SELECT:使用序列的序列值目录访问权限
READ:允许读取目录
WRITE:允许在目录中创建文件、写入数据null3.数据库系统特权的授予与回收WITH ADMIN OPTION:允许得到权限的用户将权限转授其他用户
PUBLIC:表示系统中所有用户(用于简化授权)授予系统特权的语法如下:
GRANT { system_privilege | role }
TO { user | role | PUBLIC }
[WITH ADMIN OPTION] ; 对不同职责用户,应授予不同权限只有DBA才可以将系统特权授予某个用户null3.数据库系统特权的授予与回收当系统特权使用WITH ADMIN OPTION选项传递给其他用户时,收回原始用户的系统特权将不会产生级联效应(回收传递授予用户的权限)回收系统特权的语法如下:
REVOKE {system_privilege | role }
FROM {user | role | PUBLIC} ;系统特权应逐个用户检查和管理例3.2 数据库系统特权的授予与回收。 EXA_03_02.SQLnull4.对象权限的授予与回收WITH ADMIN OPTION:允许得到权限的用户将权限转授其他用户
PUBLIC:表示系统中所有用户(用于简化授权)对象权限的授权语法如下:
GRANT {object_privilege | ALL} [(column_list)]
ON schema.object
TO {user | role | PUBLIC} WITH GRANT OPTION ; 应只对确实需要该对象访问权限的用户授权
只授予必须的权限,有必要限制ALL的使用使用对象属主名前缀标识其他用户的对象
用户名.对象名null4.对象权限的授予与回收CASCADE CONSTRAINTS表示级联删除对象上存在的参照完整性约束
当对象权限使用WITH GRANT OPTION传递给其他用户时,收回原始用户的对象权限将会产生级联效应,其他用户的对象访问权限会被一并收回。数据库对象权限的回收语法如下:
REVOKE {object_privilege | ALL}
ON schema.object FROM {user| role | PUBLIC}
[CASCADE CONSTRAINTS] ; 例3.3 对象访问权限授予与回收。 EXA_03_03.SQLnull5.列访问权限只有INSERT、UPDATE和REFERENCES作为列访问权限可以在列级授予
数据字典
USER_COL_PRIVS_MADE:授予其它用户的列权限
USER_COL_PRIVS_RECD:获得的列权限例3.4 列访问权限的授予与查看。 EXA_03_04.SQL3.3 用户与角色方案(Schema)是数据库对象(如表、视图、序列等)的逻辑组织。3.3 用户与角色一般情况下,一个应用(如库存管理)对应一个方案。需要为一个应用创建一个数据库用户,并在该用户下创建这个应用的各种数据库对象角色是一组相关权限的集合,可简化权限的管理null1.配置身份验证对于一般用户
Oracle采用基于数据库的身份验证方法
在数据字典中记载用户名、口令等信息SYS用户身份及SYSDBA、SYSOPER系统特权用户权限很大,可能对数据库进行破坏性操作
有必要针对以DBA身份连接的用户设计专门的身份验证方法null1.配置身份验证DBA用户身份验证方法
使用操作系统集成的身份验证
通过Oracle口令文件进行验证初始化参数remote_login_passwordfile
NONE:忽略口令文件,通过操作系统进行身份验证
EXCLUSIVE:将使用数据库的口令文件对每个具有权限的用户进行验证
SHARED:多个数据库将共享SYS和INTERNAL口令文件用户
默认值: NONEnull1.配置身份验证通过操作系统验证DBA用户
初始化参数
remote_login_passwordfile = NONE
ORACLE_HOME\NETWORK\ADMIN\sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
在Windows中建立ORA_DBA用户组
将某个操作系统用户加入该组和Windows的Administrators组
以该用户登录操作系统,以SYSDBA身份连接Oracle数据库时,不再需要验证SYS用户口令null1.配置身份验证使用Oracle口令文件验证DBA用户
初始化参数
remote_login_passwordfile=EXCLUSIVE/SHARED
ORACLE_HOME\NETWORK\ADMIN\sqlnet.ora
注释掉SQLNET.AUTHENTICATION_SERVICES= (NTS)
用orapwd创建口令文件
orapwd file=filename password=password entries=max_users
为口令文件增加DBA特权用户
GRANT {SYSDBA | SYSOPER} TO user_name;
从口令文件中删除特权用户
REVOKE {SYSDBA | SYSOPER} FROM user_name;
查看口令文件中用户
SELECT * FROM v_$pwfile_users;null2.创建与管理用户用户管理应该考虑的问题
身份验证方式
默认表空间
临时表空间
表空间限额
资源与口令限制(概要文件)
账户状态
操作权限 等创建用户的操作一般由DBA完成用户创建完成后不具备任何权限,也不能连接数据库,需由DBA为其授予相关权限null2.创建与管理用户创建用户语法
CREATE USER user
[IDENTIFIED [BY password | EXTERNALLY]]
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace]
[QUOTA {n [K|M] | UNLIMITED} ON TABLESPACE]
[PASSWORD EXPIRE]
[ACCOUNT {LOCK | UNLOCK }]
[PROFILE {profile | DEFAULT }] ;删除用户语法
DROP USER user [CASCADE] ;
CASCADE表示级联删除该用户所属的方案对象 null2.创建与管理用户修改用户语法
ALTER USER user
[IDENTIFIED [BY password | EXTERNALLY]]
[DEFAULT TABLESPACE TABLESPACE]
[TEMPORARY TABLESPACE TABLESPACE]
[QUOTA {n [K|M] | UNLIMITED} ON TABLESPACE]
[PASSWORD EXPIRE]
[ACCOUNT {LOCK | UNLOCK }]
[PROFILE {profile | DEFAULT }] ;例3.5 用户及权限管理。 EXA_03_05.SQLnull3.角色管理角色的使用步骤
(1)由DBA创建角色
(2)为角色授予相应的系统特权和对象权限
(3)将角色授予相关的数据库用户默认表空间可将多个角色授予同一个Oracle数据库用户创建角色语法
CREATE ROLE role
[NOT IDENTIFIED | IDENTIFIED
[BY PASSWORD | EXTERNALLY]] ;删除角色语法
DROP ROLE role ;null3.角色管理角色应被授予需要的系统特权、对象权限在创建Oracle数据库时,Oracle会创建预定义的角色并给它们授予相关的系统特权和对象权限例3.6 采用角色改进学生实验用户权限管理工作。 EXA_03_06.SQL3.4 概要文件(Profile) 对用户的资源占用和口令使用进行限制有其现实的必要性
限制用户的连接时间和CPU占用时间
有效防止口令被破解3.4 概要文件(Profile)概要文件是一个命名的资源限制的集合,描述如何使用系统资源。主要包括两方面内容
管理数据库系统资源
管理数据库口令的使用及验证方式系统提供一个默认的概要文件(DEFAULT)null1.创建概要文件创建概要文件的语法
CREATE PROFILE profile LIMIT
[{SESSIONS_PER_USER |
CPU_PER_SESSION |
CPU_PER_CALL |
CONNECT_TIME |
IDLE_TIME |
LOGICAL_READS_PER_SESSION |
LOGICAL_READS_PER_CALL |
COMPOSITE_LIMIT } { n | UNLIMITED | DEFAULT } |
PRIVATE_SGA { n {K | M} | UNLIMITED | DEFAULT } |
{FAILED_LOGIN_ATTEMPTS |
PASSWORD_LOCK_TIME |
PASSWORD_GRACE_TIME |
PASSWORD_LIFE_TIME |
PASSWORD_REUSE_MAX |
PASSWORD_REUSE_TIME } { n | UNLIMITED | DEFAULT } |
PASSWORD_VERIFY_FUNCTION [ function_name | NULL | DEFAULT ] ];null 删除概要文件
DROP PROFILE profile ;1.创建概要文件例3.7 创建限制实验学生使用资源的概要文件。EXA_03_07.SQLP52 口令复杂性函数及其应用 EXA_03_P52_utlpwdmg.SQL 相关系统特权
CREATE PROFILE
ALTER PROFILE
CREATE USER
ALTER USERnull每个用户在一个时刻只能分配一个概要文件
可在创建用户时指定该用户使用的概要文件
也可修改一个用户的概要文件2.分配概要文件CREATE USER user IDENTIFIED BY password PROFILE profile ;
ALTER USER user PROFILE profile ;
ALTER USER user ACCOUNT UNLOCK ;初始化参数RESOURCE_LIMIT决定是否启用概要文件
ALTER SYSTEM SET RESOURCE_LIMIT= {TRUE|FALSE }
SCOPE = { MEMORY | SPFILE | BOTH };例:
ALTER USER scott PROFILE stu_profile ;
ALTER USER scott PROFILE DEFAULT ;
ALTER USER stu01 PROFILE stu_profile ;3.5 同义词(Synonym) 同义词是对一个表、视图、序列、存储过程与函数、包、实体化视图或其它同义词建立的别名。3.5 同义词(Synonym)同义词的作用
隐藏真实对象名,提高对象访问的安全性
简化对象引用表示,如对一个远程对象null 创建同义词语法
CREATE [PUBLIC] SYNONYM synonym_name
FOR schema.object[@dblink];创建与删除同义词例3.8 为HR方案对象创建同义词。EXA_03_08.SQL 删除同义词语法
DROP SYNONYM synonym_name ;
本文档为【第03章__网络连接配置与系统安全】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。