No history yet

Monitoring and Auditing

Transcript

Beau

Alright, Jo. We've built this incredible, global, Fort Knox-level setup for our 1,200 users. We've got the VPCs, the multi-region Active Directory, the Palo Alto firewalls... it's all humming along. But it feels a bit like we've built a submarine and now we're just... hoping it doesn't spring a leak? How do we actually know what's going on inside?

Jo

That's the perfect analogy. You don't just build a submarine, you cover it in sensors. And for our AWS environment, our sensor network is a combination of a few key services. The first one, and probably the most important for day-to-day health, is Amazon CloudWatch.

Beau

CloudWatch. I've heard the name. Sounds... generic. Like it watches clouds.

Jo

It's a terrible name for what it does. Think of it as the central nervous system. It collects data—metrics and logs—from basically everything in AWS. For WorkSpaces, this is critical. It's not just about if the WorkSpace is 'on' or 'off'.

Beau

Okay, so what kind of data are we talking about? Like, how much CPU a trader in New York is using?

Jo

Exactly that. But also more useful stuff, like 'UserConnected' and 'SessionLaunchTime'. You can see how long it takes for someone to log in. But the real power is in the alarms you build on top of those metrics.

Beau

Alarms. So, it's our smoke detector.

Jo

Precisely. Imagine this: it’s 8:55 AM in London. A whole team of analysts is trying to log in. Let's say one of the underlying host machines has an issue and five WorkSpaces fail to launch. You don't want to find out from five angry support tickets. With CloudWatch, you can set an alarm that says, 'If the metric for 'Unhealthy' WorkSpaces goes above zero for more than five minutes, send an immediate, high-priority notification to the IT Ops Slack channel and page the on-call engineer.'

Beau

Okay, *that* is useful. So IT knows there's a problem before the user even has time to find the support number. You’re moving from reactive to proactive.

Jo

Exactly. And it’s not just for failures. If a user disconnects unexpectedly, CloudWatch registers that. You can set an alarm if a specific VIP user, say a portfolio manager, gets disconnected during market hours. That's an immediate, 'all hands on deck' situation.

Beau

So CloudWatch is the 'what is happening right now' tool. The health monitor. But we're in a regulated investment firm. We don't just need to know what's happening now, we need a record of everything that *ever* happened, right? For the auditors.

Jo

Yep. And for that, we turn to a different service: AWS CloudTrail. If CloudWatch is the health monitor, CloudTrail is the indestructible black box recorder.

Beau

Okay, I like that. So what does the black box record?

Jo

Every single API call made in your AWS account. Everything. When an admin creates a new WorkSpace, that's a 'CreateWorkspaces' API call. It's logged. When they change a security group rule through the Palo Alto firewall integration, that's logged. When a user rebuilds their own machine using the self-service portal we talked about, that's a 'RebuildWorkspaces' call. Logged.

Beau

Who did it, what did they do, and when did they do it.

Jo

And from what IP address. It's the ultimate paper trail. So when an auditor comes and asks, 'Show me who had the ability to change firewall rules on this date, and prove whether they did or not,' you don't spend three weeks digging through server logs. You run a query against your CloudTrail logs and have an answer in minutes.

Beau

Okay, that makes sense. CloudWatch for live health, CloudTrail for the historical audit trail. But what about inside the WorkSpace itself? What if a user installs, I don't know, a crypto mining app? Do these tools see that?

Jo

No, they don't. That's a great question. They see the infrastructure, but not the contents of the operating system. For that, you need something else. WorkSpaces actually has a built-in feature for this, but it’s easy to miss. It's simply called Inventory.

Beau

Inventory. And it... takes inventory of the software?

Jo

Yeah, it's just a simple checkbox when you configure your WorkSpaces directory. When you enable it, WorkSpaces uses the AWS Systems Manager agent—which is already on the machine—to collect a detailed list of all installed applications, patches, and even network configurations from every single WorkSpace.

Beau

So if our compliance policy says 'No software other than the approved applications from the Golden Image is allowed,' this is how we prove it?

Jo

This is exactly how you prove it. An auditor asks for a list of all software installed on contractor machines in the Tokyo region? You can generate that report. And more importantly, you can set up automated checks. If the inventory scan detects 'bittorrent.exe' or 'cryptominer.exe' on any machine, it can trigger an alert, just like with CloudWatch.

Beau

Okay, this is starting to feel like a very tight net. We have health monitoring, a complete audit log, and now software inventory. What's left? What if a machine isn't doing something it shouldn't, but it's just... acting weird?

Jo

That's the final piece of the puzzle. That's threat detection. For that, we use another service called Amazon GuardDuty.

Beau

GuardDuty. Sounds like it should be standing at a door wearing a red coat.

Jo

It's more like an AI-powered security analyst that never sleeps. GuardDuty analyzes multiple data streams—VPC flow logs, DNS logs, and importantly, our CloudTrail logs—and uses machine learning to detect anomalous or malicious behavior.

Beau

Anomalous behavior. What does that mean in practice? Give me the 'mental movie'.

Jo

Okay. A user's WorkSpace in the Singapore region normally only connects to internal servers and maybe a few approved financial data providers. Suddenly, at 2 AM local time, it starts trying to communicate with an IP address in Eastern Europe known for hosting command-and-control servers for malware.

Beau

Whoa. Yeah, that's not good.

Jo

Right. You or I might not notice that one little network connection in a sea of traffic. But GuardDuty is specifically trained to. It sees that behavior, cross-references the destination with its threat intelligence feeds, and immediately generates a high-severity finding. It'll say something like: 'EC2 instance—which is what a WorkSpace runs on—is communicating with a known malicious domain.'

Beau

And that finding can trigger an alarm in CloudWatch, which pages the on-call security engineer, who can then go and isolate that WorkSpace. It all connects.

Jo

Now you're getting it. CloudTrail provides the raw data of 'what happened'. GuardDuty analyzes that data to find the 'what happened that looks evil'. And CloudWatch alerts us that something evil was found. They're a three-legged stool for security monitoring.

Beau

So, let me see if I've got the whole picture for reporting. An auditor walks in. They ask, 'How do you know your systems are healthy?' We show them our CloudWatch dashboards and alarms. They ask, 'Prove who did what.' We show them the CloudTrail logs. They ask, 'Prove nobody installed unauthorized software.' We run a report from WorkSpaces Inventory. And they ask, 'How do you detect threats?' We show them the GuardDuty findings.

Jo

That's it. You've just passed your audit. It's not about having one magic tool; it's about layering these different services that are each excellent at one specific job. Together, they give you the comprehensive visibility you need in this kind of high-stakes environment.

Beau

So the submarine doesn't just have sensors. It has a health monitor, a black box, a cargo manifest, and an intruder alarm. Got it. Suddenly I feel much better about being underwater.