{
  "component-definition": {
    "uuid": "cfadb7ed-54e8-5a34-bfd5-723239cd5428",
    "metadata": {
      "title": "ISM-0421 Password strength: implementations in the OSCAL Ops Library",
      "last-modified": "2026-09-16T02:00:55Z",
      "version": "0.1.0",
      "oscal-version": "1.1.2",
      "props": [
        {
          "name": "library-view",
          "ns": "https://oscalops.net/ns/library",
          "value": "control-implementations"
        },
        {
          "name": "catalog-release",
          "ns": "https://oscalops.net/ns/library",
          "value": "6f037e85-d69c-5606-874e-1d986ef561a9"
        },
        {
          "name": "control-id",
          "ns": "https://oscalops.net/ns/library",
          "value": "ism-0421"
        }
      ],
      "links": [
        {
          "href": "https://library.oscalops.net/catalogs/acsc-ism/v2026.09.4/controls/ism-0421.json",
          "rel": "canonical"
        }
      ],
      "roles": [
        {
          "id": "system-administrator",
          "title": "System Administrator"
        },
        {
          "id": "system-security-officer",
          "title": "System Security Officer"
        }
      ],
      "parties": [
        {
          "uuid": "1b4346aa-044e-4e42-a524-53d40f60f879",
          "type": "organization",
          "name": "Platform Operations"
        }
      ],
      "remarks": "A derived view: the implemented requirements for ISM-0421 in Information Security Manual v2026.09.4, copied from the newest version of each component definition that addresses it. Each component's source-document property names that version in back matter. Edit the source component definitions, not this view."
    },
    "components": [
      {
        "uuid": "c5583c57-fc9c-4014-86b1-55c018f4e5f9",
        "type": "software",
        "title": "Debian 13 ISM Minimum Passphrase Length",
        "description": "The ISM minimum password length for the system's applicability, enforced by pam_pwquality: 15 characters on non-classified, OFFICIAL: Sensitive and PROTECTED systems, 17 on SECRET and 20 on TOP SECRET. One drop-in per applicability, exactly one live at a time.\n\nDepends on debian-13-pwquality-base. Pair it with debian-13-pwquality-no-complexity as well: with character-class credits enabled, a shorter password can satisfy the minimum, which the verification script tests for.",
        "purpose": "Enforce the ISM minimum password length on local Debian accounts.",
        "props": [
          {
            "name": "os-distribution",
            "ns": "https://ns.oscalops.net/component-definitions",
            "value": "debian"
          },
          {
            "name": "os-release",
            "ns": "https://ns.oscalops.net/component-definitions",
            "value": "13"
          },
          {
            "name": "os-codename",
            "ns": "https://ns.oscalops.net/component-definitions",
            "value": "trixie"
          },
          {
            "name": "setting",
            "ns": "https://ns.oscalops.net/component-definitions",
            "value": "pwquality:minlen"
          },
          {
            "name": "source-document",
            "ns": "https://oscalops.net/ns/library",
            "value": "37344a3e-6bdb-5f3e-8a98-c2c94793cc31"
          }
        ],
        "links": [
          {
            "href": "#e57bfd80-2a20-49e3-8feb-2bdfd7e81ccf",
            "rel": "depends-on",
            "text": "pam_pwquality must be installed and enforcing"
          }
        ],
        "responsible-roles": [
          {
            "role-id": "system-administrator",
            "party-uuids": [
              "1b4346aa-044e-4e42-a524-53d40f60f879"
            ]
          }
        ],
        "control-implementations": [
          {
            "uuid": "ff0dc6d6-19f7-4950-8a29-96e4a5710dbb",
            "source": "https://raw.githubusercontent.com/AustralianCyberSecurityCentre/ism-oscal/v2026.09.4/ISM_catalog.json",
            "description": "The ISM minimum password length, by applicability, as published in the ACSC ISM OSCAL catalogue release v2026.09.4.",
            "props": [
              {
                "name": "catalog-release",
                "ns": "https://ns.oscalops.net/component-definitions",
                "value": "v2026.09.4"
              },
              {
                "name": "catalog-authority",
                "ns": "https://ns.oscalops.net/component-definitions",
                "value": "Australian Cyber Security Centre"
              },
              {
                "name": "control-family",
                "ns": "https://ns.oscalops.net/component-definitions",
                "value": "Guidelines for system access > Credential management > Password strength"
              }
            ],
            "links": [
              {
                "href": "#36c41fd6-4e7c-4dbf-92bc-604bf58f40f1",
                "rel": "reference",
                "text": "Pinned ISM catalogue release"
              }
            ],
            "implemented-requirements": [
              {
                "uuid": "7fd6de0b-3708-4013-8c97-9ba9cf947942",
                "control-id": "ism-0421",
                "description": "pam_pwquality enforces a minimum passphrase length of 15 characters on non-classified, OFFICIAL: Sensitive and PROTECTED systems, via the drop-in 50-ism-minlen-nc-os-p.conf.\n\nVerified by behaviour: the shortest passphrase the live policy accepts is measured, and nothing shorter than 15 characters is accepted. A 14-character candidate using every character class is also rejected, which shows credits are not lowering the minimum.",
                "props": [
                  {
                    "name": "implementation-status",
                    "ns": "https://ns.oscalops.net/component-definitions",
                    "value": "implemented"
                  },
                  {
                    "name": "applicability",
                    "ns": "https://cyber.gov.au/ns/ism/oscal/3.0",
                    "value": "NC"
                  },
                  {
                    "name": "applicability",
                    "ns": "https://cyber.gov.au/ns/ism/oscal/3.0",
                    "value": "OS"
                  },
                  {
                    "name": "applicability",
                    "ns": "https://cyber.gov.au/ns/ism/oscal/3.0",
                    "value": "P"
                  },
                  {
                    "name": "pwquality-minlen",
                    "ns": "https://ns.oscalops.net/component-definitions/debian-passphrase-hardening",
                    "value": "15"
                  },
                  {
                    "name": "correlates-nist-statement",
                    "ns": "https://ns.oscalops.net/component-definitions",
                    "value": "ia-5.1_smt.h"
                  },
                  {
                    "name": "correlation-strength",
                    "ns": "https://ns.oscalops.net/component-definitions",
                    "value": "equivalent"
                  },
                  {
                    "name": "assessment-method",
                    "ns": "https://ns.oscalops.net/component-definitions",
                    "value": "test"
                  },
                  {
                    "name": "assessment-frequency",
                    "ns": "https://ns.oscalops.net/component-definitions",
                    "value": "annual"
                  }
                ],
                "links": [
                  {
                    "href": "#8a7620ba-0530-44ea-9045-24bd2885345b",
                    "rel": "reference",
                    "text": "Minimum length drop-in"
                  },
                  {
                    "href": "#c91079a7-e708-4e9b-bfd1-bc48d6792870",
                    "rel": "reference",
                    "text": "Verification script"
                  }
                ],
                "responsible-roles": [
                  {
                    "role-id": "system-administrator",
                    "party-uuids": [
                      "1b4346aa-044e-4e42-a524-53d40f60f879"
                    ]
                  }
                ],
                "remarks": "ISM applicability for this control is limited to the codes in its applicability props, which match the pinned catalogue. Deploying the drop-in for a different tier would assert a different control (ism-0421, ism-1557, or ism-0422); the apply script removes every other ISM drop-in so two minimum lengths can never be live at once."
              }
            ]
          }
        ]
      }
    ],
    "back-matter": {
      "resources": [
        {
          "uuid": "6f037e85-d69c-5606-874e-1d986ef561a9",
          "title": "Information Security Manual",
          "props": [
            {
              "name": "version",
              "value": "v2026.09.4"
            },
            {
              "name": "library-item",
              "ns": "https://oscalops.net/ns/library",
              "value": "catalog-release"
            },
            {
              "name": "catalog-key",
              "ns": "https://oscalops.net/ns/library",
              "value": "acsc-ism"
            },
            {
              "name": "authority",
              "ns": "https://oscalops.net/ns/library",
              "value": "Australian Cyber Security Centre"
            },
            {
              "name": "licence",
              "ns": "https://oscalops.net/ns/library",
              "value": "CC-BY-4.0"
            },
            {
              "name": "controls",
              "ns": "https://oscalops.net/ns/library",
              "value": "1192"
            }
          ],
          "citation": {
            "text": "ISM OSCAL content from the Australian Signals Directorate's Australian Cyber Security Centre, provided under a Creative Commons Attribution 4.0 International licence, excluding the Coat of Arms and the ASD logo."
          },
          "rlinks": [
            {
              "href": "../ISM_catalog.json",
              "media-type": "application/oscal+json",
              "hashes": [
                {
                  "algorithm": "sha-256",
                  "value": "237ea09362b8449ed5c5ee85de4725a0468ee73d13af7cf61c26d4e6ac47f12d"
                }
              ]
            },
            {
              "href": "https://raw.githubusercontent.com/AustralianCyberSecurityCentre/ism-oscal/v2026.09.4/ISM_catalog.json",
              "media-type": "application/oscal+json",
              "hashes": [
                {
                  "algorithm": "sha-256",
                  "value": "237ea09362b8449ed5c5ee85de4725a0468ee73d13af7cf61c26d4e6ac47f12d"
                }
              ]
            }
          ]
        },
        {
          "uuid": "37344a3e-6bdb-5f3e-8a98-c2c94793cc31",
          "title": "Debian 13 ISM Minimum Passphrase Length Component Definition",
          "description": "The ISM minimum password length for the system's applicability, enforced by pam_pwquality: 15 characters on non-classified, OFFICIAL: Sensitive and PROTECTED…",
          "props": [
            {
              "name": "version",
              "value": "1.0.0"
            },
            {
              "name": "library-item",
              "ns": "https://oscalops.net/ns/library",
              "value": "component-definition-version"
            },
            {
              "name": "artifact-slug",
              "ns": "https://oscalops.net/ns/library",
              "value": "debian-13-pwquality-minlen"
            },
            {
              "name": "publication-status",
              "ns": "https://oscalops.net/ns/library",
              "value": "unpublished"
            },
            {
              "name": "assurance-state",
              "ns": "https://oscalops.net/ns/library",
              "value": "technically-tested"
            },
            {
              "name": "source-kind",
              "ns": "https://oscalops.net/ns/library",
              "value": "local"
            }
          ],
          "rlinks": [
            {
              "href": "../../../../component-definitions/debian-13-pwquality-minlen/1.0.0/component-definition.json",
              "media-type": "application/oscal+json",
              "hashes": [
                {
                  "algorithm": "sha-256",
                  "value": "df3f07cdf225d7c4b2e4d44e4c50c32e2ecc1a62392a8f3415cd16f814630931"
                }
              ]
            },
            {
              "href": "../../../../component-definitions/debian-13-pwquality-minlen/1.0.0/index.html",
              "media-type": "text/html"
            }
          ]
        },
        {
          "uuid": "8a7620ba-0530-44ea-9045-24bd2885345b",
          "title": "Minimum length, applicability NC, OS, P",
          "description": "minlen = 15, asserting ism-0421 on non-classified, OFFICIAL: Sensitive and PROTECTED systems. Deploys to /etc/security/pwquality.conf.d/50-ism-minlen-nc-os-p.conf.",
          "props": [
            {
              "name": "artifact-type",
              "ns": "https://ns.oscalops.net/component-definitions",
              "value": "pwquality-config"
            }
          ],
          "rlinks": [
            {
              "href": "../../../../component-definitions/debian-13-pwquality-minlen/1.0.0/config/pwquality.conf.d/50-ism-minlen-nc-os-p.conf",
              "media-type": "text/plain"
            }
          ]
        },
        {
          "uuid": "c91079a7-e708-4e9b-bfd1-bc48d6792870",
          "title": "Verification script",
          "description": "Asserts the control from behaviour, with every candidate padded to the minimum length in force, and reports separately if another configuration sets a setting this component owns.",
          "props": [
            {
              "name": "artifact-type",
              "ns": "https://ns.oscalops.net/component-definitions",
              "value": "shell-script"
            }
          ],
          "rlinks": [
            {
              "href": "../../../../component-definitions/debian-13-pwquality-minlen/1.0.0/scripts/verify-minlen.sh",
              "media-type": "text/plain"
            }
          ]
        },
        {
          "uuid": "36c41fd6-4e7c-4dbf-92bc-604bf58f40f1",
          "title": "ACSC ISM OSCAL catalogue v2026.09.4",
          "description": "Australian Cyber Security Centre Information Security Manual OSCAL catalogue, release v2026.09.4: the release this document's control identifiers resolve against.",
          "props": [
            {
              "name": "release-tag",
              "ns": "https://ns.oscalops.net/component-definitions",
              "value": "v2026.09.4"
            },
            {
              "name": "sha256",
              "ns": "https://ns.oscalops.net/component-definitions",
              "value": "237ea09362b8449ed5c5ee85de4725a0468ee73d13af7cf61c26d4e6ac47f12d"
            }
          ],
          "rlinks": [
            {
              "href": "https://raw.githubusercontent.com/AustralianCyberSecurityCentre/ism-oscal/v2026.09.4/ISM_catalog.json",
              "media-type": "application/json"
            }
          ]
        },
        {
          "uuid": "e57bfd80-2a20-49e3-8feb-2bdfd7e81ccf",
          "title": "debian-13-pwquality-base component-definition",
          "description": "The component this one depends on: pam_pwquality must be installed and enforcing, or nothing here is applied.",
          "document-ids": [
            {
              "scheme": "https://ns.oscalops.net/component-definitions",
              "identifier": "debian-13-pwquality-base"
            }
          ],
          "rlinks": [
            {
              "href": "https://library.oscalops.net/component-definitions/debian-13-pwquality-base/1.0.0/component-definition.json",
              "media-type": "application/json"
            }
          ]
        }
      ]
    }
  }
}
