<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on Luke Hebert</title><link>https://lukehebert.com/category/security/</link><description>Recent content in Security on Luke Hebert</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 21 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://lukehebert.com/category/security/index.xml" rel="self" type="application/rss+xml"/><item><title>Basic Iptables Insert</title><link>https://lukehebert.com/post/basic-iptables-insert/</link><pubDate>Thu, 21 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/basic-iptables-insert/</guid><description>Learn how to insert iptables rules at a specific position using the -I flag, with syntax breakdown and a practical SSH example.</description></item><item><title>Basic (CSV) Authentication to the API Server</title><link>https://lukehebert.com/post/basic-csv-authentication-to-the-api-server/</link><pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/basic-csv-authentication-to-the-api-server/</guid><description>Configure HTTP basic authentication on a kubeadm-managed Kubernetes cluster using a CSV credentials file. Covers mounting the file into kube-apiserver, defining RBAC roles, and verifying access with curl.</description></item><item><title>Docker and Container Capabilities</title><link>https://lukehebert.com/post/docker-and-container-capabilities/</link><pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/docker-and-container-capabilities/</guid><description>An in-depth overview of Linux capabilities and how they govern privilege inside Docker containers and Kubernetes pods. Covers capability sets, file capabilities, bounding sets, securebits, and user-namespace interactions.</description></item><item><title>Kubernetes Secrets: Safety and Best Practices</title><link>https://lukehebert.com/post/encrypting-secrets/</link><pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/encrypting-secrets/</guid><description>Kubernetes Secrets use base64 encoding rather than true encryption, so their safety depends on surrounding practices like encryption at rest and access controls. This post covers best practices, built-in protections, and alternatives like Helm Secrets or HashiCorp Vault.</description></item><item><title>Kubernetes TLS Check List</title><link>https://lukehebert.com/post/kubernetes-tls-check-list/</link><pubDate>Sat, 16 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kubernetes-tls-check-list/</guid><description>A practical checklist covering X.509 certificate requirements for Kubernetes nodes, users, and the API server. Includes deployment methods, cert-manager workflows, and Extended Key Usage configuration.</description></item><item><title>Basic Kerberos Test Class in Java</title><link>https://lukehebert.com/post/basic-kerberos-test-class-in-java/</link><pubDate>Wed, 14 May 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/basic-kerberos-test-class-in-java/</guid><description>A minimal Java class and JAAS configuration for testing Kerberos authentication in isolation, useful when application-level debugging is too noisy to isolate the problem.</description></item><item><title>Myths About /dev/urandom</title><link>https://lukehebert.com/post/myths-about-dev-urandom/</link><pubDate>Fri, 04 Oct 2024 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/myths-about-dev-urandom/</guid><description>A practical breakdown of the most common misconceptions about /dev/urandom and /dev/random on Linux, explaining why /dev/urandom is the correct choice for cryptographic randomness and why blocking on low entropy is a usability problem, not a security one.</description></item><item><title>LDAP OID Reference Guide</title><link>https://lukehebert.com/post/ldap-oid-reference-guide/</link><pubDate>Wed, 12 Jun 2024 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ldap-oid-reference-guide/</guid><description>A comprehensive reference table of common LDAP object identifiers (OIDs) used in schema elements, controls, and extended operations. Each entry includes the OID, its purpose, and a link to the relevant RFC or specification.</description></item><item><title>Working with Multiple Content-Security-Policy Headers</title><link>https://lukehebert.com/post/working-with-multiple-content-security-policy-headers/</link><pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/working-with-multiple-content-security-policy-headers/</guid><description>Multiple Content-Security-Policy headers do not combine; the most restrictive one always wins. Learn how to correctly configure CSP in nginx by consolidating directives into a single header.</description></item><item><title>The Beer Drinker's Guide to SAML Duo Security</title><link>https://lukehebert.com/post/the-beer-drinkers-guide-to-saml-duo-security/</link><pubDate>Mon, 11 Sep 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/the-beer-drinkers-guide-to-saml-duo-security/</guid><description>A plain-English walkthrough of how SAML authentication works, using the analogy of buying a beer at a concert. Covers IdP and SP configuration, IdP-initiated vs SP-initiated flows, and practical troubleshooting steps.</description></item><item><title>A Walkthrough of a TLS 1.3 Handshake</title><link>https://lukehebert.com/post/a-walkthrough-of-a-tls-1.3-handshake/</link><pubDate>Wed, 10 May 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/a-walkthrough-of-a-tls-1.3-handshake/</guid><description>A byte-by-byte walkthrough of a TLS 1.3 handshake using OpenSSL&amp;rsquo;s s_client, comparing each message to its TLS 1.2 counterpart. Highlights how encryption, key exchange, and extensions differ in the latest revision.</description></item><item><title>Palo Alto Networks - Define Traffic to Decrypt</title><link>https://lukehebert.com/post/palo-alto-networks-define-traffic-to-decrypt/</link><pubDate>Mon, 08 May 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/palo-alto-networks-define-traffic-to-decrypt/</guid><description>Learn how to use Decryption Policy rules in Palo Alto Networks to define which traffic to decrypt and which to exclude. This guide also covers best practices for blocking QUIC and applying strict security profiles to sensitive traffic categories.</description></item><item><title>How to Setup and Secure UniFi VLAN</title><link>https://lukehebert.com/post/how-to-setup-and-secure-unifi-vlan/</link><pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/how-to-setup-and-secure-unifi-vlan/</guid><description>A step-by-step guide to creating and securing VLANs in the UniFi Network Console, including firewall rules to block inter-VLAN traffic and restrict console access.</description></item><item><title>Identity Crisis: SAML Rejecting Improper URIs</title><link>https://lukehebert.com/post/id4262-the-saml-nameidentifier-user-is-of-format-urnoasisname/</link><pubDate>Tue, 29 Mar 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/id4262-the-saml-nameidentifier-user-is-of-format-urnoasisname/</guid><description>The ID4262 error occurs when a SAML NameIdentifier uses the entity format but contains an invalid URI. Two resolution steps fix the issue within your identity provider configuration.</description></item><item><title>Kerberos Code 41: Someone’s Tweaking the Stream!</title><link>https://lukehebert.com/post/kerberos-message-stream-modified-41/</link><pubDate>Fri, 18 Feb 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kerberos-message-stream-modified-41/</guid><description>JDK 1.8.0u242 and later introduced Kerberos referral handling per RFC 6806, which can break Active Directory name canonicalization and produce a KRB_AP_ERR_MODIFIED error. This post walks through the two configuration fixes that resolve the issue.</description></item><item><title>Apache Broke on Boot (Because of Course It Did)</title><link>https://lukehebert.com/post/the-following-error-occurs-when-restarting-an-apache-server/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/the-following-error-occurs-when-restarting-an-apache-server/</guid><description>A quick fix for the SSL Library Error 185090057 that appears when restarting Apache, caused by a malformed PEM certificate file. Learn how to validate and correct the certificate format to get your server back online.</description></item><item><title>Awk Scan for wp-login</title><link>https://lukehebert.com/post/awk-scan-for-wp-login/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/awk-scan-for-wp-login/</guid><description>A quick awk pipeline to pull wp-login.php access attempts from web server logs and flag IPs that exceed a threshold. Useful for spotting brute-force or scanning activity against WordPress sites.</description></item><item><title>Decode a Certificate CSR</title><link>https://lukehebert.com/post/decode-certificate-csr/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/decode-certificate-csr/</guid><description>Quick openssl commands to inspect a Certificate Signing Request and an issued X.509 certificate in human-readable form.</description></item><item><title>Disable ModSecurity on a Domain via .htaccess</title><link>https://lukehebert.com/post/disable-mod-sec-on-a-domain-htaccess/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/disable-mod-sec-on-a-domain-htaccess/</guid><description>Learn how to turn off ModSecurity for a specific domain or path using a single directive in your .htaccess file. This is useful when a legitimate request is being blocked by the WAF rules.</description></item><item><title>DKIM Verification: Both Must Be Set to On</title><link>https://lukehebert.com/post/dkim-verification-both-must-be-set-to-on/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/dkim-verification-both-must-be-set-to-on/</guid><description>Exim offers two DKIM-related toggles that work together to validate and enforce sender signatures. Setting both to On ensures your mail server actually checks incoming DKIM records and rejects messages that fail validation.</description></item><item><title>DNS Amplification Attack</title><link>https://lukehebert.com/post/dns-amplifcation-attack/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/dns-amplifcation-attack/</guid><description>A DNS amplification attack floods a victim with forged responses by exploiting open resolvers. This post walks through iptables rules and BIND hardening steps to block the attack vector.</description></item><item><title>HTTPS Force Redirect</title><link>https://lukehebert.com/post/https-force-redirect/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/https-force-redirect/</guid><description>A quick Apache mod_rewrite snippet that forces all HTTP traffic to HTTPS, plus context on where to place it and what to watch for.</description></item><item><title>IP Tables Rate Limit Apache</title><link>https://lukehebert.com/post/ip-tables-rate-limit-apache/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ip-tables-rate-limit-apache/</guid><description>A quick way to throttle inbound HTTP traffic to your Apache server using iptables, protecting it from traffic spikes and simple DoS attempts.</description></item><item><title>IP Tables Rate Limit Bad Bots</title><link>https://lukehebert.com/post/ip-tables-rate-limit-bad-bots/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ip-tables-rate-limit-bad-bots/</guid><description>Use iptables string matching and the recent module to drop connections from abusive bots that exceed a request threshold within a short window.</description></item><item><title>Mod Rewrite and Blocking Bad Bot</title><link>https://lukehebert.com/post/mod-rewrite-block-bad-bot/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/mod-rewrite-block-bad-bot/</guid><description>A quick Apache mod_rewrite snippet that returns a 403 Forbidden to any request whose User-Agent matches a bot pattern. Drop it into your .htaccess and you are done.</description></item><item><title>Mod_qos Tailblock</title><link>https://lukehebert.com/post/mod-qos-tailblock/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/mod-qos-tailblock/</guid><description>A lightweight bash script that monitors Apache error logs for repeated access-denied entries and automatically blocks offending IPs via iptables. Useful for quick-and-dirty rate-based blocking without a full WAF.</description></item><item><title>Nginx Non-standard Status Silent Connection Close</title><link>https://lukehebert.com/post/nginx-non-standard-status-silent-connection-close/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/nginx-non-standard-status-silent-connection-close/</guid><description>Nginx status code 444 silently drops a connection without sending any HTTP response to the client. Learn when and how to use it for security and traffic management.</description></item><item><title>Reject with Comment</title><link>https://lukehebert.com/post/reject-with-comment/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/reject-with-comment/</guid><description>A quick iptables one-liner to reject TCP traffic from a specific source IP with a TCP reset, tagged with a human-readable comment for future reference.</description></item><item><title>Stop Slow Loris Attacks</title><link>https://lukehebert.com/post/stop-slow-loris-attacks/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/stop-slow-loris-attacks/</guid><description>Slow Loris attacks tie up web server sockets with trickling requests until legitimate traffic is starved. This post walks through configuring Apache mod_qos to detect and block those connections automatically.</description></item><item><title>Structure of an AWS IAM Policy</title><link>https://lukehebert.com/post/structure-of-an-iam-policy/</link><pubDate>Tue, 18 Jan 2022 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/structure-of-an-iam-policy/</guid><description>An overview of how AWS IAM policies are structured, including the six policy types and the key elements of a policy document. Learn how to apply the principle of least privilege when defining permissions.</description></item><item><title>The Golden Ticket: Kerberos’ Forbidden Pass</title><link>https://lukehebert.com/post/golden-ticket-attack/</link><pubDate>Mon, 15 Nov 2021 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/golden-ticket-attack/</guid><description>A Golden Ticket attack lets an attacker forge Kerberos tickets and impersonate any user in an Active Directory domain. Learn how the attack works and the concrete steps you can take to defend against it.</description></item><item><title>Resetting AD KRBTGT Password</title><link>https://lukehebert.com/post/resetting-ad-krbtgt-password/</link><pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/resetting-ad-krbtgt-password/</guid><description>A practical guide to resetting the krbtgt account password in Active Directory, including considerations for external trusts and the Microsoft-provided reset script.</description></item><item><title>Kerberos Issue Tracker</title><link>https://lukehebert.com/post/kerberos-issue-tracker/</link><pubDate>Fri, 24 Sep 2021 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kerberos-issue-tracker/</guid><description>A quick reference for the MIT Kerberos project issue tracker, where bugs, security advisories, and feature requests for the reference Kerberos implementation are tracked and resolved.</description></item><item><title>AWS ARN Structure</title><link>https://lukehebert.com/post/aws-arn-structure/</link><pubDate>Thu, 29 Jul 2021 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/aws-arn-structure/</guid><description>Every AWS resource is uniquely identified by an Amazon Resource Name (ARN) used in IAM policies, API calls, and resource references. This post breaks down the standard ARN format into its individual components for easy reading and construction.</description></item><item><title>Debug Kerberos Gen Credentials in CM</title><link>https://lukehebert.com/post/debug-kerberos-gen-credentials-in-cm/</link><pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/debug-kerberos-gen-credentials-in-cm/</guid><description>Learn how to enable Kerberos trace logging in Cloudera Manager&amp;rsquo;s credential generation scripts to diagnose authentication failures quickly.</description></item><item><title>Explain Kerberos Like I'm 5</title><link>https://lukehebert.com/post/explain-kerberos-like-im-5/</link><pubDate>Thu, 10 Dec 2020 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/explain-kerberos-like-im-5/</guid><description>A plain-English walkthrough of how Kerberos authentication works, using a simple analogy to make the ticket-granting process click. Perfect for anyone who has stared at a KDC diagram and felt lost.</description></item><item><title>LDAPS and UnicodePWD</title><link>https://lukehebert.com/post/ldaps-and-unicodepwd/</link><pubDate>Tue, 01 Dec 2020 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ldaps-and-unicodepwd/</guid><description>LDAPS is a hard requirement when setting passwords via unicodePwd on Active Directory. Non-TLS connections are rejected by AD itself, and SASL is not a supported alternative.</description></item><item><title>Common Error Codes for Active Directory Authentication</title><link>https://lukehebert.com/post/common-error-codes-for-active-directory-authentication-acceptsecuritycontext/</link><pubDate>Tue, 24 Nov 2020 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/common-error-codes-for-active-directory-authentication-acceptsecuritycontext/</guid><description>A quick reference for the LDAP error codes returned during Active Directory bind operations, including what each code means and how to interpret the AcceptSecurityContext error message.</description></item><item><title>Cannot Find Key of Appropriate Type, Kerberoasting &amp; Hadoop</title><link>https://lukehebert.com/post/cannot-find-key-of-the-appropriate-type-to-decrypt-ap-rep/</link><pubDate>Tue, 03 Nov 2020 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/cannot-find-key-of-the-appropriate-type-to-decrypt-ap-rep/</guid><description>A troubleshooting guide for the Kerberos error &amp;lsquo;Cannot find key of the appropriate type to decrypt AP REP,&amp;rsquo; covering encryption type mismatches between keytabs and Active Directory, plus practical steps to align AES and RC4 settings.</description></item><item><title>Why You Can't Afford to Ignore the TLS Version Field</title><link>https://lukehebert.com/post/what-is-the-significance-of-the-version-field-in-a-tls-1-1-clienthello-message/</link><pubDate>Tue, 04 Dec 2018 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/what-is-the-significance-of-the-version-field-in-a-tls-1-1-clienthello-message/</guid><description>The version field in a TLS ClientHello message tells the server the highest protocol version the client supports, but it appears in three distinct places with different roles. Understanding where and how each version field is used helps troubleshoot handshake failures and interoperability issues with legacy implementations.</description></item><item><title>Match a TLS Certificate with Its Private Key</title><link>https://lukehebert.com/post/match-a-tls-certificate-with-its-private-key/</link><pubDate>Tue, 21 Nov 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/match-a-tls-certificate-with-its-private-key/</guid><description>Lose track of which private key pairs with which certificate? Use OpenSSL to compare public key hashes and confirm the match in seconds.</description></item><item><title>LDAP Server-Side and Client-Side Result-Error Codes</title><link>https://lukehebert.com/post/ldap-server-side-and-client-side-result-error-codes/</link><pubDate>Tue, 17 Oct 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ldap-server-side-and-client-side-result-error-codes/</guid><description>A quick reference for LDAP result and error codes, covering both server-side responses and client-side indicators, including Active Directory-specific sub-codes under error 49.</description></item><item><title>Kerberos Encryption Type By Number (enctype)</title><link>https://lukehebert.com/post/kerberos-encryption-type-by-number-enctype/</link><pubDate>Thu, 07 Sep 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kerberos-encryption-type-by-number-enctype/</guid><description>A quick reference for Kerberos enctype numbers and what they map to, so you can stop guessing which cipher a ticket is actually using.</description></item><item><title>PTR Records &amp; Kerberos</title><link>https://lukehebert.com/post/ptr-records/</link><pubDate>Tue, 05 Sep 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ptr-records/</guid><description>A valid PTR record must resolve to a name that resolves back to the original address. Multiple PTR records for a single address break name resolution and can cause Kerberos ticket verification to fail.</description></item><item><title>The Unspecified Crime of the Failed Checksum</title><link>https://lukehebert.com/post/failure-unspecified-at-gss-api-level-mechanism-level-checksum-failed/</link><pubDate>Thu, 31 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/failure-unspecified-at-gss-api-level-mechanism-level-checksum-failed/</guid><description>A quick reference for the six most common causes of the Kerberos GSS-API checksum failure error, from wrong passwords to time skew and SPNEGO canonicalization issues.</description></item><item><title>Realm Detection and Pathing in the JSSE (Java)</title><link>https://lukehebert.com/post/crealm-and-srealm-for-java-sun-security-krb5-realm.java-realm-detection-and-pathing/</link><pubDate>Tue, 22 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/crealm-and-srealm-for-java-sun-security-krb5-realm.java-realm-detection-and-pathing/</guid><description>A look at how Java&amp;rsquo;s built-in Kerberos implementation uses cRealm and sRealm to determine the path between client and service realms, including hierarchical traversal and capaths configuration.</description></item><item><title>"Not That Key!" No, Your Other Key...</title><link>https://lukehebert.com/post/specified-version-of-key-is-not-available-44/</link><pubDate>Mon, 21 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/specified-version-of-key-is-not-available-44/</guid><description>Kerberos error 44 occurs when the keytab KVNO does not match the KDC database. This guide walks through diagnosing the mismatch and regenerating the keytab to restore authentication.</description></item><item><title>Java SSLHandshakeException: No Cipher Suites in Common</title><link>https://lukehebert.com/post/java-sslhandshakeexception-no-cipher-suites-in-common/</link><pubDate>Mon, 21 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/java-sslhandshakeexception-no-cipher-suites-in-common/</guid><description>A common Java SSL handshake failure stems from passing a null KeyManager array when initializing the SSLContext, which silently disables all certificate-based cipher suites. This post walks through the root cause and the four most frequent triggers behind the error.</description></item><item><title>Handling Multiple CNs on a Single Certificate</title><link>https://lukehebert.com/post/handling-multiple-cns-on-a-single-certificate/</link><pubDate>Fri, 18 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/handling-multiple-cns-on-a-single-certificate/</guid><description>Multiple CNs in a certificate Subject field are deprecated and cause compatibility failures. The SAN extension is the correct way to cover multiple names on a single certificate.</description></item><item><title>Error 53: The Server Has Left the Chat</title><link>https://lukehebert.com/post/server-is-unwilling-to-perform-53/</link><pubDate>Wed, 16 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/server-is-unwilling-to-perform-53/</guid><description>LDAP error 53 means the destination server is refusing a password change request. This post walks through the most common Active Directory requirements and policy settings that trigger the error.</description></item><item><title>Lost in the Realm: Kerberos Dropped the Map Again</title><link>https://lukehebert.com/post/server-not-found-kerberos/</link><pubDate>Wed, 16 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/server-not-found-kerberos/</guid><description>A quick troubleshooting guide for the &amp;lsquo;Server not found in Kerberos database&amp;rsquo; error, covering the four most common root causes and how to verify each one.</description></item><item><title>400 Cannot Find Key of Appropriate Type to Decrypt AP REP</title><link>https://lukehebert.com/post/400-cannot-find-key-of-appropriate-type-to-decrypt-ap-rep/</link><pubDate>Tue, 18 Jul 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/400-cannot-find-key-of-appropriate-type-to-decrypt-ap-rep/</guid><description>A practical troubleshooting guide for the Kerberos AP REP decryption error, covering the most common causes from keytab mismatches to encryption type misconfigurations.</description></item><item><title>Active Directory Error Types: Kerberos Client Credentials Revoked</title><link>https://lukehebert.com/post/active-directory-error-types-ad_mit-client-credentials-revoked/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/active-directory-error-types-ad_mit-client-credentials-revoked/</guid><description>A quick reference for diagnosing Kerberos authentication failures in Active Directory, covering the lockout state machine and the specific error codes (5be, 775, 18) that indicate revoked credentials or a locked account.</description></item><item><title>Alternate KRB5.conf Location</title><link>https://lukehebert.com/post/alternate-krb5.conf-location/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/alternate-krb5.conf-location/</guid><description>Java reads its Kerberos configuration from a fixed set of paths before falling back to the system default. Setting KRB5_CONFIG lets you point a Java application at a custom krb5.conf without touching the OS-level file.</description></item><item><title>Check Entropy Levels on Linux</title><link>https://lukehebert.com/post/check-entropy-levels-on-linux/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/check-entropy-levels-on-linux/</guid><description>Learn how to check and interpret the kernel entropy pool on Linux, why low entropy can slow down SSL handshakes and SSH sessions, and what to do when the pool runs dry.</description></item><item><title>Checking AES-NI Availability</title><link>https://lukehebert.com/post/checking-aes-ni-availability/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/checking-aes-ni-availability/</guid><description>A quick reference for verifying AES-NI hardware acceleration across Java, OpenSSL, and the CPU itself. Includes benchmark commands to confirm the instruction set is actually being used.</description></item><item><title>Compare KVNO in DB and in Keytab (These Should Match)</title><link>https://lukehebert.com/post/compare-knvo-in-db-and-in-keytab-these-should-match/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/compare-knvo-in-db-and-in-keytab-these-should-match/</guid><description>A quick two-step check to confirm the Kerberos key version number in your KDC database matches the value stored in a local keytab file. Mismatched KVNO values are a common cause of authentication failures in Hadoop and other Kerberized services.</description></item><item><title>How to Enable Kerberos Event Logging (Windows)</title><link>https://lukehebert.com/post/how-to-enable-kerberos-event-logging-windows/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/how-to-enable-kerberos-event-logging-windows/</guid><description>Kerberos authentication failures can be tricky to diagnose without detailed logging. This guide walks you through enabling Kerberos event logging on a Windows machine via the registry so you can capture authentication events in the system log.</description></item><item><title>JDK Breakdowns for Web UI and SPNEGO (u92, u91, u40, u45)</title><link>https://lukehebert.com/post/jdk-break-downs-for-web-ui-and-spengo-u92_u91_u40_u45/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/jdk-break-downs-for-web-ui-and-spengo-u92_u91_u40_u45/</guid><description>Specific JDK 1.8.0 builds (u40, u45, u91, u92) are known to break SPNEGO authentication and Hadoop web interfaces. This post documents the affected versions, the symptoms, and the recommended downgrade path.</description></item><item><title>Kerberos Cross-Realm Trust</title><link>https://lukehebert.com/post/kerberos-cross-realm-trust/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kerberos-cross-realm-trust/</guid><description>Kerberos cross-realm authentication relies entirely on TGS exchanges between KDCs. Understanding the three-step ticket flow makes it easier to troubleshoot trust relationships between domains.</description></item><item><title>keyctl: Key Has Been Revoked</title><link>https://lukehebert.com/post/keyctl-link-key-has-been-revoked/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/keyctl-link-key-has-been-revoked/</guid><description>A quick guide to diagnosing and resolving the &amp;lsquo;Key has been revoked&amp;rsquo; error in the Linux kernel keyring using keyctl commands.</description></item><item><title>Multiple HTTP Service Principal Names</title><link>https://lukehebert.com/post/multiple-http-principles/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/multiple-http-principles/</guid><description>How to verify and manage HTTP service principal names in Active Directory using ldapsearch and setspn, including a note about Centrify&amp;rsquo;s uppercase requirement.</description></item><item><title>SSL Certificate Debugging with openssl s_client</title><link>https://lukehebert.com/post/ssl-certificate-debugging-openssl-s-client/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/ssl-certificate-debugging-openssl-s-client/</guid><description>A practical cheat sheet of openssl s_client commands for inspecting, verifying, and troubleshooting SSL certificates in production environments.</description></item><item><title>Wrong Number! Taming the Kerberos Identity Crisis</title><link>https://lukehebert.com/post/kerberos-krb-ap-err-not-us-or-bad-tgs-server-name/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/kerberos-krb-ap-err-not-us-or-bad-tgs-server-name/</guid><description>A practical look at why the MIT krb5 KDC rejects a TGS-REQ with KRB_AP_ERR_NOT_US, including the exact validation logic and the most common root causes behind the error.</description></item></channel></rss>