日期:2014-05-16  浏览次数:20650 次

Linux 系统与数据库安全

?

Linux 系统与数据库安全

?

http://netkiller.github.com/article/security.html

?

Mr.?Neo Chen?(netkiller),?陈景峰(BG7NYT)


摘要

Linux 系统安全问题

下面是我多年积累下来的经验总结,整理成文档供大家参考:

?

Netkiller Architect 手札 Netkiller Linux 手札 Netkiller Developer 手札 Netkiller Database 手札
Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札
Netkiller Web 手札 Netkiller Monitoring 手札 Netkiller Storage 手札 Netkiller Mail 手札
Netkiller Security 手札 Netkiller Multimedia 手札 Netkiller Writer 手札 Netkiller Version 手札
Netkiller PostgreSQL 手札 Netkiller MySQL 手札 Netkiller Cryptography 手札 Netkiller Cisco IOS 手札
Netkiller LDAP 手札 Netkiller Intranet 手札

?


目录

1. 帐号安全
1.1. Shell 安全
1.2. .history 文件
2. 数据库安全
2.1. 数据库客户端安全
2.1.1. mysql 管理
2.1.2. ~/.mysql_history
2.2. mysqldump 安全
2.2.1. 数据备份
2.2.2. 数据恢复
2.3. 数据库归档文件
2.4. 开发与测试环境的数据库安全问题
3. 其他安全问题
3.1. 与数据库有关的服务器安全问题

1.?帐号安全

帐号权限安全

1.1.?Shell 安全

需求:限制用户权限,仅提供一些linux常用命令,用户监控linux系统于网络运行情况,不允许用户ssh登录后随意运行linux命令

  1. 用户不能进入到Shell环境

    例如普通用户一旦登录web服务器可以看到web程序中的数据库配置

  2. 用户可以了解OS工作状态如内存,cpu,网络等等

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

  3. 可以查看系统部分日志

    例如: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 "$TI