当前位置:首页 » 操作系统 » 数据库加壳

数据库加壳

发布时间: 2022-03-14 01:19:31

㈠ 简述oracle安全加固从哪几个方面入手加固

1.安全加固的检查方向
2.安全加固检查safeCheck.sh
3.安全加固执行safeExec.sh

1.安全加固的检查方向

1.1.sysdba用户远程登录限制(查看Oracle登录认证方式)

检查:
show parameter remote_login_passwordfile

整改:
alter system set remote_login_passwordfile = NONE scope=spfile;
注:需要重启库生效。

1.2.是否开启了资源限制

show parameter resource_limit

alter system set resource_limit = true;

1.3.登录失败的帐号锁定策略

select * from dba_profiles order by 1;
关注FAILED_LOGIN_ATTEMPTS的设定值

1.4.数据库用户帐号检查

检查:
select username,profile from dba_users where account_status='OPEN';

整改:
锁定用户:alter user <用户名> lock;
删除用户:drop user <用户名> cascade;

1.5.范例数据库帐号

是否存在默认的范例数据库账号scott等,可以考虑删除scott账号

1.6.dba权限账户检查

select username,profile from dba_users where account_status='OPEN';

1.7.数据库账户口令加密存储

11g数据里面的账户口令本来就是加密存储的。

1.8.数据库密码安全性校验函数

select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';

1.9.设定信任IP集

只需在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:

tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)
1.10.超时的空闲远程连接是否自动断开

根据实际需要设置合适的数值。
在$ORACLE_HOME/network/admin/sqlnet.ora中设置下面参数:
SQLNET.EXPIRE_TIME=10

2.安全加固检查safeCheck.sh

#!/bin/bash
#name:safeCheck.sh
#function:to create a safe check report.
#usage: oracle用户登录,执行 sh safeCheck.sh > /tmp/safeCheck.log

#logon database
sqlplus -S / as sysdba <<EOF

--format
prompt ============================
prompt == format
prompt ============================
prompt
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30

--check
prompt ============================
prompt == 1.sysdba用户远程登录限制
prompt ============================
prompt
show parameter remote_login_passwordfile
prompt 结果应为none.

prompt ======================
prompt == 2.resource_limit
prompt ======================
prompt
show parameter resource_limit
prompt 结果应为true.

prompt ===========================
prompt == 3.登录失败的帐号锁定策略
prompt ===========================
prompt
select * from dba_profiles order by 1;
prompt 关注FAILED_LOGIN_ATTEMPTS参数

prompt ===========================
prompt == 4.数据库用户帐号检查
prompt ===========================
prompt
select username,profile from dba_users where account_status='OPEN';
prompt 正常使用的用户列表

prompt ==========================
prompt == 5.范例数据库帐号
prompt ==========================
prompt
select * from all_users order by created;
prompt 关注有无示例账户scott

prompt ===========================
prompt == 6.dba权限账户检查
prompt ===========================
prompt

prompt ===========================
prompt == 7.数据库账户口令加密存储
prompt ===========================
prompt

prompt =============================
prompt == 8.数据库密码安全性校验函数
prompt =============================
prompt
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
prompt 结果应该不为null

--logoff database
EOF

# check the files
echo ===================
echo == 9.设定信任IP集
echo ===================
echo
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)

echo ===================================
echo == 10.超时的空闲远程连接是否自动断开
echo ===================================
echo
#根据实际需要设置合适的数值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
3.安全加固执行safeExec.sh

#!/bin/bash
#name:safeExec.sh
#function:to execute the script for safe.
#usage: oracle用户登录,执行 sh safeExec.sh > /tmp/safeExec.log

#logon database
sqlplus -S / as sysdba <<EOF

--format
prompt ============================
prompt == format
prompt ============================
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30

--execute
prompt ============================
prompt == 1.sysdba用户远程登录限制
prompt ============================
alter system set remote_login_passwordfile=none scope=spfile;

prompt ======================
prompt == 2.resource_limit
prompt ======================
alter system set resource_limit=true;

prompt ===========================
prompt == 3.登录失败的帐号锁定策略
prompt ===========================
alter profile default limit FAILED_LOGIN_ATTEMPTS 10;

prompt ===========================
prompt == 4.数据库用户帐号检查
prompt ===========================
--select username,profile from dba_users where account_status='OPEN';
prompt I think I have nothing to do in this step.

prompt ===========================
prompt == 5.范例数据库帐号
prompt ===========================
prompt 是否删除范例scott用户?
--drop user scott cascade;

prompt ===========================
prompt == 6.dba权限账户检查
prompt ===========================
prompt I think I have nothing to do in this step.

prompt ===========================
prompt == 7.数据库账户口令加密存储
prompt ===========================
prompt 11g版本,数据库层面就是加密的嘛~

prompt =============================
prompt == 8.数据库密码安全性校验函数
prompt =============================
prompt 执行创建安全性校验函数的脚本
@?/rdbms/admin/utlpwdmg.sql

--logoff database
EOF

# check the files
echo ===================
echo == 9.设定信任IP集
echo ===================
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)

echo ===================================
echo == 10.超时的空闲远程连接是否自动断开
echo ===================================
#根据实际需要设置合适的数值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
针对第9和第10步骤中的sqlnet.ora配置文件示例:

注意如果是ASM实例,sqlnet.ora配置文件是grid用户下$ORACLE_HOME/network/admin/sqlnet.ora的。

SQLNET.EXPIRE_TIME=10
tcp.validnode_checking = yes
tcp.invited_nodes = (192.168.99.*)

㈡ 数据库安全加固的产品

应用背景及存在问题
我国已有的安全建设重要围绕着网络防护、主机访问和应用层安全防护以及服务器层安全防护进行,但对真正核心的数据存储管理的核心数据库并没有采取有效的防护措施。网络层安全防护的主要产品有:防火墙、网路隔离设备、入侵检测、防病毒等;应用层安全防护的主要产品有:安全认证、统一授权等;服务器层安全防护的主要产品有:服务器防护、防病毒、入侵检测、主机审计等;数据层安全防护的主要产品有:数据库安全增强、数据库审计、文档防护等,数据层安全防护是存放于服务器内的数据本身的最后一道安全防护屏障,如果网络层、应用层和服务器层的安全防护被攻破,只要数据层安全防护有效,就不致予泄露敏感数据。可见数据层安全防护的重要性。
世界最大职业中介网站Monster遭到黑客大规模攻击,黑客窃取在网站注册的数百万求职者个人信息,并进行勒索;程序员程稚瀚四次侵入北京移动充值中心数据库,盗取充值卡密码,获利300 多万元。2003 年广东联通7 名人员,利用内部工号和密码,对欠费停机手机进行充值,使联通损失260 万元。2005 年12 月25 日,美国银行披露,2004 年12 月下旬,丢失了包括1200 万信用卡信息的磁带备份. ---Gartner Research;CSI/FBI 2005 年计算机犯罪和和安全会的相关报告中提到70%的信息系统数据丢失和遭受攻击,都来自于内部。
当前主流Oracle安全增强方案包括前置代理、应用加密和Oracle自带加密选件DTE等。前置代理需要应用大幅改造、大量Oracle核心特性无法使用;应用加密必须由应用实现数据加密,加密数据无法检索,已有系统无法透明移植;DTE不能集成国产加密算法,不符合国家密码政策。因此这几种方案一直未能得到有效推广。

㈢ 文件加密与数据库加密产品有什么区别

他们两个是有很大的区别的,因为一个是产品,一个是将数据库加密,很大的距离。

㈣ 数据库加壳好还是使用https

用HTTPS直接一点,而且客户端是看得见的。

㈤ delphi写的exe,想知道其中引用数据库的密码 (程序没有加壳)

你找个软件dede4.5试试看看能不能反编译你的exe
感觉你的数据库连接密码不是在exe文件中。如果是明文的话建议你用toad跟踪下看看能不能得到结果。希望能得到你的50分悬赏。哈哈

㈥ 怎么进入xserver-mysql加固mysql

确定你的mysql 是否能正常工作 登录数据库 cmd--“命令提示字符”窗口录入, 录入cd C:\mysql\bin 并按下回车键
将目录切换为 cd C:\mysql\bin 再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的!

㈦ 360安全卫士隔离COMRes.dll 提示有程序加壳后在浏览器进程中,怎么办

comres.dll的预防以及感染之后的解决方法
目前各大杀毒软件已经更新了comres.dll病毒的数据库,在上网的时候打开杀毒软件进行升级即可。如果不幸中了comres.dll病毒,必须要先杀毒,然后进行第三步的操作就可以解决。
下载地址1:
http://download.360safe.com/comres.dll
下载地址2:
http://www.dllmp.com/download-dll-files.php/dllfiles/C/comres.dll/download.html

\windows\system32\dllcache\comres.dll
复制到
\windows\system32
下,或是找一台安全的系统复制也可以
点开始-运行-输入
regsvr32
comres.dll
回车注册即可
我觉的最好用扫毒软体再扫一次比较安全

㈧ 如何加固web服务器防sql注入攻击

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:
⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。
⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或者直接用作存储过程的参数。下面是ASP.NET应用构造查询的一个例子:
System.Text.StringBuilder query = new System.Text.StringBuilder(
"SELECT * from Users WHERE login = '")
.Append(txtLogin.Text).Append("' AND password='")
. Append(txtPassword.Text).Append("'");
⑶ 攻击者在用户名字和密码输入框中输入"'或'1'='1"之类的内容。
⑷ 用户输入的内容提交给服务器之后,服务器运行上面的ASP.NET代码构造出查询用户的SQL命令,但由于攻击者输入的内容非常特殊,所以最后得到的SQL命令变成:SELECT * from Users WHERE login = '' or '1'='1' AND password = '' or '1'='1'。
⑸ 服务器执行查询或存储过程,将用户输入的身份信息和服务器中保存的身份信息进行对比。
⑹ 由于SQL命令实际上已被注入式攻击修改,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。
如果攻击者知道应用会将表单中输入的内容直接用于验证身份的查询,他就会尝试输入某些特殊的SQL字符串篡改查询改变其原来的功能,欺骗系统授予访问权限。
系统环境不同,攻击者可能造成的损害也不同,这主要由应用访问数据库的安全权限决定。如果用户的帐户具有管理员或其他比较高级的权限,攻击者就可能对数据库的表执行各种他想要做的操作,包括添加、删除或更新数据,甚至可能直接删除表。
⑴ 对于动态构造SQL查询的场合,可以使用下面的技术:
第一:替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。再来看前面的例子,“SELECT * from Users WHERE login = ''' or ''1''=''1' AND password = ''' or ''1''=''1'”显然会得到与“SELECT * from Users WHERE login = '' or '1'='1' AND password = '' or '1'='1'”不同的结果。
第二:删除用户输入内容中的所有连字符,防止攻击者构造出类如“SELECT * from Users WHERE login = 'mas' -- AND password =''”之类的查询,因为这类查询的后半部分已经被注释掉,不再有效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用户的密码就可以顺利获得访问权限。
第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作,因而也就防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。 ⑵ 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了。
⑶ 限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符,那么不要认可表单中输入的10个以上的字符,这将大大增加攻击者在SQL命令中插入有害代码的难度。
⑷ 检查用户输入的合法性,确信输入的内容只包含合法的数据。数据检查应当在客户端和服务器端都执行——之所以要执行服务器端验证,是为了弥补客户端验证机制脆弱的安全性。在客户端,攻击者完全有可能获得网页的源代码,修改验证合法性的脚本(或者直接删除脚本),然后将非法内容通过修改后的表单提交给服务器。因此,要保证验证操作确实已经执行,唯一的办法就是在服务器端也执行验证。你可以使用许多内建的验证对象,例如RegularExpressionValidator,它们能够自动生成验证用的客户端脚本,当然你也可以插入服务器端的方法调用。如果找不到现成的验证对象,你可以通过CustomValidator自己创建一个。
⑸ 将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。System.Web.Security.FormsAuthentication类有一个,非常适合于对输入数据进行消毒处理。
⑹ 检查提取数据的查询所返回的记录数量。

㈨ 我已经有文件加密系统了,还需要采购数据库加密系统么

需要,常规的文件加密系统都表现为工具程序,一般只能对指定的文件进行加密保护,对于不同的文件可以分别设置不同的访问口令/密码,也可以对文件进行分类或分组,不同各类或不同分组的文件分别使用不同的访问口令/密码。具体保护时,有的只是在文件外面加一层壳,类似于在外面加一圈栅栏,通过口令可以打开栅栏上的门从而访问文件;有的则是通过密码使用一定的算法对文件内容进行加密处理。在使用加密的文件时,需要输入访问口令/密码。这种方式对于不经常使用的文件进行加密保护是可行,对于数据库系统的数据文件,如果也使用这种方式进行加密保护,则数据库系统几乎无法使用。
数据库加密系统是专门针对数据库的使用特点和使用场景而设计研发的软件系统,对数据库底层数据文件的内容进行加密保护,具有完全的透明性,既不改变数据库的工作模式,也不影响业务系统和运维人员对数据库的访问。数据库加密系统使用对称密钥算法对数据文件进行加密和解密,而不是简单地使用一个口令给数据文件加壳,因此具有比常规文件加密系统使用口令保护文件更高的加密强度。另外,我们的数据库加密系统还提供了独立于数据库自身访问控制之外的增强权限体系,可以禁止数据库系统的超级用户对被保护数据进行访问,可进一步提升被保护数据的安全性。
安华金和数据库加密从根本上解决数据库数据的存储安全问题。

㈩ 想开发一个应用程序,用户采用客户端的方式访问远程数据库,宜采用哪些安全手段加固系统

系统的安全与应用环境、业务内容、客户群都有密切关系。在该问题上可以采用一下几种方式:
1、采用VPN技术客户端和服务器端构造虚拟局域网,普通互联网客户无法访问。
2、服务器端设置防火墙,可按IP分段、时间段等手段进行控制访问。
3、在数据库级不仅设置登入用户/口令,还要设置各种权限,进行多层次访问控制。
4、在编制应用程序过程中,隐蔽登入口的访问路径、登入用户名、登入口令等。

热点内容
微信开发用什么服务器 发布:2024-09-25 07:18:32 浏览:364
手机服务器网络是什么意思 发布:2024-09-25 07:06:04 浏览:749
天音脚本 发布:2024-09-25 06:55:30 浏览:820
怎么连接vps服务器 发布:2024-09-25 06:55:19 浏览:217
win7装linux系统 发布:2024-09-25 06:49:29 浏览:637
genericinjava 发布:2024-09-25 06:49:21 浏览:235
sql的执行步骤 发布:2024-09-25 06:43:47 浏览:131
手机照片存储路径 发布:2024-09-25 06:25:04 浏览:796
ftp数据怎么导出 发布:2024-09-25 06:20:37 浏览:777
微信安卓手机从哪里下载 发布:2024-09-25 06:02:09 浏览:21