云服务器搭建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);
jedisPoolConfig.setJmxEnabled(true);
jedisPoolConfig.setMaxTotal(maxTotal);
JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password);
return jedisPool;
}
}
服务器被冻结后,一直无法访问外部redis的6379端口实例
经过与云服务器厂商不断的沟通确认,因服务器对外有攻击行为,所以安全工程师就将云服务器的6379端口直接旁路拦截掉,导致连接外部redis的6379端口号一直无法正常访问。
|