Sign In
Sign In

Advanced Protection from DDoS: 7 Attack Levels

Advanced Protection from DDoS: 7 Attack Levels
Hostman Team
Technical writer
Infrastructure

Every DDoS attack is aimed to destabilize the server's infrastructure and to get it down. Hackers use a lot of diverse techniques and always find a way to overload someone's internet resource or web application, so it becomes unavailable for common users. And at that exact moment business starts to lose money and the most popular websites cease to function.

Let us discuss how criminals implement dangerous DDoS attacks and how administrators and developers can resist them.

Types of DDoS attacks

Different types of DDoS attacks are attached to a network model called OSI. This model consists of seven levels. Each of them can be chosen by the hacker as the main target which will be used to attack someone's server.

Here are all the OSI levels:

  • L7 — application. At this level, hackers are trying to access mechanisms that help applications communicate with network essences. For example, L7 is often used to attack websites via HTTP requests.

  • L6 — view. When hackers are taking a chance to compromise compression protocols or data-encryption components, you might confidently speak about the L6-type of attack. This level includes sending to a server fake SSL certificates. Such a procedure can take a lot of resources.

  • L5 — session. Described as an attack that implies discrediting output/input protocols. This technique makes the internet resource inaccessible for users.

  • L4 — data-transferring. L4 is understood as a method of attacking TCP and UDP protocols. Cybercriminals are executing data-transferring and then interrupting it before finishing so the attacked server is stuck in a kind of standby mode and loses the capability to receive correct requests.

  • L3 — network. At level 4 hackers attack IP, ICPM, ARP, and RIP protocols. Such attacks usually result in dramatically reduced bandwidth.

  • L2 — channel. L2 — is when hackers try to overload network communicators with an excess amount of data.

  • L1 — physical level. Basically, this method implies destroying hardware, disconnecting servers by cutting connection cables, etc.

Mostly, administrators and developers have to deal with levels 3,4, and 7.

Attacks at levels three and four are usually called ‘infrastructural‘. They are based on transferring a large chunk of data which also can be counted as a ‘flood‘ (generating and sending an excessive quantity of data). This flood is aimed to ‘clog‘ the networking channel so the web server starts to work slower than usual. Because of such attacks, common users of internet resources stumble upon some troubles while interacting with the website or the application.

At the seventh level, hackers use specific components of server infrastructure. They use malware to generate malicious traffic that hardly differs from non-malicious. And these attacks are extremely effective because criminals can exploit simple techniques like trying to authorize on the web resource using a lot of fake usernames and passwords.

The problem is to distinguish between the real user who forgot his password and is trying to pick it up and the hacker who decided to disrupt your internet resources' casual functioning by sending thousands of fake requests.

How they attack

Used methods vary depending on the network level used by hackers and on their imagination. Here are some popular techniques.

Application-level DDoS-attacks

We have already touched on this topic earlier and found out what is the main strong point of it. Actually, cybercriminals behave like typical users, but on an extremely large scale. For example, opening a giant amount of connections and maintaining them before the server sends a timeout signal. While so, users can't access attacked internet resources.

Often hackers use POST requests to overload the server. One of the ways to slow down server performance — is passing the body of the request as slowly as possible. When the connection with the server is refused, hackers create a new one and the server has to answer because the headers of HTTP-request are correct even though hardware resources and bandwidth are used inefficiently. Sometimes, hackers act vice versa, creating a piece of malware that passes HTTP requests at normal speed but ‘reads‘ them unexpectedly slowly.

And the third method — sending data encoded as XML. When such data reaches the server it takes much more space on it and leads to overfilling the memory.

Protocol-level attacks

If hackers chose to use a protocol-level DDoS attack they will do anything to fill up the network channel of the server with malicious packages so the server will not have a chance to receive and process requests from real users.

SYN-flood — is a common example of such attacks. The server receives the package, then sends the response to the sender, and awaits another one but nothing happens. Hackers generate a lot of such incomplete requests and the whole process results in server malfunctioning.

Another way to implement a similar attack — is fragmentation. Criminals send packages divided into small fragments. While transferring to the server these packages become shuffled and break attacked internet resources.

Volumetric attacks

This is a separate category of attacks. They can be implemented on application-level or on infrastructural-level. Such attacks imply creating conditions in which the server can't process requests from real users.

For example, they can generate an immoderate amount of HTTP requests and send them to the server simultaneously. Also, these requests can be architected in such a way that they will try to access the most weighty parts of the internet resource, so the response from the server becomes unwieldy.

There is more to it. Hackers can send ICMP packages from different IP addresses. Each package makes the server check its status, but requests are faked so nothing besides overloading happens.

UCD-flood is quite similar. Generating a lot of useless requests. Every request demands a volumetric data piece to send back. While dealing with such requests, a website or web application becomes unavailable for common users.

How to protect yourself

The question is — ‘How to deal with such attacks’. The amount of DDoS attacks grows from year to year.

There are simple Linux utilities helping to prevent DDoS attacks that are easy to learn and use. The problem is that these days hackers organize large-scale attacks more often than usual. It is almost impossible to cope with them no matter if it is a small online shop attacked or some kind of international corporation.

Is there a workaround? You have to strengthen up the layer of protection of your server using all the available methods. One of the ways to achieve a reasonable level of protection is to use fully-featured complex DDoS protection. It effectively helps to illuminate most of the L3, L4, and L7 attacks.

This feature can be accessed even if your server is under attack already. It gives you:

  • Fault tolerance while DDoS attacks of different types.

  • Traffic filtering.

  • Nodes that work as traffic filters around the globe.

  • Quick set up in an hour.

One more option is on Hostman.com - you can use a proxy to protect your server from DDoS attacks. Additional proxy servers help your users to get the data they need at a reasonable speed even though the main server is under attack and administrators are working hard to interrupt the ongoing digital onslaught.

Infrastructure

Similar

Infrastructure

Microservices Architecture: What It Is, Who It’s For, and Tools to Use

Every developer strives to speed up product development while maintaining enough flexibility and confident control over the process. Microservices application architecture helps solve these tasks and, over the past 10 years, has begun actively competing with the traditional monolithic approach. To begin, let’s look at the difference between them. Microservices Architecture vs. Monolith The difference between these two software development approaches is easiest to illustrate with an example. Let’s imagine two online stores: one implemented as a monolith and the other as microservices. A monolithic online store is a single, indivisible structure that combines all components: databases (catalog, customer data), shopping cart, order and payment forms. All of these elements are tightly interconnected and located on the same server. In a microservices system, each component is an independent module that developers can work on separately. And naturally, nothing requires hosting these modules on a single server. Thus, microservices architecture is a kind of constructor that allows you to add new elements painlessly as you scale the application. A monolith, on the other hand, can be compared to a solid wall: scaling here is only possible by adding another identical monolith. It’s worth adding that microservices are sometimes mistakenly perceived as a set of very small services. This is not the case: for example, the database of a large online store may contain millions of records and occupy tens of gigabytes, yet still be just one of the modules within the microservices architecture of the whole application. Comparing Microservices and Monoliths by Key Criteria Now let’s look at the main characteristics of microservices technology in comparison with a monolith and see how both approaches solve the same developer tasks. Release Cycles Development speed and frequency of updates increase with microservices thanks to modularity: changes are made not to the entire codebase but to individual modules. With a monolith, however, the whole platform must be updated first, which increases testing and debugging time. As a result, development slows down and updates are released less frequently. Technology Stack The microservices model offers significantly greater flexibility because each service can be written in its own programming language and may use different libraries and data-storage technologies. With a monolith, the situation is different: changing the technology stack is nearly impossible. Developers are forced to stick to the initial tools. Developer Onboarding Each module in a microservices architecture is self-contained, making it possible to bring in programmers who are familiar with the functionality of a specific service. This substantially lowers the onboarding threshold. With a monolith, new developers must dive into the code of the entire application, understand the functions of every block, and only then begin productive work. Thus, maintaining a monolith is more dependent on specific team members. Optimization Characteristics The modularity of microservices architecture also positively affects optimization, since developers can optimize each service separately. Optimizing a monolithic structure is more difficult because the team must account for links between indivisible blocks, and updating any one of them inevitably affects the entire application. Application Scalability The distributed structure of microservices and their ability to run on separate servers make scaling fast and easy. In monoliths, scaling one component inevitably requires scaling the entire application as a whole. Fault Tolerance Because services are hosted on different servers and have a modular structure, microservices architecture achieves independence of each module. This significantly increases system resilience: a failure in one service does not cause the entire application to fail. With a monolith, the situation is different: all components are tightly interconnected, so the failure of one module can make the entire application inoperable. Do I Need to Switch to Microservices Right Now? As we’ve seen, microservices have advantages in many key areas. But does this mean you need to abandon monoliths as an outdated approach and immediately switch to microservices? The answer depends on the current state of your project. And let’s say right away: rushing to adopt microservices is not always the right choice. Distributed architecture also has its drawbacks. First, microservices require ensuring network connectivity between modules. If a network connection is unstable, this leads to delays and data inconsistencies, which create potential problems in application behavior. Second, each module of a microservices system requires separate testing and health monitoring. Additionally, you will need to allocate cloud resources for each module, which may increase costs. Third, with the microservices approach, teams responsible for different modules may encounter interaction issues. This means you may need a connecting link in the form of DevOps specialists who can streamline collaboration and speed up development. All the factors listed above allow us to conclude that the transition to microservices must be timely. Usually, during the early stages of a project, this is unnecessary, especially if developers have limited human or financial resources. Switching to a microservices architecture makes sense when there is a clear need for significant scaling, and scaling a monolith has already become difficult. Microservices may be right for you if: You have a large team. In this case, it makes sense to divide the team into separate, independent groups, each responsible for its own service; You have a complex, branched application. In this case, it’s far more convenient to update and maintain modules separately than to rebalance the entire system each time; Your application traffic is highly variable. For example, you see sharp spikes in load during certain periods. Microservices' distributed structure allows quick scaling during peak loads, after which you can easily return to normal capacity levels; Your application is frequently updated. Working with separate modules in this scenario is much simpler, and new releases will be significantly faster. If your project meets at least one of these criteria, this is a reason to consider breaking it into independent elements. However, if your application is relatively small and does not require frequent updates, it is reasonable not to rush away from monolithic architecture. Useful Tools for Organizing Microservices A modern development approach requires a containerization platform. In most cases, developers use Docker for these purposes. Docker tools allow them to isolate the application from the infrastructure, meaning they can work with it equally well locally or in the cloud, which is very convenient for development. Once containers become numerous, an orchestrator becomes essential for managing and organizing groups of containers. Kubernetes is most commonly used as an orchestrator due to its strong compatibility with Docker. Another necessary tool is a load balancer, which ensures even distribution of network traffic across all cloud resources. This significantly increases the application’s fault tolerance.
21 November 2025 · 6 min to read
Infrastructure

Serverless Architecture: Overview of Serverless Computing

Serverless is one of the popular directions in IT and continues to grow. Cloud providers are ready to provide all the necessary infrastructure and maintain it, and the user pays only for the execution time of a function—idle time is not billed. Serverless Ecosystem Serverless architecture is a way of building applications in which the developer writes the application logic, while the cloud provider is responsible for launching that logic, monitoring, scaling, maintaining the execution environment, and managing load planning. This is not always an external provider; such infrastructure can also be implemented inside a company using its own computing resources. The simplification of working with infrastructure traces back to the appearance of the first IaaS (Infrastructure as a Service), where the provider simply offered virtual infrastructure for rent, and then extended to widespread BaaS (Backend as a Service), where a developer’s microservice or a database is simply several containers running in the provider’s environment, and in the case of a database, with preconfigured replication. Another product is FaaS (Function as a Service), where the execution unit is a single function. In part, this resembles a microservices approach. Your function should not rely on state between calls (it must be stateless), because each call is launched by the provider as a separate instance in a container. There are also some limitations imposed by the cloud platform: not all programming languages can be used to write function code (although the list is usually wide), and there are limits on execution time and memory usage. The exact limits differ by platform and may depend on your pricing plan. Many providers offer trial periods from three months to a year with limits on the number of requests. The foundation of Serverless is FaaS and the provider’s ecosystem of products. Typically, there are Databases, Authorization Services, API Gateways, Message Brokers (such as Kafka), all provided as services (BaaS) that your function can integrate with. Architecture Each provider may offer a unique set of services, but applications built on FaaS generally have similar architectures. As an example of integration between provider products, you can consider a TODO application (the example is taken from the AWS website). The application logic is packaged in lambda functions, which interact with the DynamoDB database, provided by AWS as a separate service. In front of the functions is the API Gateway, which handles incoming requests and routes them appropriately. The architecture also includes the Amplify Console for managing the web interface of the application and the Amazon Cognito authentication service. Advantages and Disadvantages The main positive aspects of Serverless typically include: Flexible scalability Helps handle peak loads and rapid product growth. The provider will automatically scale the function, and when demand decreases, resource consumption will shrink. Pricing You pay only for the execution time of the function. For example, on AWS, the price includes the cost of function invocations and the amount of memory (GB/s) allocated during execution. Even with 24/7 availability (with some nuances), you do not pay for periods of inactivity. Automation CI/CD, integration with other services, monitoring, log management, and maintaining the execution environment—the provider handles all of this, allowing for faster product deployment. Compared to BaaS infrastructure or full server control (VPS), deploying an application into cloud functions has its downsides: Resource limits Cloud functions have memory and execution time limits, as well as restrictions on data sizes sent or received. Here are examples of such limits in AWS. Cold starts The provider will not keep a container with your function running at all times. If the function has been idle for some time, its next invocation will require time to start up. Startup time depends on the programming language, code size, and the provider’s internal processes, and can reach up to 10 seconds. Here’s a small article with examples on the topic, and a GitHub repo with code and research results. Best Practices Although FaaS-based systems and service ecosystems resemble microservice architecture and functional programming, they have their own best practices beyond monitoring, logging, request tracing, and mocking service responses. Warm Start If your application requires consistently fast responses, cold starts can be a major issue. The solution is to constantly “warm up” the function, for example, by periodically sending requests that create some load so the provider keeps the function active. The load itself does not matter; what matters is triggering the function. If necessary, the provider will scale by starting additional instances on the fly. Some providers offer built-in mechanisms for this (e.g., AWS), allowing you to keep a certain number of instances always running. Fan-Out Pattern A pattern that allows you to bypass memory, data size, and execution time limits by splitting a large task into smaller chunks. Downloading and processing data in chunks, sending emails in small batches—cloud functions will execute tasks in parallel across different function instances. The trade-off is more complex application code and paying for more function invocations. Event Driven Pattern Cloud FaaS functions can be triggered not only via API Gateway or direct invocation. A trigger can be an event from any integrated service, such as a message from Kafka. Event-driven code organization works extremely well for FaaS. Cost Optimization Unlike a fixed-price service (e.g., renting a VPS for a year), Serverless costs are composed of several different services, each with its own billing model. Continuous monitoring of costs and resource utilization, along with load planning, is key to reducing infrastructure expenses. Some providers have special offerings, such as AWS Lambda Reserved Concurrency, which allows reserving Lambda instances and keeping them active on a cheaper pricing tier. Tools for Working with Serverless Serverless Framework An open-source tool for simplifying the development, deployment, and management of serverless applications. It allows developers to focus on writing code without worrying about infrastructure and provider configuration. It supports AWS, Azure, Google Cloud, IBM Cloud, Oracle Cloud. It enables local function testing, integrates with CI/CD systems like Jenkins or Travis, has a large plugin ecosystem, and allows developers to create their own plugins. Terraform A HashiCorp tool representing the "infrastructure as code" approach. It allows defining infrastructure using configuration files in HCL (HashiCorp Configuration Language), which describe the desired infrastructure state rather than the steps to achieve it. Like Serverless Framework, Terraform supports many major cloud providers and allows defining modules, i.e., reusable sets of configuration files for creating and managing infrastructure components. AWS SAM The Serverless Application Model is an open framework created by AWS for developing, testing, and deploying serverless applications on AWS. SAM provides a simplified way to build serverless apps based on CloudFormation, AWS’s main tool for infrastructure as code. Kubeless Unlike the previous tools that focus on cloud providers, Kubeless is a serverless framework for Kubernetes. It allows creating and managing serverless functions directly inside your Kubernetes cluster. It works with standard Kubernetes objects like Deployments, Services, Ingress, etc. It provides scaling and fault tolerance for functions, has a CLI, and integrates with the Kubernetes ecosystem. OpenFaaS An open-source serverless framework. It allows creating functions in many programming languages, including Python, Node.js, Go, Ruby, Java, and others. It supports scaling and ensures fault tolerance. OpenFaaS integrates with Kubernetes and Docker Swarm. Areas of Application Today, Serverless applications cover a wide range of tasks, from notification and mailing services to analytics platforms, data stream processing, webhooks, game servers, file and multimedia processing, IoT applications, adapters for external services, monitoring and logging systems, business process automation, content rendering servers, customer support chatbots, and testing or deployment servers. Many examples exist within the Serverless Framework ecosystem. Major IT companies are migrating some processes to Serverless. For example: Netflix uses FaaS for encoding and transcoding video when preparing video streams for different devices. Airbnb uses Serverless in its StreamAlert system for real-time data analysis. Using Serverless is not only a way to reduce infrastructure costs, but also a tool for increasing development efficiency and flexibility. Serverless allows for rapid development and deployment of new functions and applications, as well as scaling them based on business needs. Additionally, Serverless technologies support creating more reliable and fault-tolerant applications because cloud providers ensure high availability and automatic scaling. This helps companies avoid downtime or service failures that could harm their reputation and customer experience. Development of Serverless Serverless architecture represents a significant step in the evolution of cloud computing, allowing companies to focus on application development without worrying about managing infrastructure. This approach brings flexibility, scalability, and efficiency to development processes while reducing maintenance and operational costs. In the future, we can expect development in several areas: Greater integration and compatibility between cloud providers, allowing users to choose the best solution without vendor lock-in. New services and tools tailored for Serverless architectures, such as advanced tools for monitoring, performance optimization, security, and expanded development and deployment capabilities. Growing adoption among companies, increasing the market’s growth and expanding opportunities for innovations and new business models. Serverless technologies are poised to continue reshaping the landscape of cloud computing, enabling companies to focus on building applications rather than managing infrastructure. With more integrations, new tools, and broader adoption, Serverless will increasingly become a key element in the modern developer’s toolkit.
20 November 2025 · 9 min to read
Infrastructure

How to Choose a Cloud Provider: Checklist

A cloud hosting provider is a company that offers users virtual resources for remote infrastructure management and application deployment. Unlike traditional web hosting, cloud-based service providers allow for flexible configuration of rented resources, helping clients save on hardware, software, and system administration costs. In this article, we’ll review the key factors to consider when choosing a cloud hosting provider, starting with the core services these companies offer. Provided Services There are three main service models that cloud hosting companies typically offer. Ideally, a reliable provider should support all three: IaaS (Infrastructure as a Service): Basic infrastructure resources such as virtual servers, networks, and storage. PaaS (Platform as a Service): Software platforms for various tasks: database management, big data analytics, containerized app development, machine learning systems, and more. SaaS (Software as a Service): Fully managed software solutions that run on the provider’s infrastructure, reducing the load on the client’s computer or mobile device. Key features offered by best cloud providers include: A firewall to protect against DDoS attacks and malware. Automated backups with redundant data storage across multiple locations for disaster recovery. Data encryption to ensure confidentiality; even provider staff cannot access your information. Pricing When evaluating pricing, focus not just on the base rate but on what’s included in the package. Some providers attract customers with low prices, but cheaper plans often come with limited resources or features. For instance: Low-cost plans may not suit clients who handle large data volumes due to disk space limits or slow storage performance. Some providers may offer a “cheap” cloud server but fail to mention that your virtual resources are shared with other clients, reducing performance. Keep in mind: a high-performance server cannot be truly cheap. Company Experience As a rule, the longer a provider has been in the cloud hosting  business, the more reliable it tends to be. However, reputation also matters: look for verified online reviews rather than marketing claims. If a provider has been operating for over 5 years and maintains a solid reputation, it’s usually a trustworthy choice. A broad range of services is also a good indicator of expertise. Certification and Standards A strong advantage is certification under ISO 27001, the international standard for information security management. While not legally required, it shows that the company has a well-structured approach to security: defined access levels, regular internal and external audits, and continuous process improvement. Free Trial Period A trial period can significantly influence a provider’s credibility. If a provider offers 5–10 days (not just a day or two) for testing, it’s a positive sign that they’re confident in the quality of their services. Hardware Pay attention to the performance of CPUs and disk subsystems. Ideally, a provider should offer configurations for different needs, from entry-level setups to high-performance solutions using modern server-grade processors and NVMe drives, which significantly outperform traditional SSDs in speed and reliability. Reliability and SLA A reliable provider must guarantee service uptime in its Service Level Agreement (SLA), typically expressed as a minimum annual availability percentage. The SLA should also guarantee that you receive the computing power and software specified in your plan and that you can modify configurations, add or remove resources, and perform other key management tasks. Data Center Location Providers often advertise the geographic location of their servers as an advantage, but the data center’s certification level is far more important. Look for certification under Tier III, which represents the optimal reliability level (Tier I being the lowest and Tier IV the highest and most expensive). Tier III data centers can perform maintenance without downtime thanks to redundant infrastructure components. Technical Support The quality of technical support is a key differentiator. Pay attention to: Response time. It should be clearly stated in your contract. Willingness to help with tasks like auditing or migrating infrastructure from other services. Professionalism and courtesy—hallmarks of a customer-oriented provider. Contract Termination Even with the best cloud hosting provider, circumstances may change. Before signing up, check: How and when you can retrieve your data. How the provider destroys virtual machines and ensures complete data deletion upon termination. Checklist: Choosing a Cloud Hosting Provider Before making your decision, verify that your provider offers: Support for IaaS, PaaS, and SaaS models with additional features. Flexible, well-priced service packages. 5+ years of experience in the market. (Optional) ISO 27001 certification. A 5–10 day trial period for testing. Multiple hardware configurations with scalable performance. SLA-backed uptime guarantees and resource reliability. A Tier III–certified data center. Qualified, responsive technical support. A secure and transparent contract termination process.
19 November 2025 · 5 min to read

Do you have questions,
comments, or concerns?

Our professionals are available to assist you at any moment,
whether you need help or are just unsure of where to start.
Email us
Hostman's Support