一、redis的配置规范
1.1 禁止以root账号运行redis服务
以下Linux 命令操作创建了一个无 home 目录权限,且无法登录的普通账号redis。 #useradd -M -s /sbin/nologin redis 修改服务允许和配置文件权限: #setsid sudo -u redis /usr/bin/redis-serer /etc/redis/redis.conf
1.2配置redis配置文件权限最小化 查看redis.conf 的访问权限
#/bin/ls –l 查看下列日志文件权限 , 设置权限为仅redis 用户可以进行读写操作 /usr/bin/chmod 600 /etc/redis/redis.conf
redis审计日志文件权限最小化
chmod + 600 (filename)
查看redis审计日志文件redis.log
1.3
redis.conf 将命令重命名为 ””可以禁用, 或者重命名为复杂无意义的名称,进行隐藏保护。
rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG "" rename-command KEYS "" rename-command SHUTDOWN "" rename-command DEL "" rename-command EVAL ""
redis.conf中添加或修改对应的配置项: requirepass <password>
1.5检查是否启用日志
Redis 自身支持日志记录到系统日志,如/var/log/localmessage。但需要通过在redis.conf 进行如下配置 syslog-enabled yes syslog-ident redis syslog-facility local0 保存配置文件,重启服务后生效。
检查是否限定数据库文件权限
Redis 的数据库文件位置,在redis.conf 文件中设定, 默认的数据文件存放目录为 /var/lib/redis 。 查看/var/lib/redis 目录及目录下的数据库文件访问权限 #/bin/ls –l /var/lib/redis 修改相关日志文件的权限为600 #/bin/chmod -R 600 /var/lib/redis
redis服务绑定IP地址 |
在 /etc/redis/redis.conf 中找到 bind 字段,将前面的 # 去掉,根据业务需要配置可以访问服务的IP 地址,例如127.0.0.1 、192.168.1.100 、10.0.0.1 等 ,然后保存。 bind 127.0.0.1 192.168.1.100 10.0.0.1 保存配置文件,重启服务后生效。
检查是否修改默认服务端口
在 /etc/redis/redis.conf 中找到 port 字段,将前面的 # 去掉,根据业务配置 将原有默认服务端口6379 ,修改为其他端口,例如9966,然后保存。 Port 9966 保存配置文件,重启服务后生效。
修改默认连接超时时间
在 /etc/redis/redis.conf 中找到 timeout 字段,将前面的 # 去掉,修改为其他数值,例如 600,然后保存。 timeout 600 保存配置文件,重启服务后生效
下面是完整配置:
#注释掉都能访问了 在后面添加要访问的ip bind 127.0.0.1 10.0.0.1 protected-mode yes port 9966 tcp-backlog 511 # # unixsocket /tmp/redis.sock # unixsocketperm 700 timeout 600 tcp-keepalive 300 daemonize yes supervised no pidfile /var/run/redis_9966.pid loglevel notice #日志文件路径 logfile "/var/log/redis.log" syslog-enabled yes # Specify the syslog identity. 指定日志标识 syslog-ident redis # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.指定系统日志功能 syslog-facility local0 always-show-logo yes save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir ./ replica-serve-stale-data yes replica-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no replica-priority 100 requirepass redis.7334453 #重置命令 # rename-command CONFIG "" rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG "" rename-command KEYS "" rename-command SHUTDOWN "" rename-command DEL "" rename-command EVAL "" lazyfree-lazy-expire no lazyfree-lazy-server-del no replica-lazy-flush no appendonly no appendfilename "appendonly.aof" appendfsync everysec # appendfsync no no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes aof-use-rdb-preamble yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-size -2 list-compress-depth 0 set-max-intset-entries 512 # elements of a sorted set are below the following limits: zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 stream-node-max-bytes 4096 stream-node-max-entries 100 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 dynamic-hz yes aof-rewrite-incremental-fsync yes rdb-save-incremental-fsync yes
es的配置规范
Elasticsearch日志记录完整性要求
在log4j.properties文件中,对Resource Manager和Node Manager进行如下配置: Elasticsearch配置内容为: rm.audit.logger=INFO,RMAUDIT
检查是否修改默认端口
在elasticsearch.yml 配置文件中设置: transport.tcp.port:9301 http.port:9201 将节点间交互的tcp 端口设置为非9300 端口,对外服务的http 端口设置为非9200 端口
检查是否绑定访问源 IP
在elasticsearch.yml 配置文件中绑定IP:network.host:192.168.0.1 设置其它节点和该节点交互的 IP 地址,该地址禁止设置为0.0.0.0
关闭HTTP 访问
在elasticsearch.yml 配置文件中设置: http.enabled:false
禁止使用全部和通配符来批量删除索引
在elasticsearch.yml 配置文件中设置: action.destructive_requires_name:true
设置密码访问
修改elasticsearch.yml 配置文件 xpack.security.enabled: true #说明:免费版的xpack 插件已提供账号密码认证功能。 2)创建keystore 文件,如已有该文件无需重复创建 bin/elasticsearch-keystore create
mq的配置规范