Niki
网站脱库 Web服务器防护 对人防护

如何防止网站被脱库

分享
  • GQQQy 2 风险管理(专业级)RM/PL 高级信息系统项目管理师 官方采纳
    GQQQy2 风险管理(专业级)RM/PL 高级信息系统项目管理师
    官方采纳

    脱库防范我们可以从以下几点入手:

    一、黑客利用字典攻击,我们可以引入一个salt,与用户的密码组合到一起,增加密码难度,对组合后的字符串做hash算法算法加密,将其存储到数据库中,增大破解难度。

    二、选择相应的安全防护设备,采购WAF、IPS等防护设备为企业增加一道屏障,防止被黑客入侵,此外,还应做好企业员工的安全意识培训防止人为因素导致的信息泄露。
    三 MySQL加固
    ——修改DBA登录密码
    在shell环境下执行
    mysqladmin -u root password
    连续输入两次新密码
    非首次修改
    mysqladmin -u root password -p原密码
    连续输入两次新密码
    在mysql下执行t-sql语句
    update user set password=password(‘密码’) where user=’root’;

    ——删除默认数据库和用户
    删除测试库
    show databases;
    drop?database?test;
    删除非root用户
    use mysql;
    delete from user where not (user=’root’) ;
    删除密码为空的root用户
    delete from user where user=’root’ and password=’’;

    ——变更DBA用户名
    use mysql;
    update user set user=”nicai “ where user=”root”;

    ——在账户管理时使用加密算法
    use mysql;

    ——更改mysql启动用户
    修改my.cnf文件
    vim /etc/my.cnf
    加入如下内容
    [mysqld]

    ——限制远程连接数
    修改my.cnf文件,去掉注释符号
    vi /etc/my.cnf
    加入如下内容
    [mysqld]
    max_connections = 5
    max_user_connections=2
    或者限制某个用户,在mysql中执行
    GRANT test ON . TO testdb@localhost MAX_USER_CONNECTIONS 2;

    ——关闭远程管理数据库
    修改my.cnf文件,去掉注释符号
    vi /etc/my.cnf

    #skip-networking

    skip-networking

    ——清理mysql命令历史
    注意清理家目录中的.mysql_history
    ln -s /dev/null /root/.mysql_history
    禁止使用明文模式登陆mysql
    mysql -u root -p123.com
    应使用隐藏密码方式

    ——禁止MySql读取本地文件
    修改my.cnf文件,加入关闭信息
    vi /etc/my.cnf
    加入如下内容
    [mysqld]
    local_infile = 0
    或者添加启动选项
    用脚本开启mysql
    mysqld_safe –local_infile=0 –user=mysql
    *****导入的相关测试命令****
    vi sqlfile.txt
    1,sszng,111
    2,sman,222
    mysql> load data local infile ‘sqlfile.txt’ into table users fields terminated by ‘,’;

    ——禁止将表导出到文件

    在mysql中修改用户的文件权限
    update user set File_priv=‘N’ where user=‘用户名’;
    检查配置文件是否存在不合理信息
    grep secure_file_priv /etc/my.cnf
    secure_file_priv= xxx路径
    *****导出的测试命令****

    ——日常备份数据库

    mysqldump –user=root –all-databases –flush-privileges –lock-all-tables \ –master-data=1 –flush-logs –triggers –routines –events \ –hex-blob > 备份路径/文件名时间戳.sql

  • Andrew 2 CISP-PTE CISM-WSE
    Andrew2 CISP-PTE CISM-WSE

    用户信息“脱库”后,黑客利用字典攻击:维护一个常用密码的字典表,将字典中每个密码用hash算法计算hash值,如果用户“脱库”后的密文和hash值相等,基本就可以认为密文对对应的密码就是字典中的密码。

    针对字典攻击,我们可以引入一个盐(salt),与用户的密码组合到一起,增加密码难度,对组合后的字符串做hash算法算法加密,将其存储到数据库中,增大破解难度。不过,安全与攻击是一种博弈关系,不存在绝对的安全,所有安全措施都只是增加攻击成本而已。

  • FLY 2
    FLY2

    一般被拖库主要是由于管理员缺乏安全意识,在做数据库备份或是为了方便数据转移,将数据库文件直接放到了Web目录下,而web目录是没有权限控制的,任何人都可以访问的;还有就是网站使用了一些开源程序,没有修改默认的数据库。其实黑客每天都会利用扫描工具对各大网站进行疯狂的扫描,当你的备份的文件名如果落在黑客的字典里,就很容易被扫描扫描到,从而被黑客下载到本地。把上述问题解决一下在被拖库的可能性就很小了。从根本上来说还是要加强DBA的安全意识,否则数据库防护再好也会被社工的。

  • 写回答