简体   繁体   中英

AngularJS and Rails application security in AWS

I have an AngularJS front-end running on a Nginx server that sends requests to a Rails API backend running on a Puma application server. This application is running on an Amazon AWS EC2 instance.

The Rails API is listening on port 8081.

According to this architecture I had to open the HTTP port 8081 in AWS, so that I could receive the request from the front-end.

I have a domain, so It´s supposed all request should come from www.domain.com. However, I have noticed that if I use my EC2 instance name, such as, in example http://ec2-<ip>.eu-west-1.compute.amazonaws.com:8081/users the Rails API is serving all my users information.

How can I avoid this security bug. Where should I block this? In AWS configuration? In my Rails API CORS configuration? Any other place...

This seems an Authorization bug in your Rails API. Who is the controller that answer to the route /users ? Let's say it is, for eg, UsersController : in this case, you could have an action

def index
    @users = User.all
end

or something similar, that returns the information you see. Is difficult to give you a solution, without knowing if you need this action (maybe is just auto-generated boilerplate code) or if you want simply hiding it to who is not an Administrator... Who wrote the Back End API should fix this for you based on your specifications.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM