191010
Förmiddagen
PAM
Skapat av SUN för att de ville ha möjlighet till säkrare autenticering.
Pluggable
Autentication
Module
/etc/pam.d/
Där man har alla inställningar för PAM, bökigt av många skäl (dåligt dokumenterat, varierar hur väl det fungerar på olika distar).
Från boken
Man behöver inte omkompilera klienterna för att byta inställingar
Lägger till extra nivåer av säkerhet och verfikation
PAM Module types
auth
autenticering, veriferar vem man är
account
kontohantering
password
uppdatera lösenordet
ställa krav på säkerhet på lösenord
session
PAM order of procesing
ställa in ordning av autenticering
PAM Control Statements
required
requisite
sufficient
optional
include
PAM Modules
ENforce Policy
Record Events
Control Access
Many Modules Available
pam_unic.so
standard unix autenticering
pam_nologin.so
man får inte logga in om man inte är root
pam_limits.so
avgör vad som händer om man misslycakts med login
pam_wheel.so
talar om vilka som får su:a till root
man kan få su:a till root utan lösen exempelvis
pam_xauth.so
ett säkerhetslager för att avgöra vad som får öppnas var.
Security Concepts
Principle of least privilege
Multiple layers of defense
Diversity of layers of defense
Only as secure as the weakest link
Simplicity is a virtue
Security through obscurity
En lösning som är galenskap, hålen finns, men man skiter i dem för att hoppas att folk inte upptäcker dem.
Tighening Default Security
Disable all unneeded services
ta bort skit som man inte använder för att minska potentiella säkerhetshål
Disable unneeded accounts
se till att konton som inte behöver access inte har access
Remove all unneccesary SUID/SGID executables
se till att vanliga användare inte har rootprivilegier när de inte behöver det
Restrict access to privileged accounts
Restrict remote access to the machine
Restrict physical access to the machine'
Security Advisories
Errata
Red hat network https://rhn.redhat.com/errata
Mailing lists
BUGTRAQ http://www.securityfocus.com/archive/1
CERT http://www.cert.org/
SANS http://www.sans.org/
Red Hat's enterprise-watch mailing list
Man kan hitta mycket intressanta hack på fula sidor på nätet, däribland porrsidor (dvs, de försöker hacka en)
File Access Control Lists
FACLSs
assign different permissions to additional users and additional groups on a given fil or directory
FACLs are implemented using xattr (extended Attibutes)
Masks
Effective permissions are derived from the FACL permissione for the user or group after appying the mask
This allows an administrator to temporarily deny access without actually changing the FACLS themselves.
Roland är lite negativ till ACL eftersom det finns en tendens att det är onödigt överkomplicerat.
Det kan dock vara bra att ha när man har icke-Unixar i nätverket.
Manipulating FACLs
Creating and Modyfying FACLs
setfacl-m
setfacl-M
Directories and default FACLs
Backing up FACL
Skapa backup
getfacl
-R
Recursive
-L
List
--absolute-name
Återställa
setfacl
--restore
File Creation permissions with umask
Default permissions for newly created objects
files: 666
directories: 777
umask
defines what permissions to withhold from the default permissions
used to display or change your umask
usually set in the user or system shell dot files
used to provide the user private group (UGP) shcmee
User Private Group Scheme
Populärt idag
Grupper skapas när en användare skapas, useradd klas skapar både användare och gruppen klas
Tanken är att en användare skapar en fil som bara är dens, eventuellt för säkerhet.
Alternative to UPG
FACL directory defaults
Network filesystems
NFS all squash
alla filer under en NFS-delning skapas och hanteras av samma uid
samba: forcing permissions and ownership
fungerar väldigt väl med ACL
SELinux Security Framework
Allows administrator to specify security policy
Policy defines the "correct operation" of the system
interaction of processes and files
user of POSIX capabilities
programmeraren själv listar de saker som programmet ska få göra (vilka system den ska få bruka)
fördelen är att om man äger (crackar) det programmet hjälper det inte för man kan ändå inte göra mer än det programmet
use of the system resources (shared memory etc)
samma fast met med resurser
network sockets
interaction of processes (signals, pipes, IPC, etc)
Uses labels called "Security Context"
identity:role:type:security_level
Occasional relabeling of the filesystem may be required
SELinux ställer in exakt på processnivå vad som går göras av varje enskilt program, problemet med det är att det är väldigt lätt att göra fel och därför fungerar inte saker och ting.
SELinyx Booleans
Easy way of activating certain policyrules
Graphical SELinux Poliy tools
/etc/selinux/config
den filen som innehåller den skarpa konfigurationsfilen för selinux
Automating Tasks
at & batch - Execute a task once at some time in the future
cron - Execute a task at a recurring interval
anacron - At system boot, run jobs missed while the system was turned off
at/batch
at
smidig och enkelt att säga till när
batch
kör script är load average är låg
atd specifierar load average
cron
Executes jobs at a recurring interval
fyra olika funktioner
cron.
d
specifik tid
daily
en gång per dag, ospecifierad tid
hourly
en gång per timme
monthly
en gång per månad
weekly
en gång i veckan
the crontab command
crontab -l
visar innehållet i crontab
crontab -e
ändra i crontab
crontab -r
tar bort nuvarande crontabben
crontab [filnamn]
skriver in en fil i crontab
crontab
tar stdin och skriver in, pass på för ctrl+d, det skriver över filen
crontab format
minut timme dag i månaden månad dag i veckan
46 16 * * 1,2,3,4,5,6 [kommando]
skickar mail för när den har gjort saker
anacron
fungerar ungefär som cron förutom att den körs vid boot och kollar vad som inte körts
Viewing Processes
ps - standard process listing tool
använder /proc/
kan använda syntax från olika unixar
pstree
visar ett processträd
ett processträd är en kedja av ett program, startas ett program under ett skal så är det en del av trädet
top
visar aktiva processer och vad de använder för resurser
jobs
visar vilka jobs som körs
Managing Processes
kill
killall
pgrep, pkill
Tuning Process Sheduling
nice
bestämmer prioritet på en process som startas
renice
ändrar prioriteten på en process som redan körs
Process accounting
bra för att se vad som kräver prestanda av ens system samt att se vad användare håller på med
accton
sätter igång det
sa
summerar user command histories
lastcomms
ulimit
sätta in hur mycket resurser program får använda
Fotnoter
GSSAPI
Global Security Services
Kommer ur Kerberos
Det som är bra med GSS är att det inte bara är autenticering utan även kan stödja kryptering åt dig, kan använda en kryptoaccelerator.
Kan läggas till i PAM