Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| hardening [2019/02/07 17:31] – [Aide] admin | hardening [2024/11/30 10:22] (current) – [Managing Accounts] dani | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Hardening ====== | + | ====== Hardening |
| ===== Updates ===== | ===== Updates ===== | ||
| Line 221: | Line 221: | ||
| Usually the password and account ageing is configured in ''/ | Usually the password and account ageing is configured in ''/ | ||
| - | {{:images/Hardening/users.png| User management}} | + | {{:images:users.png? |
| === PAM Modules === | === PAM Modules === | ||
| Line 444: | Line 444: | ||
| * Prepare server for '' | * Prepare server for '' | ||
| - | < | + | < |
| - | chkconfig NetworkManager off; service NetworkManager stop ... vim / | + | chkconfig NetworkManager off; service NetworkManager stop |
| + | ... | ||
| + | vim / | ||
| + | DEVICE=" | ||
| + | BOOTPROTO=" | ||
| + | HWADDR=" | ||
| + | IPV6INIT=" | ||
| + | MTU=" | ||
| + | NM_CONTROLLED=" | ||
| + | ONBOOT=" | ||
| + | TYPE=" | ||
| + | UUID=" | ||
| + | IPADDR=192.168.0.101 | ||
| + | NETMASK=255.255.255.0 | ||
| + | GATEWAY=192.168.0.254 | ||
| + | DNS1=192.168.0.254 | ||
| - | vim /etc/hosts 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.0.X+100 serverX.example.com serverX | + | vim /etc/hosts |
| + | 127.0.0.1 localhost.localdomain localhost | ||
| + | ::1 localhost6.localdomain6 localhost6 | ||
| + | 192.168.0.X+100 serverX.example.com serverX | ||
| chkconfig network on; service network restart | chkconfig network on; service network restart | ||
| Line 470: | Line 488: | ||
| <code bash> | <code bash> | ||
| - | kinit admin Password for admin@EXAMPLE.COM: | + | kinit admin |
| + | Password for admin@EXAMPLE.COM: | ||
| ipa user-find admin | ipa user-find admin | ||
| Line 492: | Line 511: | ||
| <code bash> | <code bash> | ||
| - | getent passwd admin | + | getent passwd admin |
| + | getent group admins | ||
| + | kinit admin | ||
| </ | </ | ||
| Line 498: | Line 519: | ||
| <code bash> | <code bash> | ||
| - | ipa user-add gpyle --first=Gomer --last=Pyle --password | + | ipa user-add gpyle --first=Gomer --last=Pyle --password |
| + | ipa user-add cboyle --first=Charles --last=Boyle --password | ||
| + | ... | ||
| </ | </ | ||
| Line 516: | Line 539: | ||
| <code bash> | <code bash> | ||
| - | ipa sudocmd-add --desc "For displaying logs" / | + | ipa sudocmd-add --desc "For displaying logs" / |
| + | ipa sudocmdgroup-add --desc "List logs" loglist | ||
| + | ipa sudocmdgroup-add-member --sudocmds "/ | ||
| + | ipa sudorule-add --hostcat " | ||
| + | ipa sudorule-add-option loglist-attr | ||
| + | ipa sudorule-add-user --groups marines loglist-attr | ||
| + | ipa sudorule-add-allow-command --sudocmdgroups loglist loglist-attr | ||
| </ | </ | ||
| Line 536: | Line 565: | ||
| * Create and change into directory ('' | * Create and change into directory ('' | ||
| - | < | + | < |
| - | mkdir ca cd ca | + | mkdir ca |
| + | cd ca | ||
| </ | </ | ||
| Line 571: | Line 601: | ||
| Common name: serverX.example.com | Common name: serverX.example.com | ||
| - | Is this a TLS web client certificate? | + | Is this a TLS web client certificate? |
| + | Is this also a TLS web server certificate? | ||
| </ | </ | ||
| Line 578: | Line 609: | ||
| <code bash> | <code bash> | ||
| - | certtool --generate-certificate --load-request serverX-request.pem --outfile serverX-cert.pem --load-ca-certificate ca.pem --load-ca-privkey ca-key.pem | + | certtool --generate-certificate --load-request serverX-request.pem --outfile serverX-cert.pem |
| + | --load-ca-certificate ca.pem --load-ca-privkey ca-key.pem | ||
| The certificate will expire in (days): 1000 | The certificate will expire in (days): 1000 | ||
| - | Is this a TLS web client certificate? | + | Is this a TLS web client certificate? |
| + | Is this also a TLS web server certificate? | ||
| + | Enter a dnsName of the subject of the certificate: | ||
| </ | </ | ||
| Line 590: | Line 624: | ||
| <code bash> | <code bash> | ||
| - | # make gtls driver the default $DefaultNetstreamDriver gtls | + | # make gtls driver the default |
| + | $DefaultNetstreamDriver gtls | ||
| - | # certificate files $DefaultNetstreamDriverCAFile / | + | # certificate files |
| + | $DefaultNetstreamDriverCAFile / | ||
| + | $DefaultNetstreamDriverCertFile / | ||
| + | $DefaultNetstreamDriverKeyFile / | ||
| $ModLoad imtcp # load TCP listener | $ModLoad imtcp # load TCP listener | ||
| - | $InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode $InputTCPServerStreamDriverAuthMode anon # client is NOT authenticated $InputTCPServerRun 6514 # listen on port 6514 | + | $InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode |
| + | $InputTCPServerStreamDriverAuthMode anon # client is NOT authenticated | ||
| + | $InputTCPServerRun 6514 # listen on port 6514 | ||
| </ | </ | ||
| Line 602: | Line 642: | ||
| <code bash> | <code bash> | ||
| - | # certificate files - just CA for a client $DefaultNetstreamDriverCAFile / | + | # certificate files - just CA for a client |
| + | $DefaultNetstreamDriverCAFile / | ||
| - | # set up the action $DefaultNetstreamDriver gtls | + | # set up the action |
| - | # use gtls netstream driver $ActionSendStreamDriverMode 1 | + | $DefaultNetstreamDriver gtls # use gtls netstream driver |
| - | # require TLS for the connection $ActionSendStreamDriverAuthMode anon | + | $ActionSendStreamDriverMode 1 # require TLS for the connection |
| - | # server is NOT authenticated | + | $ActionSendStreamDriverAuthMode anon # server is NOT authenticated |
| + | *.* @@(o)serverX.example.com: | ||
| </ | </ | ||
| Line 632: | Line 674: | ||
| The trace command is probably useful (Example for date): | The trace command is probably useful (Example for date): | ||
| - | < | + | < |
| autrace /bin/date | autrace /bin/date | ||
| Waiting to execute: /bin/date | Waiting to execute: /bin/date | ||
| Line 646: | Line 688: | ||
| Using '' | Using '' | ||
| - | < | + | < |
| Chain INPUT (policy ACCEPT 0 packets, 0 bytes) | Chain INPUT (policy ACCEPT 0 packets, 0 bytes) | ||
| num pkts bytes target | num pkts bytes target | ||
| Line 669: | Line 711: | ||
| A very basic example script to initialize '' | A very basic example script to initialize '' | ||
| - | < | + | < |
| iptables -F | iptables -F | ||
| iptables -A INPUT -i lo -j ACCEPT | iptables -A INPUT -i lo -j ACCEPT | ||
| Line 681: | Line 723: | ||
| To delete a rule: | To delete a rule: | ||
| - | < | + | < |
| iptables -D INPUT 11 | iptables -D INPUT 11 | ||
| </ | </ | ||
| Line 687: | Line 729: | ||
| To add a rule (insert): | To add a rule (insert): | ||
| - | < | + | < |
| iptables -I INPUT 11 | iptables -I INPUT 11 | ||
| </ | </ | ||