云服务器搭建redis后,出现攻击外部ip行为

  • Post author:
  • Post category:其他




云服务器搭建redis后,出现攻击外部ip行为

根据异常特征初步判断主机疑似因redis未授权访问漏洞被入侵,由于主机入侵较为严重,系统已不可信任,为防止黑客在主机内留有其他后门,建议备份业务数据,择机重装系统,并对redis进行安全加固。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



redis建议

1、禁止使用 root 权限启动 redis 服务;

2、对 redis 访问启用密码认证,并且添加 IP 访问限制;

3、尽可能不对公网直接开放 SSH 服务。



解决方案



在redis.conf 中设置

password-mode改为yes

requirepass footbared 此处的footbared为密码,在代码中配置文件也设置相同的密码

配置完保存,保存完重启redis配置:

ps -ef|grep redis
kill -9 pid

进入到redis启动的目录:

cd /usr/local/redis/bin
 ./redis-server ./redis.conf

查看redis服务器进程

ps -ef | grep redis



在项目配置文件新增密码配置

#密码,默认为空,设置密码,防止云服务器安全问题:攻击外部ip

spring.redis.password=footbared 与redis.conf 的配置相同

在java中的redis配置中设置密码

JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password);

 @Bean
    public JedisPool redisPoolFactory() throws Exception {
        log.info("JedisPool注入成功!!");
        log.info("redis地址:" + host + ":" + port);
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxIdle(maxIdle);
        jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
        // 连接耗尽时是否阻塞, false报异常,true阻塞直到超时, 默认true
        //jedisPoolConfig.setBlockWhenExhausted(blockWhenExhausted);
        // 是否启用pool的jmx管理功能, 默认true
        jedisPoolConfig.setJmxEnabled(true);
        jedisPoolConfig.setMaxTotal(maxTotal);
        JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password);
        return jedisPool;
    }
}



服务器被冻结后,一直无法访问外部redis的6379端口实例

经过与云服务器厂商不断的沟通确认,因服务器对外有攻击行为,所以安全工程师就将云服务器的6379端口直接旁路拦截掉,导致连接外部redis的6379端口号一直无法正常访问。



版权声明:本文为weixin_42246822原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。