Introduction
- Prerequisite Knowledge
- Who might benefit from this course?
- What You Will Build
- Recommended Hardware
- ACEPC AK1 Mini PC
- Raspberry Pi 4 Model B/4GB
- Cisco SG350-10 10-Port Managed Switch
- Dell T420
- Protectli Vault 4-Port Firewall Appliance / Micro PC
- Lab Constraints
- Capital Expenditure
- Operational Expenditure
- Physical Size, Modularity, and Power Consumption
- Virtual Portability
- Remote Access
- How The Book Is Structured
- Running the Code
Building the Bootstrap Host
- All About Ansible
- run.sh
- Inventory and Installation
- Final Steps
- Terraform versus Ansible
Constructing the Network
- VyOS Initial Configuration
- Links
- VLAN Design
- Layer 2 Segmentation for Security
- VLAN Descriptions
- Outbound Communications
- Connecting the Router to the Enveloping Network
- Network Inventory Distinctions
- Networking on VyOS
- Router-on-a-Stick versus Alternatives
- Network Address Translation (NAT)
- Authentication and Authorization Considerations
Segmenting the Network at Layer 2
- Initial Configuration
- Connecting the Switch to the Network
- iOS Inventory
- VLAN to Port Assignments
- Distinguishing Access Ports from Trunk Ports
Building the Firewalls
- VyOS Firewall Basics
- Global Ingress Rules
- Global Egress Rules
- Inter-VLAN Ingress Rules
Initial Cloud Integration: AWS, Cloudflare, and GWorkspace
- Amazon Web Services (AWS)
- Cloudflare
- Google Workspace (GWorkspace, formerly known as GSuite)
- Email Considerations
- Identity Management
- Cloudflare
- GWorkspace
- AWS
- Security Hygiene with Multi-Factor Authentication
- MFA: Virtual Devices versus FIDO U2F
- Creating the Bootstrap Administrator
- Account Architecture
- S3 and Terraform Remote State
- Account Creation
- A Side Note On The Sub-Account Root User
- Single Sign-On (SSO): Authentication and Authorization
- Local System Authentication on Linux
- Password-Based Local Authentication
- Key-Based Local Authentication
- Additional Hurdles and Solutions with Local Authentication
- Lightweight Directory Access Protocol (LDAP)
- Identity and Access Management (IAM)
- A Better Approach to AuthN & AuthZ
- 10,000 Foot View of SAML
- Cloud Identity Simplification
- Problematic Designs
- Improvements via SSO
- GWorkspace versus Jumpcloud
- GWorkspace Setup
- Mapping Workspace Attributes to AWS
- Creating the SAML App
- Granting a User AWS Permissions
- Trust Relationship and Roles Creation
- Why not AWS SSO?
- Terraforming Roles and Relationships Across Accounts
Core Services
- Proxy Server (prx-01)
- DNS
- Caddy
- Historical Problems with SSL/TLS
- Lets Encrypt to the Rescue
- Caddy with the Cloudflare Provider
- Proxmox Malware-Analysis Virtualization Server (mal-01)
Remote Access with Zero-Trust Networking
- Today’s Standard
- Why Not VPNs?
- Configuring the Jump Server
- The Good and the Bad: Secure LDAP (LDAPS) with Google Workspace
- Remote Access with XRDP Server
- Implementation with Cloudflare Access
- Install and Configure: Cloudflare Access
- The Big Picture
- Resources Required
- Configuring the Identity Provider
- Creating the Applications
- Creating the Tunnels
Automated and Ad-Hoc Administration
- Configuring the Credentials
- SSM Hybrid Management
- Activation Code
- Log Storage with S3
- SSM Encryption In-Transit
- Log Replication
- Vault Account
- Systems Account
- Installing the Agent
- Updating SSM Preferences
- Pricing Note
- Finishing it Off
- The Result
Conclusion
- Where to Go Next?
- Thank You