Skip to main content

Unreachable server

Description

The server went offline for too long. This can be caused by a server crash, a network issue, or a misconfiguration. Often, this is a sign of a bigger issue.

Remediation

We recommend you to investigate two possible causes:

  • Unhandled exceptions in your code: Verify that your code is handling exceptions properly. - Uncontrolled resource consumption: Verify what resolver has been used to leverage the data source.

GraphQL Specific

Apollo

For an unreachable server in the Apollo framework engine, ensure that the server is running and accessible. Check network configurations, firewall settings, and confirm that the server's URL is correct. Additionally, verify that the Apollo server is properly configured to listen on the correct port and that any environment variables or configurations required for the server to function are set correctly.

Yoga

To address an unreachable server issue within the Yoga framework engine, ensure that the server address is correct and the network connection is stable. Verify firewall settings and server configuration to allow incoming connections on the appropriate port. Additionally, check for any recent updates or changes in the Yoga framework that might require adjustments in the server setup.

Awsappsync

To address an unreachable server issue in the AWS AppSync framework, ensure that your VPC configuration allows for outbound internet access if your GraphQL endpoint is outside the VPC. Check security groups and network ACLs for proper inbound and outbound rules. Verify that the AppSync service role has the necessary permissions. Additionally, confirm that the endpoint URL is correct and the server is running. If the issue persists, enable AWS CloudTrail and AppSync logging to diagnose the connectivity problem.

Graphqlgo

To address an unreachable server issue in a GraphQL Go framework engine, ensure that the server is running and accessible. Check network configurations, firewall settings, and confirm that the correct port is open and listening. Verify that the GraphQL service is properly configured and that any dependent services or databases are also online. If the problem persists, consult the server logs for more detailed error messages that can help identify the root cause of the connectivity issue.

Graphqlruby

For an unreachable server issue in a GraphQL Ruby framework engine, ensure that the server is running and accessible. Check the network connectivity, firewall settings, and confirm that the correct port is open and listening. Review the server logs for any errors and address them accordingly. If the issue persists, consider restarting the server or the service hosting the GraphQL endpoint.

Hasura

To address an unreachable Hasura engine server, ensure that the server is running and accessible. Check the network connectivity, firewall settings, and confirm that the Hasura GraphQL engine's endpoint URL is correct. Additionally, verify that the appropriate ports are open and that the server's host is not experiencing any downtime. If you're using Docker or Kubernetes, ensure that the containers or pods are healthy and that the service is properly exposed. Consult the Hasura logs for any error messages that could provide further insight into the issue.

REST Specific

Asp_net

Check the server's connectivity, ensure the ASP.NET framework is properly installed and updated, review the event logs for errors, and verify the web.config file for any misconfigurations. If necessary, restart the server and the application pool associated with the ASP.NET application.

Ruby_on_rails

In a Ruby on Rails application, ensure that the server is properly configured and monitor the logs for any exceptions or errors. Set up automatic restarts with a tool like systemd or use a process manager such as Capistrano for deployment. Implement health checks and use a monitoring service to alert you when the server becomes unreachable. Check network configurations and firewall rules to ensure they are not blocking traffic to the server.

Next_js

Check the server logs for any error messages that can indicate the cause of the crash. Ensure the server hardware is functioning correctly. Verify network connectivity and DNS configurations. Review recent changes to the server's configuration files for any errors. If the issue persists, consider rolling back to a previous stable configuration or contacting your hosting provider for further assistance.

Laravel

Check the Laravel logs in 'storage/logs/' for specific error messages. Ensure the server is running and the network connection is stable. Verify the .env configuration for correctness, and if necessary, reboot the server or restart the web service. Consider setting up a monitoring system to alert on server downtime.

Express_js

Check the server's power and network connections. Verify the server's hardware and software health. Review the server logs for any error messages that occurred before the server became unreachable. Ensure the Express.js application is running and listening on the correct port. Check for any recent changes in the code or configurations that might have caused the issue. If a crash is suspected, investigate the root cause, and apply necessary patches or updates. Implement monitoring tools to alert on server unavailability in the future.

Django

Check the Django server logs for any exceptions or error messages that could indicate the cause of the crash. Verify the network connectivity and ensure the server configuration files are correct. If necessary, restart the Django service and monitor the system for stability.

Symfony

Check the Symfony server logs for any exceptions or errors that could indicate the cause of the downtime. Ensure that the server's hardware resources are sufficient and that the network configuration is correct. Verify that the Symfony environment is properly configured, and all dependencies are up to date. If a crash is suspected, investigate the possibility of memory leaks or other resource exhaustion issues. In case of a suspected network issue, check the firewall settings and connectivity between the server and its clients. If a misconfiguration is to blame, review the Symfony configuration files for any incorrect settings. Implement monitoring tools to alert on server health and performance metrics to detect future issues proactively.

Spring_boot

For a Spring Boot application, first ensure the server instance is running. If it's down, restart the service. Check the application logs for exceptions or errors that might indicate the cause of the crash, such as out of memory errors or database connection issues. Verify network configurations and firewall rules to ensure the server is reachable. If a misconfiguration is suspected, review the application.properties or application.yml files for any incorrect settings. Additionally, implement health checks and monitoring to detect and alert on future outages promptly.

Flask

Check the server logs for any exceptions or errors that could indicate the cause of the crash. Verify network connectivity and firewall settings to ensure the server is reachable. Review the Flask application's configuration for any incorrect settings. If necessary, restart the server and monitor its stability.

Nuxt

Check the server logs for any exceptions or errors that could indicate the cause of the crash. Verify network connectivity and ensure that the server's IP address is correctly configured. If using a cloud service, check for any service outages. Review Nuxt.js configuration files for any incorrect settings that might prevent the server from starting. If necessary, restart the server or deploy a new instance.

Fastapi

Check the server logs for any exceptions or errors that could indicate the cause of the crash. Verify network connectivity and firewall settings to ensure the server is reachable. Review the FastAPI application's configuration for any incorrect settings. If necessary, restart the server and monitor its performance to prevent future outages.

Configuration

Identifier: resource_limitation/unreachable_server

Examples

Ignore this check

checks:
resource_limitation/unreachable_server:
skip: true

Score

  • Escape Severity: LOW

Compliance

  • OWASP: API8:2023
  • pci: 1.2.3
  • gdpr: Article-32
  • soc2: CC1
  • psd2: Article-95
  • iso27001: A.17.1
  • nist: SP800-53
  • fedramp: AC-2

Classification

Score

  • CVSS_VECTOR: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • CVSS_SCORE: 7.5

References