Security Monitoring For Multi-Cloud Native Network Service Based Functions
Security Monitoring For Multi-Cloud Native Network Service Based Functions
Security Monitoring For Multi-Cloud Native Network Service Based Functions
https://doi.org/10.22214/ijraset.2022.46634
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue IX Sep 2022- Available at www.ijraset.com
Abstract: Nowadays, enterprises are adopting a cloud- native to provide rapid change, large scale, and resilience in their
application. The applications were built as independent services and packaged as self-contained, lightweight containers. And in
order to provide leading applications, better performance, and avoid getting locked into a particular cloud provider's
infrastructure. They choose to deploy a cloud-native application on a multi-cloud Infrastructure. While this native multi-cloud
strategy has many benefits, it definitely adds more management complexity. We have proposed a framework by creating an
abstraction layer that provides security and visibility across these multi-cloud services. We have visualized the metrics like
request per second, status code, bandwidth, and latencies of two sample API services (Users, and Products) which are publicly
available and deployed on Google cloudfunction and on a CloudFlare.
Keywords: Cloud-Native, Multi-cloud, Kong-Gateway, APIMicroServices.
I. INTRODUCTION
Traditionally the applications were deployed as monolithic applications that were built as a single, unified, and discrete entity. This
approach was once thought to be an industry standard. Adopting this approach has seen a significant decline because of the number
of challenges like managing a large codebase and lack of flexibility to quickly adopt new technologies. With this approach, the
overall development process is much longer because modifying or adding functionality to the application may affect the behavior of
the entire application. With the microservices architecture this limitations can be overcome. In microservices architecture each
application is built as independent functional units. Through APIs they communicate with each other and without interfering the
overall structure each units can be modified individually [1]. To maximize the performance and to embrace rapid change, large
scale, and resilience of microservices it is integrated as a cloud-native. Applications may be created and executed in dynamic
settings including public, private, and hybrid clouds thanks to cloud-native technology. This strategy is demonstrated by
microservices, containers, immutable infrastructure, and APIs. These technologies enable resilient, manageable, and observable
loosely coupled systems. And allows making high-impact changes with robust automation. To build modern application and
infrastructure practices the cloud-native is very helpful. It helps the organization to bring their application online quickly. And on-
demand allows adapting to rapidly changing marketplace requirements. Cloud-native is just not a technology where a service is
running on a public cloud but it is a philosophy of building application that takes the advantage of the immutable infrastructure.
Traditional application to run without failure there as to be necessary resources and it hasto be installed on an operating system with
correct drivers, and system configuration. In cloud-native, the application interacts directly with the cloud or infrastructure to dictate
itsenvironment via API. Compare to traditional applications which are installed on an OS or server, cloud-native applications run on
a cloud infrastructure [2]. Where each unit of microservices is containerized anddeployed in a cloud. Which is a binary of packaged
code, its dependencies, and runtime. The container image acts as a repository or library for images which are stored in a container
registry [2]. Containerizing each unit makes the application to run independently of the underlying infrastructure. And we can easily
decouple hardware and software components [1]. As we move our application to the cloud we rely on the cloud providers, and it
will be more difficult to move away from them as companies use these vendors more and more. With the use of a multi-cloud
strategy, the systems and storage spread out across multiple vendors. If we migrate from one vendor during the migration the
majority of infrastructure still remains in place. And one cloud could be used as back to another cloud so that it provides reliability
to an application [3]. There are also some cons to using this approach since we are deploying our application on a multi-cloud with
several different vendors, and it is harder to provide visibility across many processes running in multiple clouds. Depending on how
the clouds are integrated, how far the data centers are there, and how often multiple clouds interact with each other can introduces
latency. Integration of more pieces of software and hardware greater will be the attack surface. Andif the data centers are far apart it
will be difficult to balance loads [3].
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 1473
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue IX Sep 2022- Available at www.ijraset.com
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 1474
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue IX Sep 2022- Available at www.ijraset.com
In Fig.1 the system contains a Kong Gateway that sits between the client and services deployed across multi-cloud infrastructures
like GCP, Azure, AWS, etc… Kong Gatewayacts as a proxy for the cloud-native services. It routes the incoming client requests to
the relevant services by exposing public-facing API endpoints. Kong gateway is easier to use and provides a clean interface for
clients to interact with.
Kong gateway before proxying the requests to the upstream services provides additional functionality to the underlying APIs. All
the requests are processed by the kong server built on top of NGINX.
D. IP Limitation
Kong offers an IP Restriction plugin to limit access to a service or a route. By permitting or prohibiting IP addresses, the IP
Restriction plugin will limit access to a service or a route. In CIDR notation, we can offer single IP addresses, groups of IP
addresses, or ranges like 10.10.10.0/24.Bot Detection
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 1475
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue IX Sep 2022- Available at www.ijraset.com
A bot like Search Engine Spiders which is a Web Scraper helpful for online businesses to drive relevant traffic to the organization’s
website by collecting relevant information like alt tags, product pricing, and headlines to recommend a site in the search engine
results pages.
On the other hand, unlike these good bots, there are some programmed bad bots that are intended to harm a business. For example,
In a business in order to direct potential buyers, a rival may deploy scraper bots to check the rate prices.
So it is necessary for an organization to allow/deny bots according to their business requirements. Kong provides this ability by
providing a bot detection plugin. The official documentation provides a link to some popular bot’s regular expressions. We can use
this regular expression to allow/deny a bot to our configuration file.
As the above response is ok and to get some alterations in the response. We have sent a request as shown in Fig. 3 with no
credentials after running the Kong Gateway with a Basic Authentication plugin.
For the next request we have a restricted the Firefox browser using bot detection plugin. When we send a request to access the
/users endpoint. We will get the response as shown in Fig4.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 1476
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue IX Sep 2022- Available at www.ijraset.com
Fig. 4. Getting Forbidden message as a response from the /users endpoint. And for the next test case we have restricted our
system IPaddress using the IP restriction plugin.
Fig. 5. Getting IP address is not allowed as a response from the /users endpoint.
On the official Kong dashboard in Grafana we can visualize all this responses.
The following Fig 6 shows a number of requests coming towards service with a status code. To differentia the request each request
has been color coded. We can see in the above diagram the first request is for an Users-Service and products-service the request is
OK. Followed by we have an unauthorized and forbidden request i,e. 401 and 403messages. Similar to this provides a visualization
of total requests and routes per second to a service. To give an insight into how the service is performing kong dashboard provides a
visualization of latency across all services, each service, and routes.
And the other metrics visualization it provides are upstream time, total bandwidth, kong shared memory used by a node, kong
worker Lua VM usage by Node, Nginx connection state, total connection, and handled connection.
V. CONCLUSION
Provides a solution that solves the problem of visibility of API resources across multiple clouds. And enables a great Visualization
of API Security Posture and Metrics. Provides a single Plane of visibility of API Inventory and deployment environments. This
solution can aid in the replacement of tools that are limited to platform-specific monitoring. Allows for the viewing of API security
metrics and posture.
For future work, we are planned to include other information Inventory information such as API schema, Sensitive data detection.
And to include other clouds such as Oracle Cloud, Digital Ocean, and Data Center Application Servers. Migrateto a Standalone Web
Portal / Application to provide dynamicdata updates.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 1477
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue IX Sep 2022- Available at www.ijraset.com
REFERENCES
[1] Microservice and cloud native application vs monolithic application. Available: https://blog.sparkfabrik.com/en/microservices-and-cloud- native-applications-
vs-monolithic-applications
[2] What is Cloud-Native-apps.
Available: https://enterprisersproject.com/article/2018/10/how- explain-cloud-native-apps-plain-english
[3] Multi-Cloud. Available: https://www.cloudflare.com/en-in/learning/cloud/what-is-multicloud/
[4] What is cloudwatch. Available: https://aws.amazon.com/cloudwatch/
[5] Azure Monitor. Available: https://azure.microsoft.com/en-us/services/monitor/
[6] Saman Barakat, “Monitoring and Analysis of Microservices Performance”, Journal of Computer Science and Control Systems, Volume 10, May 2017.
[7] Ayman Noor, Devki Nandan Jha, Karan Mitra, Prem Prakash Jayaraman, Arthur Souza, Rajiv Ranjan and Schahram Dustdar, “A framework for monitoring
microservice-oriented cloud applications in heterogeneous virtualization environments”, 2019 IEEE 12th International Conference on Cloud Computing
(CLOUD).
[8] Daniel R.F and Breno B.N. “A method for monitoring the coupling evolution of microservice-based architectures,” Apolinário and França Journal of the
Brazilian Computer Society, 2021.
[9] Abdelhakim Hannousse, Salima Yahiouche, “Securing Microservicesand Microservice Architectures: A Systematic Mapping Study”, 2020.
[10] Faren, “Kong the Microservice API Gateway”.
Available: https://medium.com/@far3ns/kong-the-microservice-api-gateway-526c4ca0cfa6.
[11] Claudio Acquaviva, “Multi cloud API Gateway”.
Available: https://konghq.com/blog/multi-cloud-api-gateway.
[12] Arun Ramakani, Kong API Gateway Zero to Production. Available: https://medium.com/swlh/kong-api-gateway-zero-to-production-5b8431495ee.
[13] Reason to use an API Gateway.
Available: https://konghq.com/learning-center/api-gateway/api- gateway- uses#:~:text=An%20API%20gateway%20acts%20as,the%20response
%20to%20the%20client.
[14] Kong Gateway - Configuring a service.
Available: https://docs.konghq.com/gateway/latest/get- started/quickstart/configuring-a-service/.
[15] Kong Gateway - Configuring a service.
Available: https://docs.konghq.com/gateway/latest/get- started/comprehensive/expose-services/.
[16] Kong Gateway – Basic Authentication.
Available: https://docs.konghq.com/hub/kong-inc/basic-auth/.
[17] Kong Gateway – Bot Detection.
Available: https://docs.konghq.com/hub/kong-inc/bot-detection/.
[18] Kong Gateway – IP Restriction.
Available: https://docs.konghq.com/hub/kong-inc/ip-restriction/.
[19] Kong Gateway - Prometheus.
Available: https://docs.konghq.com/hub/kong-inc/prometheus/.
[20] Danuka Praneeth, Configuring Kong Plugins.
Available: https://danuka-praneeth.medium.com/how-i-configured-kong-plugins-2134887bb2cb.
[21] Prometheus Overview.
Available: https://prometheus.io/docs/introduction/overview/.
[22] Grafana and Prometheus Overview.
Available: https://grafana.com/docs/grafana/latest/getting-started/get- started-grafana-prometheus/.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 1478