Book Image

Hands-On Enterprise Application Development with Python

By : Saurabh Badhwar
Book Image

Hands-On Enterprise Application Development with Python

By: Saurabh Badhwar

Overview of this book

Dynamically typed languages like Python are continuously improving. With the addition of exciting new features and a wide selection of modern libraries and frameworks, Python has emerged as an ideal language for developing enterprise applications. Hands-On Enterprise Application Development with Python will show you how to build effective applications that are stable, secure, and easily scalable. The book is a detailed guide to building an end-to-end enterprise-grade application in Python. You will learn how to effectively implement Python features and design patterns that will positively impact your application lifecycle. The book also covers advanced concurrency techniques that will help you build a RESTful application with an optimized frontend. Given that security and stability are the foundation for an enterprise application, you’ll be trained on effective testing, performance analysis, and security practices, and understand how to embed them in your codebase during the initial phase. You’ll also be guided in how to move on from a monolithic architecture to one that is service oriented, leveraging microservices and serverless deployment techniques. By the end of the book, you will have become proficient at building efficient enterprise applications in Python.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
About Packt
Contributors
Preface
Index

Chapter 10


Answer 1

There are a number of issues that make security an application hard these days. These issues include the following:

  • The rise in sophisticated attacks that are hard to mitigate
  • The increase in the rise of 0-day vulnerabilities that have not been patched
  • More and more state-sponsored attacks that target multiple vulnerabilities of a system and are usually hard to trace
  • An ever-increasing number of devices coming online without proper security in place, making them vulnerable to being used in DDoS attacks

Answer 2

An XSS—or cross-site scripting—attack is when an attacker injects a malicious script inside a trusted website. When the page with the malicious script is loaded, it causes the client system to be compromised by the attacker.

Answer 3

A DoS—or denial of service—attack is used by an attacker to make a service or resource unavailable to its users by flooding the system with superfluous requests, which causes the system to queue up those requests causing a disruption in the service.

The attack can be mitigated through the use of different techniques, implemented at different levels, such as the following:

  • Adding a firewall rule to deny traffic from a given untrusted source
  • Using services from the cloud security providers, who can analyze the incoming traffic and block it before it reaches the application infrastructure, helping to mitigate the DoS attack
  • Configuring the infrastructure to sink the traffic to a node where there is no application running, or by rerouting the traffic to a nonexistent network interface by using DNS rules

Answer 4

There are lot of possible mistakes that can compromise the security of the application, such as the following:

  • Using insecure third-party libraries inside an application, which may contain security vulnerabilities
  • Not filtering the user-provided input to the application
  • Storing security-sensitive data unencrypted inside an application
  • Not implementing proper restrictions to control access to the internal infrastructure