Endurecimiento de la base de datos

Tabla de contenido

Refuerzo MySQL

Implementar MySQL

1.安装MySql
yum install mariadb mariadb-server -y


2.启动MySql服务
systemctl start mariadb.service


3.启动MySql,默认为空密码
mysql -uroot -p

# 修改root密码
update mysql.user set password=password('123123') where user='root';

# 刷新密码
flush privileges;


4.重新用密码登录mysql
mysql -uroot -p123123

Olvidé la contraseña de root

1.修改配置文件
vim /etc/my.cnf
# 在 [mysqld] 中加入如下参数,就可以免密登录了
skip-grant-tables

2.重启mysql
systemctl restart mariadb.service

3.登录MySQL,修改root密码,空密码
mysql -uroot -p
update mysql.user set password=password('123123') where user='root';

4.删除配置文件的skip-grant-tables参数

5.重启mysql
systemctl restart mariadb.service

Eliminar bases de datos y usuarios inútiles

1.删除测试库
show databases;
drop database test;


2.删除非root用户
delete from mysql.user where not (user='root');


3.删除密码为空的root用户
delete from mysql.user where user='root' and password='';
flush privileges;

Cambiar nombre de usuario de DBA

Utilice actualización para actualizar la información en la tabla de usuarios en la biblioteca mysql

update mysql.user set user="luobo" where user="root";
flush privileges;

Utilice algoritmos de cifrado al administrar cuentas

Al agregar una cuenta, la contraseña se cifra.

1.创建测试文件
create database test default charset utf8;
create table test.t1(id int(10),name varchar(20),pass varchar(20));


2.!!!创建加密密码
insert into test.t1 values (1,'test',password(1111111));

Cambiar usuario de inicio de Mysql

1.修改my.cnf文件
vim /etc/my.cnf

# 加入如下内容
[mysqld]
user=mysql

2.重启mysql
systemctl restart mariadb.service

Limitar el número de conexiones remotas

1.修改my.cnf文件,去掉注释符号
vim /etc/my.cnf

# 加入如下内容
[mysqld]
max_connections=5
max_user_connections=2


2.重启mysql
systemctl restart mariadb.service

Cerrar la base de datos de gestión remota

De esta forma, otros usuarios no pueden conectarse a la base de datos mediante el parámetro -h.

1.修改my.cnf文件,添加或去掉注释符号
vim /etc/my.cnf

# 添加如下内容
[mysqld]
skip-networking


2.重启mysql
systemctl restart mariadb.service

Limpiar el historial de comandos de MySql

1.注意清理家目录中的.mysql_history
ln -s /dev/null /root/.mysql_history

2.禁止使用明文模式登录mysql
mysql -uroot -p123123

3.应使用隐藏密码方式
mysql -uroot -p

Deshabilite MYSql para que no lea archivos locales

1.修改my.cnf文件,加入关闭信息
vim /etc/my.cnf

# 添加如下内容
[mysqld]
local_infile=0



或者secure_file_priv=
为空时不能查看
如果secure_file_priv的值为NULL,那么就不能将文件写进数据库中
secure_file_priv为某一目录
只能操作特定目录的文件,其余不能


2.重启mysql
systemctl restart mariadb.service



或者添加启动选项
用脚本开启mysql的禁止读取本地文件功能
mysqld_safe --local_infile=0 --user=mysql

load_file()
puede ver directamente
select load_file("E:/Desktop/2.txt");

Deshabilitar la exportación de tablas a archivos

1.在mysql中修改用户的文件权限
update mysql.user set File_priv='N' where user='root';

2.刷新权限
flush privileges;


3.检查配置文件是否存在不合理信息
grep secure_file_priv /etc/my.cnf
secure_file_priv=xxx路径

Base de datos de respaldo diario

1.添加配置文件
vim my.cnf
[mysqld]
# 开启binlog功能
log-bin=mysql-bin


2.手动备份数据库可以防止密码铭文储存
mysqldump -p123123 --user=root --all-databases --flush-privileges --lock-all-tables --master-data=1 --flush-logs --triggers --routines --events --hex-blob > /opt/$(date +%F).sql


3.删除测试数据库
drop database test;


4.还原数据库
mysql -u用户名 -p密码  数据库名 < 备份的文件名
mysql -uroot -p123123  < /opt/2023-06-05.sql 

refuerzo redis

Implementar Redis

1.安装编译安装需要的gcc环境
yum install gcc gcc-c++ -y

2.解压redis
tar fx redis-5.0.7.tar.gz 

3.移动redis到 /usr/local目录下
cp -r redis-5.0.7 /usr/local/redis

4.切换到 /usr/local/redis/
cd /usr/local/redis/

5.编译安装
make && make install

6.启动redis服务
/usr/local/redis/src/redis-server &


7.测试客户端连接
/usr/local/redis/src/redis-cli 
# 验证密码 
auth 123123


!!! 重启redis服务,读取配置文件
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf  &

Deshabilitar el acceso de red al servicio Redis

Cambie el archivo de configuración para que el servicio escuche en la dirección de loopback local

修改redis的配置文件

vim /usr/local/redis/redis.conf 
# 确保开启仅本地绑定连接
bind 127.0.0.1

Configurar un firewall para filtrar el tráfico

Configure el firewall de iptables para garantizar la seguridad de la fuente de acceso

# 设置iptables防火墙,确保访问源安全
iptables -A INPUT -s 10.0.1.110 -p tcp --dport 6379 -j ACCEPT

Deshabilitar comandos de alto riesgo

1.编辑配置文件
# 在配置文件中,更名为空白或者改为自定义命令
vim /usr/local/redis/redis.conf 
rename-command CONFIG ""
rename-command flushall ""
rename-command flushdb ""
rename-command shutdown "shutdown_test"

2.重启redis服务,读取配置文件
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf  &

Activar la verificación de contraseña

Establecer una contraseña de ejecución en el archivo de configuración

1.编辑配置文件
vim /usr/local/redis/redis.conf 
# 开启密码验证
# requirepass foobared
requirepass 123123


2.重启redis,读取配置文件
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf  &

3.密码验证
/usr/local/redis/src/redis-cli
auth 123123

Ejecute el programa principal como usuario con privilegios mínimos.

Cree una cuenta normal y use la cuenta normal para ejecutar el programa

1.创建普通用户
useradd -s /sbin/nologin redis

2.切换到普通用户,运行redis
su -m redis -c /usr/local/redis/src/redis-server /usr/local/redis/redis.conf

3.查看运行进程属于哪个用户
[root@bogon ~]# lsof -i:6379
COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 53719 redis    6u  IPv6  94757      0t0  TCP *:6379 (LISTEN)
redis-ser 53719 redis    7u  IPv4  94758      0t0  TCP *:6379 (LISTEN)

Copia de seguridad y restaurar

!!!备份数据
1.备份数据库
127.0.0.1:6379> bgsave

# 获取备份数据的安装目录
127.0.0.1:6379> config get dir
1) "dir"
2) "/root"


2.查看备份数据
[root@bogon src]# ls /root/ |grep dump
dump.rdb



!!!还原数据
将备份好的文件放到安装目录,重启服务器即可

refuerzo mongodb

desplegar

1.解压mongodb
tar fx mongodb-linux-x86_64-rhel70-4.2.3.tgz

2.移动并重命名
cp -r mongodb-linux-x86_64-rhel70-4.2.3 /usr/local/mongodb

3.切换到/usr/local/mongodb/
cd /usr/local/mongodb/

4.创建目录
mkdir -p data/db logs etc

5.创建并写入配置文件
vim /usr/local/mongodb/etc/mongodb.conf
dbpath=/usr/local/mongodb/data/db
logpath=/usr/local/mongodb/logs/mongodb.log
fork=true
journal=false


6.启动mongodb
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf

6.5关闭mongodb
/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/etc/mongodb.conf


7.查看端口
lsof -i:27017


8.连接mongodb
/usr/local/mongodb/bin/mongo

# 查看数据库
show dbs;

# 切换到数据库admin
use admin

Determinar la ubicación de almacenamiento de registros y bases de datos.

Establezca la ubicación del directorio señalado en el archivo de configuración

1.创建并添加配置文件
vim /usr/local/mongodb/etc/mongodb.conf 

# 数据存放路径
dbpath=/usr/local/mongodb/data/db
# 日志存放路径
logpath=/usr/local/mongodb/logs/mongodb.log


2.重启mongodb,使配置生效
# 关闭mongodb
/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/etc/mongodb.conf

# 启动mongodb
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf

Cambiar puerto predeterminado

1.修改配置文件
vim /usr/local/mongodb/etc/mongodb.conf
# 更改默认端口
port=28888


2.重启mongodb
# 关闭mongodb
/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/etc/mongodb.conf

# 启动mongodb
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf


3.连接mongo时使用密令加选项
/usr/local/mongodb/bin/mongo --port 28888

Monitorear solo la tarjeta de red del flujo comercial

Agregar información del puerto en el archivo de configuración

1.修改配置文件
vim /usr/local/mongodb/etc/mongodb.conf 
# 加入网卡绑定信息
bind_ip=10.0.1.110


2.重启mongodb
# 关闭mongodb
/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/etc/mongodb.conf

# 启动mongodb
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf


3.登录时需输入
/usr/local/mongodb/bin/mongo 10.0.1.110:27017

Activar la función de autenticación

Habilitar la autenticación en el archivo de configuración

1.无认证状态下对数据库操作
# 连接mongodb
/usr/local/mongodb/bin/mongo

# 切换到admin
use admin

# 创建认证用户
db.createUser({user:"test1",pwd:"123.com",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})


2.!!!自建配置文件,开启认证功能
vim /usr/local/mongodb/etc/mongodb.conf
# 加入如下参数
auth=true


3.重启服务
# 关闭mongodb
/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/etc/mongodb.conf

# 启动mongodb
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf


4.再次创建test2,发现失败,需要先认证用户名密码后再执行
# 连接mongodb
/usr/local/mongodb/bin/mongo

# 切换到admin
use admin

# 此时创建是不通过的,需要认证后才能创建
db.createUser({user:"test2",pwd:"123.com",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})


5.输入认证命令后,再次创建,成功创建
db.auth('test1','123.com')
# 再次创建,发现可以成功创建了
db.createUser({user:"test2",pwd:"123123",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

Copia de seguridad y recuperación

Dado que la autenticación está activada, es necesario crear una cuenta dedicada

1.连接mongodb
/usr/local/mongodb/bin/mongo
# 切换admin
use admin
# 认证命令
db.auth('test1','123.com')


2.创建备专用份账户
db.createUser({user:"bkuser",pwd:"123123",roles:[{role:"backup",db:"admin"}]})


3.创建专用恢复账户
db.createUser({user:"reuser",pwd:"123123",roles:[{role:"restore",db:"admin"}]})


4.使用备份账户备份指定数据库
# 备份admin数据库到/tmp目录中
/usr/local/mongodb/bin/mongodump  --host 127.0.0.1 --port 27017 -d admin -o /tmp/ -u bkuser -p 123123 --authenticationDatabase admin


5.使用恢复账户恢复数据库
/usr/local/mongodb/bin/mongorestore  --host 127.0.0.1 --port 27017 -u reuser -p 123123 -d mytest /tmp/admin --authenticationDatabase admin


6.查看添加的mytest文件
# 连接mongodb
/usr/local/mongodb/bin/mongo
# 切换到admin
use admin
# 输入认证命令
db.auth('test1','123.com')
# 查看所有数据库,发现多了一个mytest
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
mytest  0.000GB   !!!

MSSQL

MSSql=Servidor_Sql

Modificar la información de inicio de sesión del administrador

Modificación de SQL Server Management Studio

Cambiar el nombre de usuario y la contraseña de una cuenta sa

doble denominación

Seguridad → Iniciar sesión → sa (clic derecho: Cambiar nombre)

Insertar descripción de la imagen aquí

cambiar la contraseña

Seguridad→Iniciar sesión→sa(clic derecho:Propiedades)

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

Minimizar los permisos de operación

Seguridad → Iniciar sesión (clic derecho: Nuevo inicio de sesión)

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

Cada rol de servidor tiene permisos diferentes, elija según las necesidades reales
Insertar descripción de la imagen aquí

Cada rol de base de datos tiene diferentes permisos, elija según las necesidades reales

Insertar descripción de la imagen aquí

Clasificación de roles de servidor

sysadmin:固定服务器角色的成员可以在服务器中执行任何活动
serveradmin:固定服务器角色的成员可以更改服务器范围内的配置选项并关闭服务器
securityadmin:固定服务器角色的成员管理登录名及其属性。他们可以GRANT、DENY和REVOKE 服务器级权限。他们还可以GRANT、DENY和REVOKE 数据库级权限(如果他们具有数据库的访问权限)。此外,他们还可以重置 SQL Server 登录名的密码。
processadmin:固定服务器角色的成员可以终止在SQLServer 实例中运行的进程
setupadmin:固定服务器角色的成员可以添加和删除链接服务器
bulkadmin:固定服务器角色的成员可以运行BULKINSERT语
diskadmin:固定服务器角色用于管理磁盘文件
dbcreator:固定服务器角色的成员可以创建、更改、删除和还原任何数据库
public:每个SQLServer 登录名均属于 public 服务器角色

Clasificación de roles de base de datos

db_owner:固定数据库角色的成员可以执行数据的所有配置和维护活动,还可以删除数据库
db_securityadmin:固定数据库角色的成员可以修改色成员身份和管理权限。向角色中添加主体可能会导致意外的权限升级
db_accessadmin:周定数据库角色的成员可以为 Windows 登录名、Windows组和SQLServer 登录名添加或删除数据库访问权限
db_backupoperator:固定数据库角色的成员可以备份数据库
db_ddladmin:固定数据角色的成员可以在数据中运行任何数据定义语言(DDL)命令
db_datawriter:固定数据库角色的成员可以在所有用户表中添加删除或更改数据db_datareader:固定数据库角色的成员可以从所有用户表中读取所有数据
db_denydatawriter:固定数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据
db_denydatareader: 固定数据库角色的成员不能读取数据库内用户表中的任何数据

Deshabilitar el inicio de sesión del administrador del sistema en la base de datos

Seguridad→Iniciar sesión→WINxxx\Administrador→Propiedades→Estado

Insertar descripción de la imagen aquí

Habilitar el seguimiento de cambios en la base de datos

Base de datos → Base de datos del sistema → base de datos → Propiedades → Seguimiento de cambios

Insertar descripción de la imagen aquí

Copia de seguridad remota del registro de transacciones

Base de datos (clic derecho: Nueva base de datos)
Insertar descripción de la imagen aquí

Base de datos→prueba (clic derecho: Propiedades)→Transferencia de registro de transacciones→Configuración de copia de seguridad

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

Cambiar el registro de auditoría de inicio de sesión

Instancia de conexión (clic derecho: Propiedades) → Seguridad

Insertar descripción de la imagen aquí

Deshabilitar el inicio de sesión remoto en la base de datos

Conectar instancia (clic derecho: Propiedades) → Conectar

Insertar descripción de la imagen aquí

Eliminar procedimientos almacenados riesgosos

Base de datos → Base de datos del sistema → Programabilidad → Procedimientos almacenados extendidos → Procedimientos almacenados extendidos del sistema → Eliminar procedimientos almacenados innecesarios según las condiciones reales

Insertar descripción de la imagen aquí

Modificar la dirección de escucha de la tarjeta de red

Si necesita iniciar el protocolo de red, se recomienda modificar la configuración TCP/IP

Modificaciones del Administrador de configuración de SQL_Server

Configuración de red de SQL Server (32 bits) → Protocolo MSSQLSERVER → TCP/IP (haga clic derecho: Propiedades) → Dirección IP

Insertar descripción de la imagen aquí

Cree una cuenta de servicio de inicio con privilegios mínimos

Cree una nueva cuenta en lusrmgr.msc, elimínela del grupo de usuarios y elimine el control remoto

Insertar descripción de la imagen aquí

Eliminar grupo de usuarios

Insertar descripción de la imagen aquí

Quitar el control remoto

Insertar descripción de la imagen aquí

Abra el administrador de configuración de sqlserver y modifique las propiedades del servicio.

Servicio SQL Server → SQL Server (haga clic derecho: Propiedades)

Insertar descripción de la imagen aquí

Cambie la cuenta al usuario de prueba recién creado

Insertar descripción de la imagen aquí

En este momento, se prueba la identidad de inicio de sesión del servidor Sql.

Insertar descripción de la imagen aquí

Si necesita iniciar el protocolo de red, se recomienda modificar la configuración TCP/IP

Modificaciones del Administrador de configuración de SQL_Server

Configuración de red de SQL Server (32 bits) → Protocolo MSSQLSERVER → TCP/IP (haga clic derecho: Propiedades) → Dirección IP

[Las imágenes del enlace externo se están transfiriendo...(img-JG0V6EkB-1686133995231)]

Cree una cuenta de servicio de inicio con privilegios mínimos

Cree una nueva cuenta en lusrmgr.msc, elimínela del grupo de usuarios y elimine el control remoto

Crear una nueva cuenta de prueba [las imágenes del enlace externo se están transfiriendo...(img-Ckc2kOrH-1686133995232)]

Eliminar grupo de usuarios

[Las imágenes del enlace externo se están transfiriendo...(img-J5IkKKGH-1686133995232)]

Quitar el control remoto

[Las imágenes del enlace externo se están transfiriendo...(img-scDdhL5v-1686133995232)]

Abra el administrador de configuración de sqlserver y modifique las propiedades del servicio.

Servicio SQL Server → SQL Server (haga clic derecho: Propiedades)

[Las imágenes del enlace externo se están transfiriendo...(img-aeRtU1Wt-1686133995233)]

Cambie la cuenta al usuario de prueba recién creado

[Las imágenes del enlace externo se están transfiriendo...(img-2xddUNfV-1686133995233)]

En este momento, se prueba la identidad de inicio de sesión del servidor Sql.

[Las imágenes del enlace externo se están transfiriendo...(img-12qjiBms-1686133995233)]

Supongo que te gusta

Origin blog.csdn.net/m0_51553670/article/details/131093775
Recomendado
Clasificación