3、服务器本身的TCP/IP连接数,切换到其他数据库

作者: www.9159.com  发布:2019-10-04

MySQL

官网:‘

摩登版本8.0.11

Windows

%xxx >> 变量

初始化MySQL服务器:

mysqld --initialize --console

启动/关闭MySQL服务器:

net start mysql / net stop mysql

MySQL修改顾客密码:

set password for '%user'@'localhost' = '%newpassword';

MySQL成立数据库:

create database %name;

MySQL删除数据库:

drop database %name;

切换成其他数据库:

use %name;

第贰回安装MySQL时有相当多的坑,逐步踩~

 

DOS

netstat -ano | findstr %str

类似于linux下

netstat -antup | grep %str

 

Windows查看本机端口使用景况


netstat -nab

减轻格局:(以下内容为自身亲自推行原创)

Linux系统与数据库安全

JDBC连接错误 Cannot create PoolableConnectionFactory (Unknown host specified )


jdbc:oracle:thin:@localhost:1521:xe
这种方式用于本地连接未有毛病,可是远程连接供给在@前面增多//
jdbc:oracle:thin:@//192.168.2.1:1521/XE

小结一下,应该是连接数的主题素材,那么服务器上有些什么连接数:

 

MySQL导出数据库结构


  1. mysqldump -uroot -p -d databasename > createtab.sql
  2. mysqldump -uroot -p -d databasename test1 test2 test3 > createtab.sql
  3. mysqldump YourDatabaseName --user=YourUserName --password=YourPassword

参照小说:mysql导出表结构

1、IIS网址服务器中逐一网址中有“连接超时时间”,“会话超时时间”;
2、别的程序占用的服务器连接数(如SMTP服务在发信出去的时候也会有广大个连接数)
3、服务器自个儿的TCP/IP连接数,如xp系统就有个限制,不过server 贰零零零种类就好像没那几个限制。

  1. 帐号安全

运用mysqldump命令蒙受 mysqldump unkown option '--no-beep' 错误


删除my.ini [client]下的 no-beep 参数;
参照小说: 'mysqldump: unknown option '--no-beep' 错误消除'

缓和操作:

帐号权限安全

复制MySQL数据库 转自MySQL连忙复制数据库的点子


或多或少时候,比如为了搭建二个测试条件,或许克隆三个网站,要求复制七个已存在的MySQL数据库。使用以下方式,能够特别轻巧地促成。
要是已经存在的数据库名字叫db1,想要复制一份,命名叫newdb。步骤如下:

  1. 第一创制新的数据库newdb
#mysql
 -u root -ppassword

mysql>CREATE
 DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
  1. 使用mysqldump及mysql的命令组合,三遍性达成复制
#mysqldump
 db1 -u root -ppassword --add-drop-table | mysql newdb -u root -ppassword

3.之上是在同一台MySQL服务器上复制数据库的法门。就算要复制到远程另一台MySQL服务器上,可以采用mysql的“ -h 主机名/ip”参数。前提是mysql允许远程连接,且长途复制的传输效能和岁月足以接受。

#mysqldump
 db1 -uroot -ppassword --add-drop-table | mysql -h 192.168.1.22 newdb -uroo

1、笔者的服务器上边有多少个网址,在这之中有个网址有个机关发信的功能,用“netstat -na >>a.xls”命令查看见服务器25端口和顾客端的连接数竟然有40柒十多个,问了须臾间程序猿,写程序的时候允许二个顾客端ip发起十个一而再,那样壮大的消耗了服务器的一而再能源,工程师把连接改成了壹个ip只允许发起5个三回九转,未来没出难点的时候再查看,独有2310个一连了,不精晓是否其一的功绩呢?
2、在IIS中对运用mysql数据库的网址开展安装:把“连接超时”时间由默许的120s改成60s; 再一个地点是“主目录”—“配置”—会话超时时间由20分钟改成2分钟。
方今服务器成功的运营超越了2个夜间没出难题。

 

您大概感兴趣的篇章:

  • php不可能连接mysql数据库的不易消除措施
  • IPv6设置后怎么化解MySQL不恐怕连接localhost的标题
  • mysql 不可能连接难题的定位和修复进度分享
  • php后台平常提示不能够连接mysql 刷新后又足以访问的消除方法
  • KB967723变成MySQL频仍不能连接
  • 远程不能连接SQL两千及MySQL的因由和平解决决办法

1.1. Shell 安全

 

必要:限制客商权限,仅提供部分linux常用命令,客户监察和控制linux系统于网络运转状态,不允许顾客ssh登入后随机运行linux命令

 

客商不可能步入到Shell意况

 

举例普通用户一旦登陆web服务器能够看见web程序中的数据库配置

 

客商能够精通OS职业意况如内存,cpu,网络等等

 

例如:ping, tracepath, top, free, netstat

 

可以查看系统部分日志

 

例如:access.log, error.log, php-error.log ...

 

使用mgmt替代bash

 

#!/bin/bash

TITLE="Client"

 

#USER=$(whiptail --inputbox "User:" 8 60 --title "$TITLE" 3>&1 1>&2 2>&3)

 

#PASSWD=$(whiptail --title "$TITLE" --passwordbox "Passsword:" 8 60 3>&1 1>&2 2>&3)

 

COMMAND=$(whiptail --title "$TITLE" --menu "Administrator Tools" 22 50 10

"ping" "ping"

"tracepath" "tracepath"

"top" "top"

"free" "free"  

"ps" "ps"  

"netstat" "netstat"  

"lsof" "lsof"  

"iftop" "iftop"  

"log" "log"

3>&1 1>&2 2>&3)

 

function option(){

OPTION=$(whiptail --inputbox "COMMAND-LINE Options: " 8 60 --title "$TITLE" 3>&1 1>&2 2>&3)

}

 

function weblog(){

LOG=$(whiptail --title "$TITLE" --menu "Logs" 22 50 8

"/var/log/messages" "message"  

"/var/log/syslog" "syslog"  

"/var/log/nginx/access.log" "access.log"

"/var/log/nginx/error.log" "error.log"  

3>&1 1>&2 2>&3)

 

}

 

case $COMMAND in

ping)

    option

    $COMMAND $OPTION

    ;;

tracepath)

    option

    $COMMAND $OPTION

    ;;

free)

    $COMMAND -m

    read

    ;;

top|iftop)

    $COMMAND

    ;;

log)

    weblog

    tail -f $LOG

    ;;

ps|lsof)

    option

    $COMMAND $OPTION

    read

    ;;

netstat)

    option

    $COMMAND $OPTION

    read

    ;;

*)

    exit $?

esac

Shell 运营文件,首要顾客遮掩 /srv/sbin/mgmt 文件(针对菜鸟)

 

$ cat shell.c

#include <stdlib.h>

main()

{

for (;;){

system("/srv/sbin/mgmt");

}

}

编译.c文件

 

gcc shell.c -o /bin/nsh

添加Shell到/etc/shells

 

echo /bin/nsh >> /etc/shells

将顾客shell退换为大家恰好创制的nsh

 

$ vim /etc/passwd

 

www:x:33:33:www:/var/www:/bin/nsh

当今来作壹个测量检验,假若不易应该未来为上面包车型大巴TUI分界面

 

ssh [email protected]

 

              ┌───────────────────┤ Client ├───────────────────┐

              │ Administrator Tools                            │

              │                                                │

              │               ping      ping                   │

              │               tracepath tracepath              │

              │               top       top                    │

              │               free      free                   │

              │               ps        ps                     │

              │               netstat   netstat                │

              │               lsof      lsof                   │

              │               iftop     iftop                  │

              │               log       log                    │

              │                                                │

              │                                                │

              │           <Ok>               <Cancel>          │

              │                                                │

              └────────────────────────────────────────────────┘

提示

 

此地运用的点子是给客商提供叁个分界面包车型客车主意,别的还可能有越来越好的方案,你能够些二个Shell的外壳,你需求贯彻

 

与Shell同样的升迁符

 

提供TAB补齐

 

上下光标键翻看历史命令,左右光标更改地方,Home/End 键到行首与行尾

 

Ctrl+R 搜索, Ctrl+D 退出

 

Ctrl+S,Ctrl+Q 等等

 

流程

 

顾客输入 -> 关键字过滤 -> 放行

比方客商输入 cd / 经过过滤器后, cd /home/usr/

 

举个例子客商输入 cd /aaa 经过过滤器后, cd /home/usr/aaa

 

rm -rf /usr/local 提醒拒绝等等

 

自家已经使用python达成地点的好些个成效(因为python受到广大限制)假设使用C能够百分百完毕,须求你的想想力了

 

1.2. .history 文件

 

SA的操作记录难点

 

通过~/.bash_history文件记录系统管理员的操作记录,定制.bash_history格式

 

HISTSIZE=1000

HISTFILESIZE=2000

HISTTIMEFORMAT="%Y-%m-%d-%H:%M:%S "

export HISTTIMEFORMAT

看看实际效果

 

$ history | head

    1  2012-02-27-09:10:45 do-release-upgrade

    2  2012-02-27-09:10:45 vim /etc/network/interfaces

    3  2012-02-27-09:10:45 vi /etc/network/interfaces

    4  2012-02-27-09:10:45 ping www.163.com

  1. 一时文件安全

一时文件不应有有实行权限

 

/tmp

 

/dev/sda3 /tmp ext4 nosuid,noexec,nodev,rw 0 0

并且利用标识连接将/var/tmp 指向 /tmp

 

/dev/shm

 

none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0

  1. 别的安全难点

/etc/sudoers

 

Cmnd_Alias WEBMASTER = /usr/local/webserver/nginx/sbin/nginx, /usr/local/webserver/php/sbin/php-fpm, !/usr/local/webserver/mysql/bin/*

www localhost = NETWORKING, SERVICES, DELEGATING, PROCESSES, WEBMASTER

 

Cmnd_Alias Database = /usr/bin/mysqldump, /srv/mysql/bin/mysql, /u01/oracle/10.x.x/bin/sqlplus

oralce localhost = NETWORKING, SERVICES, DELEGATING, PROCESSES, WEBMASTER, Database

行使www顾客测量检验登陆,精确后修改SSH配置文件,禁止root登陆。

 

vim /etc/ssh/sshd_config

PermitRootLogin no

接下来在测量检验从www su 到root

 

4. 

自律22等端口,防止相互跳转

 

lokkit --enabled

iptables -F

iptables -A OUTPUT -p tcp -m multiport --dports 22,21,2049 -j REJECT

/etc/init.d/iptables save

iptables -L -n

web 服务器禁绝行使ssh,作为跳板机

 

客户将无法运用ssh命令登入到另外Computer

 

  1. 数据库安全

大家以MySQL为例,批注如何调整DBA权限。稍加修改就能够用于oracle等服务器

 

DBA 未有系统SSH帐号,独有数据库帐号

 

系统管理员只能有SSH系统帐号,未有数据库帐号

 

DBA 可备份数据库,还原数据库钦赐的备份文件,不过接触不到备份文件

 

DBA 有权重启数据库以及修复损坏库/表文件,通过工具达成,并非登入SSH运转命令

 

5.1. 数据库程序安全

 

rpm, deb 等等包安装mysql后暗许权限是 755

 

$ ll /usr/bin/mysql*

-rwxr-xr-x 1 root root  132132 2012-02-28 01:33 /usr/bin/mysql*

-rwxr-xr-x 1 root root  111572 2012-02-28 01:31 /usr/bin/mysqlaccess*

-rwxr-xr-x 1 root root   32468 2012-02-28 01:33 /usr/bin/mysqladmin*

-rwxr-xr-x 1 root root 2030768 2011-09-14 23:04 /usr/bin/mysql-admin*

lrwxrwxrwx 1 root root      10 2012-02-28 01:33 /usr/bin/mysqlanalyze -> mysqlcheck*

-rwxr-xr-x 1 root root  147288 2012-02-28 01:33 /usr/bin/mysqlbinlog*

-rwxr-xr-x 1 root root   12006 2012-02-28 01:31 /usr/bin/mysqlbug*

-rwxr-xr-x 1 root root   24940 2012-02-28 01:33 /usr/bin/mysqlcheck*

-rwxr-xr-x 1 root root  451016 2012-02-28 01:33 /usr/bin/mysql_client_test*

-rwxr-xr-x 1 root root 7246484 2012-02-28 01:33 /usr/bin/mysql_client_test_embedded*

-rwxr-xr-x 1 root root    4245 2012-02-28 01:31 /usr/bin/mysql_convert_table_format*

-rwxr-xr-x 1 root root   23943 2012-02-28 01:31 /usr/bin/mysqld_multi*

-rwxr-xr-x 1 root root   16642 2012-02-28 01:32 /usr/bin/mysqld_safe*

-rwxr-xr-x 1 root root  101636 2012-02-28 01:33 /usr/bin/mysqldump*

-rwxr-xr-x 1 root root    7402 2012-02-28 01:31 /usr/bin/mysqldumpslow*

-rwxr-xr-x 1 root root    3315 2012-02-28 01:31 /usr/bin/mysql_find_rows*

-rwxr-xr-x 1 root root    1261 2012-02-28 01:31 /usr/bin/mysql_fix_extensions*

-rwxr-xr-x 1 root root    5834 2012-02-28 01:31 /usr/bin/mysql_fix_privilege_tables*

-rwxr-xr-x 1 root root   32477 2012-02-28 01:31 /usr/bin/mysqlhotcopy*

-rwxr-xr-x 1 root root   24584 2012-02-28 01:33 /usr/bin/mysqlimport*

-rwxr-xr-x 1 root root   14657 2012-02-28 01:31 /usr/bin/mysql_install_db*

lrwxrwxrwx 1 root root      10 2012-02-28 01:33 /usr/bin/mysqloptimize -> mysqlcheck*

-rwxr-xr-x 1 root root 2006884 2011-09-14 23:04 /usr/bin/mysql-query-browser*

lrwxrwxrwx 1 root root      10 2012-02-28 01:33 /usr/bin/mysqlrepair -> mysqlcheck*

-rwxr-xr-x 1 root root   39016 2012-02-28 01:32 /usr/bin/mysqlreport*

-rwxr-xr-x 1 root root    8066 2012-02-28 01:31 /usr/bin/mysql_secure_installation*

-rwxr-xr-x 1 root root   17473 2012-02-28 01:31 /usr/bin/mysql_setpermission*

-rwxr-xr-x 1 root root   23716 2012-02-28 01:33 /usr/bin/mysqlshow*

-rwxr-xr-x 1 root root   45884 2012-02-28 01:33 /usr/bin/mysqlslap*

-rwxr-xr-x 1 root root  208148 2012-02-28 01:33 /usr/bin/mysqltest*

-rwxr-xr-x 1 root root 6960852 2012-02-28 01:33 /usr/bin/mysqltest_embedded*

-rwxr-xr-x 1 root root 1334028 2012-02-28 01:33 /usr/bin/mysql_tzinfo_to_sql*

-rwxr-xr-x 1 root root   64728 2012-02-28 01:33 /usr/bin/mysql_upgrade*

-rwxr-xr-x 1 root root  149836 2012-02-28 01:33 /usr/bin/mysql_waitpid*

-rwxr-xr-x 1 root root    2108 2012-02-22 01:28 /usr/bin/mysql-workbench*

-rwxr-xr-x 1 root root 9885312 2012-02-22 01:29 /usr/bin/mysql-workbench-bin*

-rwxr-xr-x 1 root root    3888 2012-02-28 01:31 /usr/bin/mysql_zap*

从平安角度缅怀大家供给如下改造

 

chown mysql:mysql /usr/bin/mysql*

chmod 700 /usr/bin/mysql*

mysql顾客是DBA专项使用顾客

 

5.2. 数据库用户端安全

 

DBA无需经过SSH登陆数据库服务器,然后运维mysql/sqlplus在登陆数据库

 

5.2.1. bind-address

 

若是web与database 在一台机器上

 

bind-address = 127.0.0.1

5.2.2. mysql 管理

 

$ cat ../database/mysqltui

#!/bin/bash

TITLE="MySQL Client"

 

HOST=$(whiptail --title "$TITLE" --menu "MySQL Host" 22 50 8

"127.0.0.1" "localhost"

"172.16.0.1" "MySQL Master"

"172.16.0.2" "MySQL Slave 1"

"172.16.0.3" "MySQL Slave 2"  

3>&1 1>&2 2>&3)

 

 

 

USER=$(whiptail --inputbox "MySQL User:" 8 60 --title "$TITLE" 3>&1 1>&2 2>&3)

 

PASSWD=$(whiptail --title "$TITLE" --passwordbox "MySQL Password:" 8 60 3>&1 1>&2 2>&3)

 

#DATABASE=$(mysqlshow -h$HOST -u$USER | egrep -o "|w(.*)w|" | grep -v "Databases" |awk '{print """$1"" ""$1"""}')

#DATABASE=$(mysqlshow -h$HOST -u$USER | egrep -o "|w(.*)w|" | grep -v "Databases" |awk "{print "$1" "$1"}")

 

#DB=$(whiptail --title "$TITLE" --menu "MySQL DATABASE" 22 50 8 $DATABASE  3>&1 1>&2 2>&3)

 

DATABASE=$(whiptail --inputbox "MySQL Database:" 8 60 --title "$TITLE" 3>&1 1>&2 2>&3)

 

echo $HOST $USER $PASSWD $DATABASE

 

mysql -h$HOST -u$USER -p$PASSWD $DATABASE

┌───┤ MySQL Adminstrator ├───┐

             │ Menu                       │

             │                            │

             │       1 MySQL Manager      │

             │       2 MySQL Backup       │

             │       2 MySQL Restore      │

             │                            │

             │                            │

             │    <Ok>        <Cancel>    │

             │                            │

             └────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │ Database Host                        │

        │                                      │

        │        127.0.0.1  localhost          │

        │        172.16.0.1 mysql master       │

        │        172.16.0.2 mysql slave        │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

/etc/php5/fpm/pool.d/www.conf

 

┌────────┤ MySQL Adminstrator ├────────┐

        │ User                                 │

        │                                      │

        │ root________________________________ │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

 

        ┌────────┤ MySQL Adminstrator ├────────┐

        │ Password                             │

        │                                      │

        │ ****________________________________ │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

进入mysql客户端

 

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 503

Server version: 5.1.58-1ubuntu1 (Ubuntu)

 

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

This software comes with ABSOLUTELY NO WARRANTY. This is free software,

and you are welcome to modify and redistribute it under the GPL v2 license

 

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

 

mysql>

安全提示

 

从平安角度看,你能够去掉输入密码的长河。在巅峰提醒符下输入

 

Enter password:

 

还是能写入~/.my.conf文件

 

这样ssh [email protected]的时候输入第一道密码,然后进入mysql无需输入密码

 

假定需求输入密码对话到提议删除.bash_history

 

rm -rf .bash_history

 

ln -s /dev/null .bash_history

 

5.2.3. ~/.mysql_history

 

通过~/.mysql_history文件记录DBA操作记录

 

布署时间点,在~/.bashrc中投入上面发号施令

 

cat >> ~/.bashrc <<EODdd

echo `date` >> ~/.mysql_dhistory

EOD

$ tail ~/.bashrc

echo `date` >> ~/.mysql_history

查阅实效

 

$ tail ~/.mysql_history

EXPLAIN SELECT * FROM stuff where id=3 G

EXPLAIN SELECT * FROM stuff where id='3' G

EXPLAIN SELECT * FROM stuff where id='2' G

Mon Feb 27 09:15:18 CST 2012

EXPLAIN SELECT * FROM stuff where id='2' and created = '2012-02-01' G

EXPLAIN SELECT * FROM stuff where id='1' and created = '2012-02-01' G

EXPLAIN SELECT * FROM stuff where id='3' and created = '2012-02-01' G

EXPLAIN SELECT * FROM stuff where id='2' and created = '2012-02-01' G

EXPLAIN SELECT * FROM stuff where id='2' or created = '2012-02-01' G

EXPLAIN SELECT * FROM stuff where id='2' and created = '2012-02-01' G

Mon Feb 27 11:48:37 CST 2012

5.3. mysqldump 安全

 

5.3.1. 数据备份

 

MySQL Client

             ┌───┤ MySQL Adminstrator ├───┐

             │ Menu                       │

             │                            │

             │       1 MySQL Manager      │

             │       2 MySQL Backup       │

             │       2 MySQL Restore      │

             │                            │

             │                            │

             │    <Ok>        <Cancel>    │

             │                            │

             └────────────────────────────┘

MySQL Client

        ┌────────┤ MySQL Adminstrator ├────────┐

        │ Database Host                        │

        │                                      │

        │        127.0.0.1  localhost          │

        │        172.16.0.1 mysql master       │

        │        172.16.0.2 mysql slave        │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │ User                                 │

        │                                      │

        │ root________________________________ │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

 

        ┌────────┤ MySQL Adminstrator ├────────┐

        │ Password                             │

        │                                      │

        │ ****________________________________ │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │ Backup File Name                     │

        │                                      │

        │ 2010-12-12.01:00:00_________________ │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │                                      │

        │ Backup?                              │

        │                                      │

        │                                      │

        │        <Yes>           <No>          │

        │                                      │

        └──────────────────────────────────────┘

5.3.2. 数据复苏

 

MySQL Client

             ┌───┤ MySQL Adminstrator ├───┐

             │ Menu                       │

             │                            │

             │       1 MySQL Manager      │

             │       2 MySQL Backup       │

             │       2 MySQL Restore      │

             │                            │

             │                            │

             │    <Ok>        <Cancel>    │

             │                            │

             └────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │ Database Host                        │

        │                                      │

        │        127.0.0.1  localhost          │

        │        172.16.0.1 mysql master       │

        │        172.16.0.2 mysql slave        │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │ Backup History                       │

        │                                      │

        │        1  2010-12-03 03:00:00        │

        │        2  2012-01-01 02:00:00        │

        │        3  2012-02-01 02:00:00        │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │ User                                 │

        │                                      │

        │ root________________________________ │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

 

        ┌────────┤ MySQL Adminstrator ├────────┐

        │ Password                             │

        │                                      │

        │ ****________________________________ │

        │                                      │

        │       <Ok>           <Cancel>        │

        │                                      │

        └──────────────────────────────────────┘

┌────────┤ MySQL Adminstrator ├────────┐

        │                                      │

        │ Restore?                             │

        │                                      │

        │                                      │

        │        <Yes>           <No>          │

        │                                      │

        └──────────────────────────────────────┘

5.4. crontab 定时备份脚本于平安

 

网络备份脚本相当多,但思考都不周到。

 

此地扩大了 umask 0077 保险开创备份文件只可以是创立者跟root能够访谈,别的顾客未有权限,保险了备份档案的平安。

 

find $BACKUP_DI驭胜 -type f -mtime +$COPIES -delete 是承受备份的份数管理, 过期数据按期删除

 

成立专项使用的备份帐号

 

grant select, lock tables on *.* to 'backup'@'192.168.1.200' identified by "123456";

crontab 备份脚本

 

# cat /srv/bin/backup

 

#!/bin/bash

###################################

# $Id: security.xml 500 2012-12-04 09:01:55Z netkiller $

# Author: [email protected]

# Home:

###################################

BACKUP_HOST="localhost"

BACKUP_USER="backup"

BACKUP_PASS=""

BACKUP_DIR=/opt/backup

BACKUP_DBNAME="test neo"

#Number of copies

COPIES=7

####################################

MYSQLDUMP="mysqldump"

#TIMEPOINT=$(date -u +%Y-%m-%d)

TIMEPOINT=$(date -u +%Y-%m-%d.%H:%M:%S)

MYSQLDUMP_OPTS="-h $BACKUP_HOST -u$BACKUP_USER -p$BACKUP_PASS"

####################################

umask 0077

test ! -d "$BACKUP_DIR" && mkdir -p "$BACKUP_DIR"

test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0

 

for dbname in $BACKUP_DBNAME

do

    test ! -d "$BACKUP_DIR/$dbname" && mkdir -p "$BACKUP_DIR/$dbname"

 

    $MYSQLDUMP $MYSQLDUMP_OPTS $dbname | gzip > $BACKUP_DIR/$dbname/$dbname.$TIMEPOINT.sql.gz

done

find $BACKUP_DIR -type f -mtime +$COPIES -delete

/srv/bin/backup 安全也主要,不然会败露备份客户的密码

 

# chown mysql:mysql /srv/bin/backup

# chmod 500 /srv/bin/backup

mysqldump 的安全

 

# chown 700 /usr/bin/mysqldump

5.5. 数据库归档文件

 

日常数据库服务器上能够保存一周的备份数据,历史数据供给保留到服务器以外的带库恐怕阵列柜中,怎么着保险那些多少的广安呢? 大家选用下面格局

 

创制PGP/GPG密钥,密钥放置在数据库服务器上,证书做好备份,不然一旦错过,将无法在将备份文件恢复生机

 

数据库备份后,首先实行压缩管理

 

接下来利用公钥证书实行GPG/PGP数据加密

 

那时候可以放心的将备份数据库搬出数据库服务器到带库或磁盘阵列柜中

 

重振旗鼓数据,将数据库备份文件复制到该数据库服务器,然后用私钥解密备份文件,再回复到数据库到中

 

5.6. 开辟与测验意况的数据库安全难点

 

有时要求将生育景况的多寡复制到开垦条件上,举例,测验的时候,重现bug须求实际数据,开荒情形的优孟衣冠数据无法满意必要,那时急需将生育处境的数码拉到测量试验或支付情形。倘若保险数据的平安万分首要。

 

最可行的伎俩是数量混淆,将首要的数目开展模糊侵扰顺序等等

 

打扰手段有

 

混淆是非顺序

曾加忧虑词

重新恢复设置或沟通数据,比方密码可以全方位改为test (update user set passwd='test')

拼装数据 如 (131,137,135,133,139,138,168)前边加8位随机数

5.7. 与数据库有关的服务器安全难点

 

任何服务器无法设置mysql顾客端与mysqldump备份工具

 

举例说:web服务器只可以通过php/jdbc/odbc等链接mysql数据库, web服务器卸载 mysql,mysqldump工具,制止客户登陆查询以及将数据库远程备份,然后通过web下载数据库

 

# adduser www

# passwd www

# chmod 500 -R /usr/local/webserver/mysql/bin/*

# chown root:root -R /usr/local/webserver/mysql/bin/*

 

1. 帐号安全 帐号权限安全 1.1. Shell 安全 要求:限制客商权限,仅提供一些linux常用命令,顾客监察和控制linux系统于互连网运维...

本文由9159.com发布于www.9159.com,转载请注明出处:3、服务器本身的TCP/IP连接数,切换到其他数据库

关键词: