Cloud Computin
Cloud Computin
Cloud Computin
Here are some of the key technologies that underpin cloud computing:
Public and private cloud are two main deployment models for cloud computing, differing
in ownership, access, and control:
Public Cloud:
• Ownership: Owned and operated by a cloud service provider (CSP) like
Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform
(GCP).
• Access: Shared infrastructure, accessible to any paying customer over the
internet.
• Control: Limited control for users, primarily focused on configuring and
managing their applications within the provided resources.
• Benefits: Cost-effective, highly scalable, readily available, minimal upfront
investment.
• Drawbacks: Security concerns due to shared environment, less customization,
potential vendor lock-in.
Private Cloud:
• Ownership: Owned and operated by an organization itself or by a third-party
provider dedicated to that organization.
• Access: Exclusive use by a single organization, providing increased control and
security.
• Control: High level of control over infrastructure, configuration, and security
settings.
• Benefits: Enhanced security and privacy, greater customization, improved
compliance, predictable performance.
• Drawbacks: Higher upfront costs for setup and maintenance, potentially less
scalable than public cloud.
Choosing between public and private cloud depends on your specific needs.
Organizations prioritize security, compliance, or sensitive data storage often favor
private cloud. Conversely, cost-effectiveness, ease of use, and rapid scalability often
make public cloud the preferred option for others.
Basics of Virtualization
Types of Virtualizations
Virtualization comes in various flavors, each suited to a specific need. Here's a quick
overview of some common types:
These are just some of the common types of virtualization. The specific type chosen
depends on the desired outcome, such as improved resource utilization, increased
flexibility, or enhanced security.
Azure Fundamentals
Azure Fundamentals refers to a couple of things from Microsoft related to their cloud
platform, Azure:
1. Learning Path: It's a series of courses offered by Microsoft that introduce you to
the basics of Microsoft Azure. This path is ideal for beginners with no prior cloud
computing knowledge or those new to Azure. It covers:
o Cloud concepts: Explains the core ideas behind cloud computing,
including deployment models (like public, private, and hybrid cloud) and
service models (IaaS, PaaS, SaaS).
o Azure services: Provides an overview of the various services offered by
Azure, categorized into core areas like compute, networking, storage, and
databases.
o Azure management and governance: Introduces you to the tools and
practices used to manage and govern Azure resources, ensuring security
and cost-effectiveness.
2. Certification (AZ-900): After completing the Azure Fundamentals learning path,
you can take the AZ-900 Microsoft Azure Fundamentals certification exam. This
validates your understanding of the foundational concepts of Azure cloud
services and demonstrates your ability to describe them to potential employers.
Overall, Azure Fundamentals equips you with the foundational knowledge to navigate
the Microsoft Azure cloud platform and its core services. It's a stepping stone for further
learning or pursuing cloud-related careers.
Configuring virtual machines (VMs) and installing an OS in Azure involves a few key
steps:
SSH (Secure Shell) is a secure network protocol for remote login and command-line
execution. It offers a significant improvement over insecure protocols like Telnet by
encrypting all communication between the client and server. This encryption protects
passwords and data from being intercepted by unauthorized users.
However, password security remains a crucial factor in overall SSH security. Here's a
breakdown:
• Strengths of SSH:
o Encryption: Protects passwords and data in transit, making it much harder for
attackers to steal them.
o Authentication methods: SSH supports various authentication methods beyond
passwords, including public key cryptography which can be more secure.
• Weaknesses of Password-based SSH:
o Guessing attacks: Passwords can be vulnerable to brute-force attacks where
attackers try millions of combinations.
o Weak passwords: Users often choose weak passwords which are easier to
guess.
o Phishing attacks: Tricking users into revealing their password through fake login
pages.
Overall Security Level:
SSH with a strong password offers a moderately secure connection compared to
unencrypted protocols. However, it's not foolproof. Here's how to improve security:
• Use strong passwords: Complex passwords with a mix of uppercase, lowercase,
symbols, and numbers are harder to crack.
• Enable public key authentication: This method eliminates the need to transmit
passwords altogether, relying on cryptographic keys for verification.
• Limit login attempts: Configure your SSH server to restrict the number of login
attempts to prevent brute-force attacks.
• Keep software updated: Ensure your SSH client and server software are updated with
the latest security patches.
By combining SSH with strong password practices and additional security measures,
you can significantly enhance the overall security of your remote connections.
PEM Key
A PEM (Privacy-Enhanced Mail) key is a format for storing cryptographic keys. It's
commonly used to store private keys used for SSH (Secure Shell) connections. Here's
a quick breakdown:
• Function: PEM files contain the base64 encoded version of the actual private
key along with header and footer information identifying it as a PEM encoded
key.
• Security: While PEM itself doesn't provide encryption, the private key within the
file is crucial for decryption in SSH. So, keeping the PEM file secure is essential.
• SSH and PEM: In SSH public key authentication, a pair of keys is used: a public
key (distributed to servers) and a private key (kept secret). The server uses the
public key to encrypt data that only the corresponding private key can decrypt.
PEM files typically store the private key.
Overall, PEM keys are a valuable tool for secure remote access using SSH, but proper
storage and management are essential for maintaining strong security.
Securing Cloud machines using Defender
Vulnerability Management:
• Defender scans your VMs for security vulnerabilities in the operating system,
applications, and configurations.
• It prioritizes vulnerabilities based on severity and exploits, allowing you to focus on the
most critical issues first.
• Recommendations for remediation steps are provided to help you patch or address the
vulnerabilities.
Threat Protection:
• Defender continuously monitors your VMs for suspicious activity and potential threats.
• It utilizes machine learning and behavioral analytics to detect malware, unauthorized
access attempts, and other malicious activities.
• Alerts are generated for identified threats, enabling you to take timely action.
Just-in-Time (JIT) Access Control:
• JIT access restricts inbound traffic to your VMs, only allowing access from specific IP
addresses or applications for a limited time.
• This reduces the attack surface and minimizes the window of opportunity for attackers.
Adaptive Application Controls:
• This feature allows you to define rules to control which applications can run on your
VMs.
• This helps prevent unauthorized applications from being executed, potentially containing
malware or vulnerabilities.
Adaptive Network Hardening:
• Defender dynamically adjusts security policies for your VMs based on real-time threat
intelligence.
• This helps ensure your VMs are protected against the latest threats without
compromising legitimate traffic.
Workload Protection:
• Defender offers additional security features specifically designed for different workloads
like web apps, databases, and containers.
• These features provide deeper insights and tailored security controls for these specific
environments.
Benefits of using Defender:
• Proactive security: Helps identify and address vulnerabilities before they can be
exploited.
• Reduced attack surface: Minimizes the potential entry points for attackers.
• Improved threat detection: Continuously monitors for malicious activity and provides
timely alerts.
• Simplified management: Offers a central console to manage the security of all your
cloud resources.
Overall, Microsoft Defender for Cloud plays a crucial role in securing your cloud
machines in Azure by providing a comprehensive set of security tools and
automated processes. It's important to note that Defender is one piece of the security
puzzle, and it's essential to implement a layered security approach for optimal
protection.
Here's a breakdown of the basic Linux command for accessing a remote machine
securely:
remote access.
• user: This represents your username on the remote machine where you're trying
to log in.
• remote_machine_ip: This is the IP address of the machine you want to access
remotely.
Example:
ssh jdoe@192.168.1.100
In this example, jdoe is the username on the remote machine with the IP address
192.168.1.100.
Additional Notes:
• After running this command, you'll be prompted to enter the password associated
with your username on the remote machine.
• Make sure you type the password correctly and it won't be echoed on the screen
for security reasons.
• This command establishes a secure connection and allows you to execute
commands on the remote machine as the specified user.
Important Security Considerations:
• Avoid using password-based authentication for remote access whenever
possible. It's generally recommended to set up SSH key-based authentication for
a more secure and passwordless login experience.
• Public key authentication involves creating a public-private key pair on your local
machine. The public key is added to the authorized_keys file on the remote
machine, and the private key remains on your local machine. During login, the
SSH client uses the private key to sign a message, and the remote server
verifies the signature using the corresponding public key, granting access without
needing a password.
cd ./(place where key is placed)
ssh -i ./(key name) (azure_username)@(IP address)
This is a basic overview of remote access using SSH. For enhanced security and
additional functionalities, explore SSH key-based authentication and consider tools like
paramiko for Python or similar libraries in other programming languages to automate
remote access tasks.