<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>EndKeep, notes from the tenant</title><link>https://endkeep.com/blog/</link><atom:link href="https://endkeep.com/feed.xml" rel="self" type="application/rss+xml"/><description>One real Microsoft 365 security finding a week, and how it was fixed.</description><language>en</language><lastBuildDate>Sat, 12 Sep 2026 08:00:00 +0500</lastBuildDate><item><title>Three of twelve users had no MFA. Here is how that happens.</title><link>https://endkeep.com/blog/three-of-twelve-users-had-no-mfa/</link><guid isPermaLink="true">https://endkeep.com/blog/three-of-twelve-users-had-no-mfa/</guid><pubDate>Sat, 12 Sep 2026 08:00:00 +0500</pubDate><description>&lt;p class=&quot;lead&quot;&gt;A twelve person firm, Business Premium, a sensible owner. Three accounts with no MFA at all. Nobody did anything wrong. Here is the sequence.&lt;/p&gt;&lt;p&gt;Microsoft&#x27;s security defaults were on when the tenant was created, then someone turned them off to make a printer scanner work, meaning to put them back. Two contractors were added with the &quot;skip MFA for now&quot; habit. The third was the owner&#x27;s own second account, created for a shared inbox and forgotten.&lt;/p&gt;&lt;p&gt;None of that shows up in the admin centre unless you go looking. It shows up the day a phished password is used from another country.&lt;/p&gt;&lt;h3&gt;The fix takes an hour&lt;/h3&gt;&lt;p&gt;One Conditional Access policy requiring MFA for all users, a break glass account excluded, report only for a week to see who it would catch, then on. The scanner gets an app password or a proper SMTP relay. That is the whole job.&lt;/p&gt;&lt;p&gt;If you want to know your number, the $250 Health Check answers it in two days.&lt;/p&gt;</description></item><item><title>Six Business Premium licences nobody used, $130 a month, found in ten minutes.</title><link>https://endkeep.com/blog/six-licences-nobody-used/</link><guid isPermaLink="true">https://endkeep.com/blog/six-licences-nobody-used/</guid><pubDate>Sat, 05 Sep 2026 08:00:00 +0500</pubDate><description>&lt;p class=&quot;lead&quot;&gt;The licence page in the Microsoft 365 admin centre is the most expensive page nobody reads.&lt;/p&gt;&lt;p&gt;Six seats assigned to people who left, a shared mailbox and a test account. At $22 a seat that is $132 a month, $1,584 a year, for nothing. It paid for the assessment that found it twice over.&lt;/p&gt;&lt;h3&gt;Why it happens&lt;/h3&gt;&lt;p&gt;Leavers get disabled but not unlicensed. Shared mailboxes get created as users. Someone buys a seat for a test and never removes it. There is no monthly ritual to check.&lt;/p&gt;&lt;p&gt;The fix is a leaver runbook that includes the licence, converting shared mailboxes properly, and a licence line in the monthly report so it never drifts again. We put that line in every report we send.&lt;/p&gt;</description></item><item><title>The leaver who could still read email eight months on.</title><link>https://endkeep.com/blog/the-leaver-who-could-still-read-email/</link><guid isPermaLink="true">https://endkeep.com/blog/the-leaver-who-could-still-read-email/</guid><pubDate>Sat, 29 Aug 2026 08:00:00 +0500</pubDate><description>&lt;p class=&quot;lead&quot;&gt;Disabled in the HR system. Laptop returned. Still signed in on a phone, still receiving every email to a shared mailbox they had been added to.&lt;/p&gt;&lt;p&gt;Disabling an account does not kill existing sessions, and it does not remove the phone from the mailbox. Revoking sessions does. Removing the device from Intune does. Neither happened because neither was on the list.&lt;/p&gt;&lt;h3&gt;The same day leaver process&lt;/h3&gt;&lt;p&gt;Disable the account, revoke all sessions, reset the password, remove from every group and shared mailbox, retire or wipe the device in Intune, convert the mailbox to shared with forwarding to the manager, reclaim the licence after thirty days. Written down, in that order, done by whoever is on shift.&lt;/p&gt;&lt;p&gt;It takes twenty minutes. Not having it is how you end up explaining to a client why their emails were read by someone who does not work for you.&lt;/p&gt;</description></item></channel></rss>