<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Miguel </title>
    <description>The latest articles on DEV Community by Miguel  (@d0we007).</description>
    <link>https://dev.to/d0we007</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1263958%2Fbdf4a95b-80b3-4a33-a3d9-6c6238da2982.png</url>
      <title>DEV Community: Miguel </title>
      <link>https://dev.to/d0we007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/d0we007"/>
    <language>en</language>
    <item>
      <title>Main type of routers</title>
      <dc:creator>Miguel </dc:creator>
      <pubDate>Fri, 17 May 2024 00:26:42 +0000</pubDate>
      <link>https://dev.to/d0we007/main-type-of-routers-4o88</link>
      <guid>https://dev.to/d0we007/main-type-of-routers-4o88</guid>
      <description>&lt;h3&gt;
  
  
  Table of Contents
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Broadband Routers&lt;/li&gt;
&lt;li&gt;Wireless Routers&lt;/li&gt;
&lt;li&gt;Other Types of Routers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Main types of routers available and their unique features to help you pick the perfect one for your needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Broadband Routers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Broadband routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Popular for connecting computers and to the Internet.&lt;/li&gt;
&lt;li&gt;Necessary if you use Voice over IP (VOIP) technology and connect to the Internet through a phone line.&lt;/li&gt;
&lt;li&gt;Often a special type of modem (ADSL) with both Ethernet and phone jacks.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Advantages of broadband routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Equipped with a modem, eliminating the need for an additional device to connect to the Internet.&lt;/li&gt;
&lt;li&gt;Offer fast internet speeds.&lt;/li&gt;
&lt;li&gt;Can connect multiple devices.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Potential drawbacks of broadband routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Susceptible to hacking and unauthorized access if not properly secured.&lt;/li&gt;
&lt;li&gt;Wireless broadband routers can experience interference from other electronic devices, leading to signal drops or reduced speeds.&lt;/li&gt;
&lt;li&gt;The wireless signal range can be limited, especially in large homes or offices, potentially requiring additional equipment like range extenders.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wireless Routers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Wireless routers have become increasingly popular:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a wireless signal in your home or office.&lt;/li&gt;
&lt;li&gt;Allow any PC within range to connect and use the Internet.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Advantages of wireless routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provide internet access to multiple devices without wires or cables.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Potential drawbacks of wireless routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Less secure than wired routers, as anyone within range can potentially access your network.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Other Types of Routers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Edge Routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Placed at the edge of the ISP network.&lt;/li&gt;
&lt;li&gt;Configured to external protocols like BGP (Border Gateway Protocol) to connect with other ISPs or large organizations.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Subscriber Edge Routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Belong to an end-user organization (e.g., enterprise).&lt;/li&gt;
&lt;li&gt;Configured to broadcast external BGP to the provider's AS(s).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Inter-provider Border Routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Used for interconnecting ISPs.&lt;/li&gt;
&lt;li&gt;BGP-speaking routers that maintain BGP sessions with other BGP routers in different providers' ASes.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Core Routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Located within the middle or backbone of the LAN network, not at the periphery.&lt;/li&gt;
&lt;li&gt;Provide a step-down backbone, connecting distribution routers from multiple buildings on a campus (LAN) or large enterprise location (WAN).&lt;/li&gt;
&lt;li&gt;Optimized for high bandwidth.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Wired and Wireless Routers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Popular for home and small office networking.&lt;/li&gt;
&lt;li&gt;Maintain routing and configuration information in their routing tables.&lt;/li&gt;
&lt;li&gt;Filter incoming and outgoing traffic based on IP addresses.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7nzj76cdqbcom4ooipf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7nzj76cdqbcom4ooipf.png" alt="Image description" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Checklist of Best Practices for Securing Active Directory (AD)</title>
      <dc:creator>Miguel </dc:creator>
      <pubDate>Fri, 22 Mar 2024 19:39:45 +0000</pubDate>
      <link>https://dev.to/d0we007/checklist-of-best-practices-for-securing-active-directory-ad-231d</link>
      <guid>https://dev.to/d0we007/checklist-of-best-practices-for-securing-active-directory-ad-231d</guid>
      <description>&lt;h1&gt;
  
  
  Secure Active Directory
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What is Active Directory?&lt;/li&gt;
&lt;li&gt;Why is Active Directory important?&lt;/li&gt;
&lt;li&gt;
Checklist:

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Regular Security Audits&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secure Administrative Accounts&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group Policy Security&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privileged Access Management (PAM)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password Policy Enforcement&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Account Lockout Policies&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secure Domain Controllers&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Monitoring and Logging&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security Training and Awareness&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secure DNS Configuration&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secure Replication&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backup and Recovery&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Quote&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Active Directory?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Active Directory&lt;/strong&gt; manages identities and relationships of network resources. It stores and secures information about applications, files, printers, and users, providing a unified framework for access and management. Serving as the central authority, it enables seamless collaboration among distributed resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is Active Directory important?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Active Directory&lt;/strong&gt; serves as a critical component of IT infrastructure, providing essential services for user management, security, and resource administration in Windows-based environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist:
&lt;/h2&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Regular Security Audits&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Conduct regular audits to identify security gaps and vulnerabilities within the AD environment.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Secure Administrative Accounts&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Implement strict controls for administrative accounts, including the use of strong passwords, multi-factor authentication (MFA), and limiting administrative privileges.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Group Policy Security&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Review and secure Group Policy Objects (GPOs) to prevent unauthorized changes to security settings.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Privileged Access Management (PAM)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Utilize PAM solutions to manage and monitor privileged access to AD resources.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Password Policy Enforcement&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Enforce strong password policies, including password complexity requirements and regular password changes.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Account Lockout Policies&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Implement account lockout policies to protect against brute-force attacks.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Secure Domain Controllers&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Harden domain controllers by applying security updates, configuring firewall rules, and limiting physical and network access.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Monitoring and Logging&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Implement robust monitoring and logging mechanisms to detect and respond to security incidents in real-time.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Security Training and Awareness&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Provide regular security training to employees and raise awareness about common threats and best practices.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Secure DNS Configuration&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Configure DNS servers securely to prevent DNS-related attacks and ensure reliable AD functionality.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Secure Replication&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Implement secure replication between domain controllers to protect against data tampering and unauthorized access.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Backup and Recovery&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Establish regular backup and recovery procedures to mitigate the impact of data breaches or system failures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quote:
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;"A domain represents a database. That database holds records about network services-things like computers, users, groups and other things that use, support, or exist on a network. The domain database is, in effect, Active Directory."&lt;/em&gt; - Robert R. King&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Key Overview of IP Whitelisting</title>
      <dc:creator>Miguel </dc:creator>
      <pubDate>Tue, 12 Mar 2024 15:17:52 +0000</pubDate>
      <link>https://dev.to/d0we007/key-overview-of-ip-whitelisting-5aa9</link>
      <guid>https://dev.to/d0we007/key-overview-of-ip-whitelisting-5aa9</guid>
      <description>&lt;h1&gt;
  
  
  Whitelisting IPs
&lt;/h1&gt;

&lt;h3&gt;
  
  
  Table of Contents
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;What's a whitelist?&lt;/li&gt;
&lt;li&gt;What does IP whitelisting mean?&lt;/li&gt;
&lt;li&gt;How do I whitelist an IP address?&lt;/li&gt;
&lt;li&gt;Understanding IP packets&lt;/li&gt;
&lt;li&gt;Why is IP whitelisting a smart business move?&lt;/li&gt;
&lt;li&gt;Advantages of IP whitelisting&lt;/li&gt;
&lt;li&gt;Drawbacks of IP whitelisting&lt;/li&gt;
&lt;li&gt;Getting started with IP whitelisting using VPN &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What's a whitelist?
&lt;/h3&gt;

&lt;p&gt;A whitelist is a list of entities or items that are explicitly allowed or granted permission. In the context of digital security, it often refers to a list of approved elements, such as IP addresses or applications, that are permitted to access a particular resource or system.&lt;/p&gt;

&lt;h3&gt;
  
  
  What does IP whitelisting mean?
&lt;/h3&gt;

&lt;p&gt;IP whitelisting is a security measure where only specific IP addresses are authorized to access a particular system, network, or online resource. It establishes a list of approved IP addresses, ensuring that only those addresses can interact with the designated service.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I whitelist an IP address?
&lt;/h3&gt;

&lt;p&gt;To whitelist an IP address, you typically configure the security settings of a system or network to explicitly allow access from that specific IP address. This can be done through administrative controls or settings within the relevant security infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding IP packets
&lt;/h3&gt;

&lt;p&gt;IP packets are fundamental units of data in Internet Protocol communication. They contain information such as source and destination IP addresses, protocol details, and the actual data being transmitted. Understanding IP packets is crucial for comprehending how data is exchanged across networks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is IP whitelisting a smart business move?
&lt;/h3&gt;

&lt;p&gt;IP whitelisting is a smart business move as it enhances security by restricting access to authorized entities. This helps prevent unauthorized access, protects sensitive information, and reduces the risk of security breaches, ultimately safeguarding the integrity of business operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advantages of IP whitelisting
&lt;/h3&gt;

&lt;p&gt;The advantages of IP whitelisting include heightened security, control over access, protection against unauthorized activities, and the ability to create a more tailored and secure environment for users or systems with approved IP addresses.&lt;/p&gt;

&lt;h3&gt;
  
  
  Drawbacks of IP whitelisting
&lt;/h3&gt;

&lt;p&gt;While effective, IP whitelisting has drawbacks, such as the potential inconvenience of managing and updating the whitelist regularly. Dynamic IP addresses, difficulties in accommodating remote users, and the administrative overhead of maintaining the list are some of the challenges.&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting started with IP whitelisting using VPN
&lt;/h3&gt;

&lt;p&gt;To initiate IP whitelisting using a Virtual Private Network (VPN), one can begin by configuring the VPN to assign specific IP addresses. These designated IPs can then be added to the whitelist of the target system, allowing secure and controlled access through the VPN connection.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Setting up Qemu in Debian Linux</title>
      <dc:creator>Miguel </dc:creator>
      <pubDate>Tue, 05 Mar 2024 16:44:29 +0000</pubDate>
      <link>https://dev.to/d0we007/setup-qemu-in-debian-linux-3fn0</link>
      <guid>https://dev.to/d0we007/setup-qemu-in-debian-linux-3fn0</guid>
      <description>&lt;p&gt;Guide to Setting up QEMU in Debian Linux&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup Qemu in Debian Linux
&lt;/h2&gt;

&lt;p&gt;To check if virtualization is enabled on your Debian Linux system, you can use the following command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

egrep &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s1"&gt;'(vmx|svm)'&lt;/span&gt; /proc/cpuinfo


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If the output is greater than 0, it means that virtualization is enabled on your system. This command checks for the presence of the Intel VT-x or AMD-V extensions, which are required for running virtual machines with QEMU.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install QEMU and Virtual Machine Manager
&lt;/h2&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
 bash
sudo apt install qemu-kvm qemu-system qemu-utils python3 python3-pip libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager -y


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Verify that Libvirtd service is started&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl status libvirtd.service


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26lgtsbmrcmjuwp0j50i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26lgtsbmrcmjuwp0j50i.png" alt="systemctl status libvirtd.service "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Start Default Network for Networking
&lt;/h2&gt;

&lt;p&gt;Using &lt;code&gt;virsh&lt;/code&gt;, the command-line interface tool for managing virtual machines, you can also interact with networks. Here's how you can start the default network and make it auto-start after a system reboot:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start the Default Network:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
 bash
   sudo virsh net-start default


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Enable auto-start:&lt;/strong&gt;&lt;br&gt;
   To make the default network auto-start after a system reboot, use the &lt;code&gt;net-autostart&lt;/code&gt; command followed by the network name:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
 bash
   sudo virsh net-autostart default


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;These commands will start the default network and configure it to start automatically when the host system boots up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check status with:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;sudo &lt;/span&gt;virsh net-list &lt;span class="nt"&gt;--all&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

 Name      State      Autostart   Persistent
&lt;span class="nt"&gt;----------------------------------------------&lt;/span&gt;
 default   active       &lt;span class="nb"&gt;yes          yes&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Add the user to the &lt;code&gt;libvirt&lt;/code&gt; group, which allows the user to access and manage virtual machines using &lt;code&gt;libvirt&lt;/code&gt;:
&lt;/h2&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; libvirt &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; libvirt-qemu &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; kvm &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; input &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; disk &lt;span class="nv"&gt;$USER&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Reboot to complete the process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F27h27tq3ba75k9iwvgep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F27h27tq3ba75k9iwvgep.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cloud Resume Challenge</title>
      <dc:creator>Miguel </dc:creator>
      <pubDate>Tue, 23 Jan 2024 11:53:11 +0000</pubDate>
      <link>https://dev.to/d0we007/test1-129n</link>
      <guid>https://dev.to/d0we007/test1-129n</guid>
      <description>&lt;h2&gt;
  
  
  Quest
&lt;/h2&gt;

&lt;p&gt;Ready to embark on an exciting adventure known as the Cloud Resume Challenge. With determination in their heart and a keyboard in hand, they delved into the digital realm, ready to conquer the challenges that awaited them in the vast and mysterious land of the cloud. So, with each keystroke, they forged their path in the captivating story of taking on the Cloud Resume Challenge.&lt;/p&gt;




&lt;h2&gt;
  
  
  MGM's Cloud Resume Challenge
&lt;/h2&gt;

&lt;p&gt;This highlights my &lt;a href="https://cloudresumechallenge.dev/docs/the-challenge/aws/"&gt;Cloud Resume Challenge&lt;/a&gt;, built on AWS. The &lt;a href="https://miguel.nothingcreatessomething.com/"&gt;website&lt;/a&gt; is hosted on AWS S3 Storage, incorporating a visitor counter and utilizing Amazon Simple Email Service through AWS Functions. The development encompasses HTML, CSS, and JavaScript, with the visitor counter driven by Terraform in collaboration with AWS Lambda Functions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx8ukh1xccggz4x3r8bc1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx8ukh1xccggz4x3r8bc1.png" alt="Architecture" width="800" height="641"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;File Upload to Amazon S3:&lt;/strong&gt;&lt;br&gt;
Transfer your HTML, CSS, and JavaScript files to an Amazon S3 bucket, establishing a secure foundation for hosting your web content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Securing S3 Website with HTTPS:&lt;/strong&gt;&lt;br&gt;
Strengthen the security of your S3 website URL by implementing HTTPS. Utilize Amazon CloudFront to enhance support and establish a robust, encrypted communication channel.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SSL/TLS Certificate Management with ACM:&lt;/strong&gt;&lt;br&gt;
Seamlessly provision, manage, and deploy SSL/TLS certificates with AWS Certificate Manager (ACM). Eliminate manual tasks like purchasing, uploading, and renewing certificates, ensuring secure connections with AWS services and internal resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Custom DNS Configuration:&lt;/strong&gt;&lt;br&gt;
Tailor a custom DNS domain name to direct to the CloudFront distribution, allowing access to your resume at a personalized address like my-name-resume-website.com. Use Amazon Route 53 or your preferred DNS provider for this purpose.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lambda Function for Web App Integration:&lt;/strong&gt;&lt;br&gt;
Develop a Lambda function to efficiently handle requests from your web application, facilitating seamless communication with the DynamoDB database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DynamoDB Visitor Counter Optimization:&lt;/strong&gt;&lt;br&gt;
Ensure the visitor counter efficiently retrieves and updates its count in DynamoDB. Opt for on-demand pricing to minimize costs, especially for projects involving moderate data storage or retrieval.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configuring Amazon Simple Email Service (Amazon SES):&lt;/strong&gt;&lt;br&gt;
Receive emails confidently without relying on an on-premises SMTP server. Leverage the Amazon SES API or SMTP interface for seamless email configuration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS Lambda and Amazon SES Integration:&lt;/strong&gt;&lt;br&gt;
Develop a Python-based Lambda function with the logic for sending emails using Amazon SES. Specify recipient addresses to streamline the email sending process.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;p&gt;“Zen and the Art of Motorcycle Maintenance: An Inquiry into Values” by &lt;a href="https://en.wikipedia.org/wiki/Zen_and_the_Art_of_Motorcycle_Maintenance"&gt;Robert M. Pirsig&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"Two kinds of logic are used, inductive and deductive. Inductive inferences start with observations of the machine and arrive at general conclusions. For example, if the cycle goes over a bump and the engine misfires, and then goes over another bump and the engine misfires, and then goes over another bump and the engine misfires, and then goes over a long smooth stretch of road and there is no misfiring, and then goes over a fourth bump and the engine misfires again, one can logically conclude that the misfiring is caused by the bumps. That is induction: reasoning from particular experiences to general truths. &lt;/p&gt;

&lt;p&gt;Deductive inferences do the reverse. They start with general knowledge and predict a specific observation. For example, if, from reading the hierarchy of facts about the machine, the mechanic knows the horn of the cycle is powered exclusively by electricity from the battery, then he can logically infer that if the battery is dead the horn will not work. That is deduction. &lt;/p&gt;

&lt;p&gt;Solution of problems too complicated for common sense to solve is achieved by long strings of mixed inductive and deductive inferences that weave back and forth between the observed machine and the mental hierarchy of the machine found in the manuals. The correct program for this inter-weaving is formalized as scientific method." (Pirsig, 2008, p. 107)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TLDR&lt;/strong&gt;: Inductive and deductive logic are used to solve complex problems. &lt;strong&gt;&lt;em&gt;Inductive&lt;/em&gt;&lt;/strong&gt; inferences start with observations and lead to general conclusions, while &lt;strong&gt;&lt;em&gt;deductive&lt;/em&gt;&lt;/strong&gt; inferences start with general knowledge and predict specific observations. The solution to complex problems often involves a mix of both, weaving back and forth between observed phenomena and established knowledge, formalized as the scientific method.&lt;/p&gt;




&lt;h3&gt;
  
  
  Scientific method example from the book "Zen and the Art of Motorcycle Maintenance" by Robert M. Pirsig
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Statement of the problem&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Motorcycle: What is wrong with Cycle?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hypothesis as to the cause of the problem&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The trouble is in the electrical system.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Experiment to test each hypothesis (T/F)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The point at which the electrical system directly causes the engine to fire is at the spark plugs, and if you don't test here, at the output of the electrical system, you will never really know whether the failure is electrical or not.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predicted results of the experiments&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;To test properly the mechanic removes the plug and lays it against the engine so that the base around the plug is electrically grounded, kicks the starter lever and watches the spark plug gap for a blue spark. If there isn't any he can conclude one of two things: A) there is an electrical failure or B) his experiment is sloppy.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observed results of the experiments&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;If he is experienced he will try it a few more times, checking connections, trying every way he can think of to get that plug to fire. Then, if he can't get it to fire, he finally concludes that A) is correct, there's an electrical failure, and the experiment is over. He has proved that his hypothesis is correct.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conclusions from the results of the experiments&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;In the final category, conclusions, skill comes in stating no more than the experiment has proved. It hasn't proved that when he fixes the electrical system the motorcycle will start. There may be other things wrong. But he does know that the motorcycle isn't going to run until the electrical system is working and he sets up the next formal question: ``Solve problem: what is wrong with the electrical system?''&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  When tackling challenges that may surface during the cloud resume project, we can adopt a similar approach.
&lt;/h3&gt;

&lt;p&gt;Example: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Statement of the problem&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt; Website: What is wrong CloudFront?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Hypothesis as to the cause of the problem&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The outdated files might be cached in both CloudFront and users' browsers, preventing the display of the updated content on the live website.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Experiment to test each hypothesis (T/F)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;To address the potential caching issue: &lt;strong&gt;Initiate an invalidation&lt;/strong&gt; for the updated files in CloudFront aiming to clear the CloudFront cache.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predicted results of the experiments&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Verification that cached copies in CloudFront have been invalidated.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observed results of the experiments&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Confirmation that cached copies were indeed stored in CloudFront.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conclusions from the results of the experiments&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The process to invalidate updated files in CloudFront was successful in clearing all cached copies. The live website reflected the changes from the recently updated actions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwan6kz0tzokenxe5671h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwan6kz0tzokenxe5671h.png" alt="Image description" width="800" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fmq27azhx01z2n8hxes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fmq27azhx01z2n8hxes.png" alt="Image description" width="383" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As we navigate the problem-solving process, we adhere to the principles of the scientific method.&lt;/p&gt;

&lt;h3&gt;
  
  
  TODO
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Test code.&lt;/li&gt;
&lt;li&gt;Leverage Terraform to orchestrate frontend development tasks. &lt;/li&gt;
&lt;li&gt;Improve doccumentation on github.&lt;/li&gt;
&lt;li&gt;Integrate Ansible into CI/CD pipeline to automate infrastructure provisioning and configuration as part of the deployment process.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Resources / References / Acknowledgements
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/d0we007"&gt;https://github.com/d0we007&lt;/a&gt;&lt;br&gt;
&lt;a href="https://cloudresumechallenge.dev/docs/the-challenge/aws/"&gt;https://cloudresumechallenge.dev/docs/the-challenge/aws/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/@openupthecloud/featured"&gt;https://www.youtube.com/@openupthecloud/featured&lt;/a&gt;&lt;br&gt;
&lt;a href="https://learn.cantrill.io/"&gt;https://learn.cantrill.io/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
