技术开发 频道

从黑客角度检验oracle数据库

    【IT168 技术文档】本文讨论的是从一种安全的角度来看黑客是如何攻击你的数据库,我们应该做什么防范。 

    一 State of Oracle Security (oracle的安全状态)

    1 来之媒体的报道:
    超过十分之一的于internet上公司数据库有安全隐患。一份来之750家美国数据库开发商开始对数据库安全表示忧虑。

    2 黑客世界的秘密:
    讨论会对数据库被黑的报道增多。
    – Blackhat, Defcon Expliots 蠕虫侵蚀着数据库
    – Alpha Voyager
    – Spida worm
    攻击oracle的白皮书
    3 oracle网站-Alerts Web page

    4 防火墙后边神秘的oracle是安全的
    大多数的折衷安全是内部工作的结果
    内部威胁是最危险的
    数据库中的非特权用户

    5 面对这样状况我们要做什么
    对漏洞的修复
    警惕风险和威胁
    找到正确的解决方案

    二 Securing the Listener service

    1 监听(listener)的脆弱
    监听是客户端和数据库的代理
    重要性:
    i) 分离了鉴定和审核
    ii) 以一个独立的进程运行
    iii) 接受命令执行数据库的外部任务
    监听服务的脆弱性
    在客户端和数据库建立的连接进程中,监听作为一个代理。客户端指向对监听的一个连接,监听依次来和数据库进行连接握手。
    问题存在于监听分离了鉴证,被外部数据库控制管理。监听作为一个独立的进程,在过去称为UID,接受命令执行任务。

    2 监听服务的安全问题
    带有password的监听是安全的
    -默认配置是无
    -lsnrctl设在password
    必须建立一个健壮的password
    -对暴力破解是不易攻击的
    保护好listener.ora文件
    -password存储在这里
    不要远程管理监听
    -在网络上password是不加密的。

    如何对监听进行安全控制:
    首先:在监听服务中设置passwod,许多DBA甚至没有意思到在必须在监听服务中设置password,监听服务接受远程的命令,如果你没有设置,任意人都可以发送命令。

    两种设置方法:
    1) 使用监听控制实用工具 – lsnrctl.
    2) 在listener.ora文件中设置。

    你必须设置一个强壮的password,一个不少于8位用数字和特殊单词组成的。如果设置比较脆弱,黑客程序将会试出你的密码。Password是存在listener.ora的文件中,如果用户可以读取,可以利用password日志远程的监听。同时也推荐你不要远程管理listener,因为密码在网上被明文传播,有可能被监听。推荐你只用来进行连接。

    监听命令:
    -LSNRCTL> help
    The following operations are available
    start stop status
    quit exit set*
    show*

    password rawmode displaymode
    trc_file trc_directory trc_level
    log_file log_directory log_status
    current_listener connect_timeout startup_waittime
    use_plugandplay save_config_on_stop
    可以通过set password来进行设置。有两个问题在password中:password是没有lockout feature。命令审核是和标准oracle的审核数据是分开的。Password是不过期的,因为没有passwod的管理特性。

    3 监听包(listener packet)

    当一个命令输入到监听控制器中会发生:
    向监听发生一条命令,如果监听是远程的,命令通过网络传播,上图是发送的数据包,我们可以看到报头中一些特殊的字符。在报尾可以看到listener要执行的远程命令,在这个例子中:
    COMMAND=status

0
相关文章