Sign inSign up

jfxs/alpine-cntlm

By jfxs

•Updated 1 day ago

A lightweight automatically updated cntlm multiarch amd64 and arm64 Docker image.

Image
Security
1

10K+

jfxs/alpine-cntlm repository overview

⁠jfxs / alpine-cntlm

Software License Pipeline Status

A cntlm⁠ Docker image:

  • lightweight image based on Alpine Linux only 3 MB,
  • multiarch with support of amd64 and arm64,
  • non-root container user,
  • automatically updated: Renovate tracks the Alpine and cntlm versions and opens the merge requests,
  • image signed with Cosign⁠,
  • an SBOM attestation added using Syft⁠,
  • available on Docker Hub and Quay.io.

GitLab The main repository.

Docker Hub The Docker Hub registry.

Quay.io The Quay.io registry.

⁠Getting Started

⁠Generating your password hash

In order to generate your password hash (-H must be the first argument):

docker run --rm -it jfxs/alpine-cntlm -H -u <username> -d <domain> <proxy_host>:<proxy_port>

Enter your password (not displayed) and press enter.

PassLM          8B536635BF212BDF23E58C193159813A
PassNT          CA739B6BCB33AEB40B377AA52DD37D94
PassNTLMv2      82C73BA04D05533DD9BD9B3930B41977    # Only for user ...
⁠Running the cntlm proxy

Get the PassNTLMv2 hash generated previously and run:

docker run -d --rm --name proxy -p 3128:3128 jfxs/alpine-cntlm  \
-u <username> -p 82C73BA04D05533DD9BD9B3930B41977 -d <domain> <proxy_host>:<proxy_port>

If necessary, the corporate DNS servers can be set-up:

docker run -d --rm --name proxy --dns 10.x.y.z --dns 10.u.v.w -p 3128:3128 jfxs/alpine-cntlm ...
⁠Arguments and options of cntlm
Arg. / Opt.DescriptionDefault
-uProxy account/user name.Required
-dProxy account domain/workgroup name.Required
-pNTLMv2 Hash, required for running the proxy.Required
-HOption to get NTLMv2 hash, must be the first argument.-
-wWorkstation NetBIOS name.cntlm
-gGateway mode, to desactivate: -g noyes
-lLocal port for the cntlm proxy service.3128
-NDirect access networks, separated by commas.localhost,127.0.0.*,10.*,192.168.*
-vOption for debugging information.-
-hPrint usage, must be the first argument.-

⁠Built with

Docker latest tag is 0.92.3-r5-001, 0.92, 0⁠.

The complete software bill of materials (SBOM) of each published image, with its known vulnerabilities, is collected in the sbom-docker⁠ repository, under the component alpine-cntlm.

Dockerhub Overview page⁠ has the details of the last published image.

⁠Versioning

Docker tag definition:

  • the cntlm apk package version used (including the Alpine revision, e.g. 0.92.3-r5),
  • a dash
  • an increment to differentiate build with the same version starting at 001
<cntlm_version>-<increment>

Example: 0.92.3-r5-001

⁠Signature and attestation

Cosign⁠ public key:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEa3yV6+yd/l4zh/tfT6Tx+zn0dhy3
BhFqSad1norLeKSCN2MILv4fZ9GA6ODOlJOw+7vzUvzZVr9IXnxEdjoWJw==
-----END PUBLIC KEY-----

The public key is also available online: https://gitlab.com/op_so/docker/cosign-public-key/-/raw/main/cosign.pub⁠.

To verify an image:

cosign verify --key cosign.pub $IMAGE_URI

To verify and get the SBOM attestation:

cosign verify-attestation --key cosign.pub --type spdxjson $IMAGE_URI | jq '.payload | @base64d | fromjson | .predicate'

⁠Authors

⁠License

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License (MIT). See the LICENSE⁠ for details.

Tag summary

Content type

Image

Digest

sha256:9053cec73…

Size

3.7 MB

Last updated

1 day ago

docker pull jfxs/alpine-cntlm