Skip to content

How to restrict external access to Redis instance installed in a docker image

Solved Configure
8 3 5.0k 1
  • wrote on last edited by
    #1

    Hello, I’m receiving an email, about my server that has a docker image of redis installed and uses port 6379, saying that it is open to external connections.

    Redis listens for traffic from everywhere on port 6379, and you can validate this report by attempting to connect to your Redis on 6379 via a simple telnet command:

    telnet 111.111.111.111 6379 
    

    This is a part of the email, (I masked the IP to put the message here on the forum) I also did the test to see if the port is really open to external connections on the website, https://www.yougetsignal.com /tools/open-ports/ , and it actually shows that my server’s ip port 6379 is open. And the email says to do the following

    Remediation of this issue will take just a few minutes and is relatively straightforward. You will need to open /etc/redis/redis.conf and uncomment (remove the “#”) or modify the line beginning with:

    #bind 127.0.0.1 ::1  
    

    Afterwards, restart redis with:

    sudo systemctl restart redis  
    

    I would like to know if someone can help me, since I can’t access the redis.config file inside the server, because redis is in a docker image, or at least I don’t know how to access it. Is there any way to block external access to my redis installed by a docker image?

  • @WesleyMoura any update ?

    wrote on last edited by
    #8

    @phenomlab
    Sorry to delay in responding, yes as i mentioned above, i had to remove my redis from docker and reinstall a new image with this command

    docker run --name=redis -p 127.0.0.1:6379:6379 -d -t redis:alpine
    

    and now when i test my ip and port on
    https://www.yougetsignal.com/tools/open-ports/

    the status of my redis port is closed. I think which to configure firewall in droplet digital ocean is a good idea too, and i will configure soon.
    Thanks for the help!

  • Hello, I’m receiving an email, about my server that has a docker image of redis installed and uses port 6379, saying that it is open to external connections.

    Redis listens for traffic from everywhere on port 6379, and you can validate this report by attempting to connect to your Redis on 6379 via a simple telnet command:

    telnet 111.111.111.111 6379 
    

    This is a part of the email, (I masked the IP to put the message here on the forum) I also did the test to see if the port is really open to external connections on the website, https://www.yougetsignal.com /tools/open-ports/ , and it actually shows that my server’s ip port 6379 is open. And the email says to do the following

    Remediation of this issue will take just a few minutes and is relatively straightforward. You will need to open /etc/redis/redis.conf and uncomment (remove the “#”) or modify the line beginning with:

    #bind 127.0.0.1 ::1  
    

    Afterwards, restart redis with:

    sudo systemctl restart redis  
    

    I would like to know if someone can help me, since I can’t access the redis.config file inside the server, because redis is in a docker image, or at least I don’t know how to access it. Is there any way to block external access to my redis installed by a docker image?

    wrote on last edited by
    #2

    @WesleyMoura Hi, and welcome to Sudonix. Even with Redis installed in a docker image, you will still have a config file, and should still be able to reach it.

    Can you provide more detail about the docket image ? You are right - by default, Redis will listen on all addresses, and will be exposed to the internet. Another way around this is to block access at firewall level and only permit the hosts you actually want.

  • @WesleyMoura Hi, and welcome to Sudonix. Even with Redis installed in a docker image, you will still have a config file, and should still be able to reach it.

    Can you provide more detail about the docket image ? You are right - by default, Redis will listen on all addresses, and will be exposed to the internet. Another way around this is to block access at firewall level and only permit the hosts you actually want.

    wrote on last edited by
    #3

    @phenomlab Hello, i have installed my redis on docker with this comand,
    docker run --name redis -p 6379:6379 -d -t redis:alpine
    And i don’t know how to access the redis.conf on docker image to make this step cited in email.
    Do you know how to do?
    I’m trying to search on documentation but i still can’t find it.

  • @phenomlab Hello, i have installed my redis on docker with this comand,
    docker run --name redis -p 6379:6379 -d -t redis:alpine
    And i don’t know how to access the redis.conf on docker image to make this step cited in email.
    Do you know how to do?
    I’m trying to search on documentation but i still can’t find it.

    wrote on last edited by phenomlab
    #4

    @WesleyMoura Is it located in /usr/local/etc/redis/redis.conf ?

    Also, have a look at this

    https://hub.docker.com/_/redis

  • wrote on last edited by Hari
    #5

    6a81d494-bcc6-404d-8f2a-bef1e530314d-image.png

    Hello Wesley, i am doing great thanks for asking.

    actually, i am using digital ocean droplet with Plesk + Redis with docker

    i followed this guide and it solved the issue https://talk.plesk.com/threads/plesk-docker-redis-plesk-firewall-open-port-issue.352324/

    we need to install Redis docker using Plesk store BUT should run it using a specific command that limits its access to the local host only. (in your case you will install redis using command)

    Start the docker with,

    docker run --name=redis -p 127.0.0.1:6379:6379 redis
    

    d488b58b-e427-4c4e-9003-55ee1e1b35f9-image.png

    not sure this helps you or not but play with above command 😄

  • @phenomlab Hello, i have installed my redis on docker with this comand,
    docker run --name redis -p 6379:6379 -d -t redis:alpine
    And i don’t know how to access the redis.conf on docker image to make this step cited in email.
    Do you know how to do?
    I’m trying to search on documentation but i still can’t find it.

    wrote on last edited by
    #6

    @WesleyMoura any update ?

  • 6a81d494-bcc6-404d-8f2a-bef1e530314d-image.png

    Hello Wesley, i am doing great thanks for asking.

    actually, i am using digital ocean droplet with Plesk + Redis with docker

    i followed this guide and it solved the issue https://talk.plesk.com/threads/plesk-docker-redis-plesk-firewall-open-port-issue.352324/

    we need to install Redis docker using Plesk store BUT should run it using a specific command that limits its access to the local host only. (in your case you will install redis using command)

    Start the docker with,

    docker run --name=redis -p 127.0.0.1:6379:6379 redis
    

    d488b58b-e427-4c4e-9003-55ee1e1b35f9-image.png

    not sure this helps you or not but play with above command 😄

    wrote on last edited by
    #7

    @Hari said in How to restrict external access to Redis instance installed in a docker image:

    Hello Hari, sorry my delay in responding, but i already solved this problem, using exactly this command that you mentioned, docker run --name=redis -p 127.0.0.1:6379:6379 -d -t redis:alpine, in my case. But as i already had one image of redis, i had to remove the current redis from my docker and reinstall using this comand. Now when i test the port on https://www.yougetsignal.com/tools/open-ports/ with my ip and port of redis, the status of port is closed now. And now i just have to configure my firewall wich i will soon.
    So thanks to answer me and sorry again to delay in responding.

  • @WesleyMoura any update ?

    wrote on last edited by
    #8

    @phenomlab
    Sorry to delay in responding, yes as i mentioned above, i had to remove my redis from docker and reinstall a new image with this command

    docker run --name=redis -p 127.0.0.1:6379:6379 -d -t redis:alpine
    

    and now when i test my ip and port on
    https://www.yougetsignal.com/tools/open-ports/

    the status of my redis port is closed. I think which to configure firewall in droplet digital ocean is a good idea too, and i will configure soon.
    Thanks for the help!

  • phenomlab phenomlab has marked this topic as solved on

Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee ☕
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • Network Security Monitoring

    Learning security network server
    7
    3 Votes
    7 Posts
    3k Views
    Madchatthew
    @phenomlab I will check those out. Thanks for sharing. I appreciate it!
  • Mongodb or Redis

    General database mongodb redis
    29
    11 Votes
    29 Posts
    12k Views
    phenomlab
    @Madchatthew still a great catch.
  • Secure SSH connectivty

    Security ssh keys security
    7
    6 Votes
    7 Posts
    3k Views
    DownPW
    @phenomlab yep but I use it since several month and I haven’t see any bugs or crash In any case, I only use him anymore Tabby offers tabs and a panel system, but also themes, plugins and color palettes to allow you to push the experience to the limit. It can support different shells in the same window, offers completion, has an encrypted container for your passwords, SSH keys and other secrets, and can handle different connection profiles. Each tab is persistent (you can restore them if you close one by mistake) and has a notification system, which will let you know if, for example, a process is finished while you are tapping in another tab. It’s really a great terminal that will easily replace cmd.exe for Windowsians or your usual terminal. And it can even work in a portable version for those who like to carry their tools on a USB key. –> To test it, you can download it, but there is also a web version. Handy for getting an idea. https://app.tabby.sh
  • 24 Votes
    29 Posts
    15k Views
    crazycells
    @DownPW it is the second post of this thread.
  • what is docker?

    Solved Linux docker discourse
    3
    1 Votes
    3 Posts
    2k Views
    phenomlab
    @Hari sort of, but not in the sense of a full blown system In simple terms, Docker is a software platform that simplifies the process of building, running, managing and distributing applications. It does this by virtualizing the operating system of the computer on which it is installed and running.
  • installing flarum with plesk

    Solved Configure flarum
    78
    26 Votes
    78 Posts
    39k Views
    Hari
    @phenomlab thanks a lot, have a nice day
  • Crowdsec: a replacement for Fail2ban

    Security crowdsec security ips
    3
    2
    4 Votes
    3 Posts
    4k Views
    DownPW
    @phenomlab No they have a free and pro console instance. We can see alert with IP, Source AS, scenario attack etc… Installation on the NODEBB server without problems. Very good tools [image: cf7e5a89-84f4-435b-82eb-434c0bfc895e-image.png] [image: cc82a10e-a1f1-4fd8-a433-7c9b2d31f254-image.png] [image: 1b7147b0-37c6-4d87-b4f1-a0fe92e74afd-image.png] [image: 7c21fc10-1825-48e1-a993-92b84455f074-image.png] – We can also do research on IPs via the crowdsec analyzer I believe it’s 500 per month in the Free version [image: 43bc8265-a57c-4439-829c-0bb8602d99b4-image.png]
  • is my DMARC configured correctly?

    Solved Configure
    3
    2
    3 Votes
    3 Posts
    2k Views
    Hari
    @phenomlab said in is my DMARC configured correctly?: you’ll get one from every domain that receives email from yours. Today I have received another mail from outlook DMARC, i was referring to your reply again and found it very helpful/informative. thanks again. I wish sudonix 100 more great years ahead!