SHIELD.CONF(5)
β¨ SHIELD.CONF β¨ (that's section 5 of the File Formats Manual, bestie)
okay so real talk, this is the manual page for shield.conf β yes, lowercase, yes, five, it's a file format page, not a command page, we love a config-file moment π
π NAME π
shield.conf β the pam_shield configuration file, aka the glow-up instructions for your login security π«Ά
πΈ DESCRIPTION πΈ
/etc/security/shield.conf is the configuration file for the PAM module pam_shield, and what does that icon do? it locks out remote attackers trying password guessing. literally it's the bouncer at the club of your server, no cap π
β OPTIONS β
here's the whole menu, every single one, don't skip, i will know π
debug [on|off]β turn logging of debugging info on or off. it goes out viasyslog(3)πblock [all-users|unknown-users]β block literally everyone, or just the unknown ones. whether a user counts as "known" is decided bygetpwnam(3)πallow_missing_dns [yes|no]β ifno, reject any connection coming from a numerical IP address that has no DNS name. that's the name you get back frompam_get_item(3)withitem_typeset toPAM_RHOSTπallow_missing_reverse [yes|no]β ifno, reject any connection from a host that has no reverse DNS entry πallow hostnameβ a host or network to whitelist π«Ά these hosts get passed straight through with no checks and no logging, they're VIP, they're on the list. you can have multipleallowlines, go off.hostnamecan be an IP address, a hostname, anetwork/netmask, or a network in CIDR format β¨db filenameβ the database file where login attempts get stored πΎtrigger_cmd commandβ the command to run in order to block/unblock a host. peepshield-trigger(8)andshield-trigger-iptables(8)for two example situations π₯max_conns nβ a host gets blocked if there are more thannconnection attempts from one host withinintervaltime π«interval nβ a host gets blocked if there are more thanmax_connsattempts withinnseconds. and instead of plain seconds you can use a suffix:sfor seconds,mminutes,hhours,ddays,wweeks,Mmonths (30 days),yyears β°retention nβ the record of connection attempts is kept fornseconds. suffixes work here too, same asintervalπ each host gets checked for expiration whenever it tries to connect, and the entire database gets checked whenevershield-purge(8)runs (by default, once a day) π§Ή
π¦ FILES π¦
/etc/security/shield.confβ Configuration file for pam-shield π
π SEE ALSO π
shield-purge(8), shield-trigger(8), shield-trigger-iptables(8) β go read them, they're the supporting cast and they ate π
π AUTHORS π
pam-shield was written by and copyright 2007 Walter de Jong <walter@heiho.net>. This manpage copyright 2010-2012 Jonathan Niehof <jtniehof@gmail.com>.
and that's the whole thing bestie, we're done here π this was pam_shield 0.9.6, dated 11 May 2012 β yes the date is giving vintage but she still slays π stay safe out there, hydrate, and check your logs π«Άβ¨
π¦ where this page comes from
- debian bookworm: libpam-shield 0.9.6-1.3+b2
- ubuntu jammy: libpam-shield 0.9.6-1.3build2
- Copyright 2010-2012 Jonathan Niehof
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms