parent
d081ecf5b3
commit
7434ff71eb
2129 changed files with 10502 additions and 7966 deletions
@ -0,0 +1,7 @@ |
||||
app-dist |
||||
dist |
||||
.idea |
||||
.github |
||||
public |
||||
node_modules |
||||
pnpm-lock.yaml |
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@ |
||||
# Endpoint Authentication |
||||
|
||||
> Check if all the protected endpoints are behind authentication |
||||
to avoid broken authentication process |
||||
> to avoid broken authentication process |
||||
|
||||
By identifying and fixing broken authentication workflows, the API can prevent attacks such as brute force attacks, credential stuffing, session hijacking, and other authentication-related attacks. This can help ensure that the system is secure and that sensitive data is protected. |
||||
By identifying and fixing broken authentication workflows, the API can prevent attacks such as brute force attacks, credential stuffing, session hijacking, and other authentication-related attacks. This can help ensure that the system is secure and that sensitive data is protected. |
||||
|
@ -1 +1 @@ |
||||
# |
||||
# |
||||
|
@ -1,10 +1,11 @@ |
||||
# Proper Response Code |
||||
|
||||
> Return the proper status code according to the operation completed. e.g. |
||||
> |
||||
> - `200 OK` |
||||
> - `400 Bad Request` |
||||
> - `401 Unauthorized` |
||||
> - `405 Method Not Allowed` |
||||
> - ...etc. |
||||
|
||||
Returning the proper status code according to the operation completed is important for API security because it allows the client to understand the outcome of their request and take appropriate actions. For example, if the server returns a 401 Unauthorized status code, the client knows that their authentication credentials are incorrect and can prompt the user to re-enter their login details. On the other hand, if the server returns a 200 OK status code even though the request failed, the client may not realize there was an issue and could potentially execute malicious actions or display incorrect data. Providing accurate status codes can help prevent security vulnerabilities and improve the overall reliability and usability of the API. |
||||
Returning the proper status code according to the operation completed is important for API security because it allows the client to understand the outcome of their request and take appropriate actions. For example, if the server returns a 401 Unauthorized status code, the client knows that their authentication credentials are incorrect and can prompt the user to re-enter their login details. On the other hand, if the server returns a 200 OK status code even though the request failed, the client may not realize there was an issue and could potentially execute malicious actions or display incorrect data. Providing accurate status codes can help prevent security vulnerabilities and improve the overall reliability and usability of the API. |
||||
|
@ -1,3 +1,3 @@ |
||||
# App Changes for AWS |
||||
|
||||
While a lot of applications can probably just be deployed to an EC2 instance and work well, if you're coming from a physical environment, you may need to re-architect your application in order to accomodate changes. Don't just think you can copy the files over and be done with it. |
||||
While a lot of applications can probably just be deployed to an EC2 instance and work well, if you're coming from a physical environment, you may need to re-architect your application in order to accomodate changes. Don't just think you can copy the files over and be done with it. |
||||
|
@ -1,3 +1,3 @@ |
||||
# Automate Everything |
||||
|
||||
This is more of general operations advice than AWS specific, but everything needs to be automated. Recovery, deployment, failover, etc. Package and OS updates should be managed by something, whether it's just a bash script, or Chef/Puppet, etc. You shouldn't have to care about this stuff. As mentioned in a different tip, you should also make sure to disable SSH access, as this will pretty quickly highlight any part of your process that isn't automated. Remember the key phrase from the earlier tip, if you have to SSH into your servers, then your automation has failed. |
||||
This is more of general operations advice than AWS specific, but everything needs to be automated. Recovery, deployment, failover, etc. Package and OS updates should be managed by something, whether it's just a bash script, or Chef/Puppet, etc. You shouldn't have to care about this stuff. As mentioned in a different tip, you should also make sure to disable SSH access, as this will pretty quickly highlight any part of your process that isn't automated. Remember the key phrase from the earlier tip, if you have to SSH into your servers, then your automation has failed. |
||||
|
@ -1 +1 @@ |
||||
# |
||||
# |
||||
|
@ -1,3 +1,3 @@ |
||||
# Scale Horizontally |
||||
|
||||
I've found that using lots of smaller machines is generally more reliable than using a smaller number of larger machines. You need to balance this though, as trying to run your application from 100 t1.micro instances probably isn't going to work very well. Breaking your application into lots of smaller instances means you'll be more resiliant to failure in one of the machines. If you're just running from two massive compute cluster machines, and one goes down, things are going to get bad. |
||||
I've found that using lots of smaller machines is generally more reliable than using a smaller number of larger machines. You need to balance this though, as trying to run your application from 100 t1.micro instances probably isn't going to work very well. Breaking your application into lots of smaller instances means you'll be more resiliant to failure in one of the machines. If you're just running from two massive compute cluster machines, and one goes down, things are going to get bad. |
||||
|
@ -1,3 +1,3 @@ |
||||
# Tag Everything |
||||
|
||||
Pretty much everything can be given tags, use them! They're great for organising things, make it easier to search and group things up. You can also use them to trigger certain behaviour on your instances, for example a tag of env=debug could put your application into debug mode when it deploys, etc. |
||||
Pretty much everything can be given tags, use them! They're great for organising things, make it easier to search and group things up. You can also use them to trigger certain behaviour on your instances, for example a tag of env=debug could put your application into debug mode when it deploys, etc. |
||||
|
@ -1,3 +1,3 @@ |
||||
# Use IAM Roles |
||||
|
||||
Don't create users for application, always use IAM roles if you can. They simplify everything, and keeps things secure. Having application users just creates a point of failure (what if someone accidentally deletes the API key?) and it becomes a pain to manage. |
||||
Don't create users for application, always use IAM roles if you can. They simplify everything, and keeps things secure. Having application users just creates a point of failure (what if someone accidentally deletes the API key?) and it becomes a pain to manage. |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue