Download presentation
Presentation is loading. Please wait.
Published byJemima West Modified over 10 years ago
1
Locking Down Your FreeBSD Install Black Hat 6 Rich Murphey
2
Black Hat 6 slide 2 Locking Down Your FreeBSD Install
3
Black Hat 6 slide 3 Locking Down Your FreeBSD Install Establish a Security Policy
4
Black Hat 6 slide 4 Security Management Policy Harden Access Control Monitor Audit React Act Plan
5
Black Hat 6 slide 5 Security Policy A high-level overall plan embracing the general goals and acceptable procedures.
6
Black Hat 6 slide 6 Formulating Policy What are the goals? What are the procedures? What is the impact?
7
Black Hat 6 slide 7 Formulating Policy What are the goals? What, Why, Who. What are the procedures? Roles and Responsibilities. What is the impact? Network, applications, users.
8
Black Hat 6 slide 8 Policy Example How does one define a firewall policy…
9
Black Hat 6 slide 9 Policy Example "Don't talk to strangers." "In God we trust. All else we monitor.“
10
Black Hat 6 slide 10 Policy Example "Don't talk to strangers." Authenticate Everything. "In God we trust. All else we monitor.“ Log All Exceptions.
11
Black Hat 6 slide 11 Policy Example How do we lock down FreeBSD? Default Deny Authenticate Everything Log All Exceptions
12
Black Hat 6 slide 12 Default Deny Block non-routable, spoofs and source routed IP. Allow TCP only from specific subnets to specific ports.
13
Black Hat 6 slide 13 Authenticate Everything Narrow anonymous services Tftp, Ftp, Http. Disable clear text authentication Telnet, ftp, http. Enforce strong authentication SSH, SSL/Http. Audit (Log) all authentication.
14
Black Hat 6 slide 14 Log All Exceptions Spoofing Denied Access plus, run Snort.
15
Black Hat 6 slide 15 Elements of Security Policy Act: Harden Control access React: Assess Monitor
16
Black Hat 6 slide 16 Hardening the Network IP Stack Firewall rules Inetd/TCP Wrappers Control access
17
Black Hat 6 slide 17 IP Stack Log connection attempts to nonexistent servers: # sysctl -w net.inet.tcp.log_in_vain=1 # sysctl -w net.inet.udp.log_in_vain=1
18
Black Hat 6 slide 18 IPFW Firewall In /etc/rc.conf: firewall_enable="YES" firewall_type="SIMPLE" firewall_logging="YES"
19
Black Hat 6 slide 19 inetd inetd uses TCP Wrappers by default. IPSec policy in inetd.conf: #@in ipsec ah/transport//require #@out ipsec esp/tunnel/10.1.1.2- 10.1.1.1/use
20
Black Hat 6 slide 20 inetd /etc/hosts.deny: ALL: ALL /etc/hosts.allow: ALL: LOCAL @some_netgroup ALL:.foobar.edu EXCEPT terminalserver.foobar.edu % tcpdchk -v To verify rules.
21
Black Hat 6 slide 21 IPSec Key distribution Authentication
22
Black Hat 6 slide 22 Hardening FreeBSD Hardening the Host
23
Black Hat 6 slide 23 Hardening the Host Known Vulnerabilities Install Options Configuration
24
Black Hat 6 slide 24 Known Vulnerabilities zlib – decompress crash Squid - DNS response crash mod_frontpage - fpexec overflow Netscape - JavaScript in GIF OpenSSH - root buffer overflow
25
Black Hat 6 slide 25 Fixing Known Vulnerabilities pkg_add the latest version ftp://ftp.FreeBSD.org/pub/FreeB SD/ports/i386/packages-4- stable
26
Black Hat 6 slide 26 Secure Level Can be raised but not lowered, even by root. /etc/rc.conf: kern_securelevel_enable="YES" kern_securelevel="3" If kern.securelevel > 0, even root within a jail cannot set file flags. Only rebooting lowers it. Dropping to single user mode doesn’t.
27
Black Hat 6 slide 27 Secure Level 1 Cannot remove immutable and append-only flags. Cannot mount file systems Cannot write to /dev/mem,kmem. Breaks XFree86!!! Cannot load kernel modules.
28
Black Hat 6 slide 28 Secure Level 2 Only `mount' may open disks for writing. Time changes are limited to one second. Level 3: ipfw and dummynet configuration are fixed.
29
Black Hat 6 slide 29 Caveats One must still harden the boot process (loader, autoconfig) because securelevel is set late in the boot process.
30
Black Hat 6 slide 30 Harden User Land Protect against free space exhaustion in rc.conf: check_quotas="YES“ Protect against set-uid files in /home and /var: /dev/ad… /home ufs rw,nosuid,userquota
31
Black Hat 6 slide 31 Hardening User Land Block Broad/Multicast pings: /etc/sysctl.conf: icmp.bmcastecho=0 Hide logs /etc/newsyslog.conf: /var/log/authlog root:wheel 600 3 100 * Z
32
Black Hat 6 slide 32 Harden the executables chflags -F schg /kernel chflags -F schg /bin /sbin
33
Black Hat 6 slide 33 Hardening Services DNS – restrict zone transfers HTTP – disable CGI Samba – IP address ACLs Email – spam, filtering telnet, FTP, finger – don’t
34
Black Hat 6 slide 34 SSH - Secure Shell host.allow RSA authentication Listen on a non-standard port
35
Black Hat 6 slide 35 Auditing Authentication for: HTTP FTP Samba Telnet, Rlogin wrappers
36
Black Hat 6 slide 36 Log Monitoring Use regexp to match 'interesting' log entries and email a periodic report to an administrator. 'Systems Under Siege', Chris Boyd, SANS
37
Black Hat 6 slide 37 Log Monitoring Syslog-ng w/regex Swatch - perl LogSurfer LogSentry - tail logfile | grep | mail
38
Black Hat 6 slide 38 Host-Based Intrusion Detection Tripwire/AIDE Systrace
39
Black Hat 6 slide 39 Tripwire/Aide File adds,deletes,modifications File permissions Inode number, number of links User id of owner,group id of owner File type, file size Device number that stores the inode. Device number that the inode points to. Number of blocks allocated Modification timestamp Inode creation/modification timestamp Access timestamp
40
Black Hat 6 slide 40 SysTrace A BlackHat Zero Day Tool! Like tcpwrappers but for syscalls. Filters: specific routines: open(), fork(), exec(), etc. specific arguments: filename, file mode, etc. FreeBSD version on the conference CDROM! More details at Defcon Talks: “FreeBSD Exploits and Remedies” “Intrusion Prevention with SysTrace for FreeBSD
41
Black Hat 6 slide 41 SysTrace Policy: /usr/libexec/ftpd, Emulation: native native-open: filename eq "$HOME" and oflags sub "ro" then permit native-open: filename eq "/etc" then deny[eperm], if group != wheel native-fchdir: permit native-stat: permit
42
Black Hat 6 slide 42 Network-Based Intrusion Detection Snort ACID
43
Black Hat 6 slide 43 Honeypots Use inetd.conf to provide honeypot services. Use hosts.allow to log each connection to them.
44
Black Hat 6 slide 44 Countermeasures Trace route Firewall rules /etc/hosts.deny: in.tftpd: ALL: (finger -l @%h | /usr/ucb/mail -s %d-%h root) &
45
Black Hat 6 slide 45 Monitoring In /etc/syslog.conf: auth.*,authpriv.*/var/log/authlog
46
Black Hat 6 slide 46 Keeping Abreast of Vulnerabilities CERT announcements: echo "subscribe freebsd-security-notifications" | mail majordomo@FreeBSD.org Archive of announcements: ftp://ftp.freebsd.org/ pub/FreeBSD/CERT/advisories
47
Black Hat 6 slide 47 Future ACLs - finer grained access controls. Robert Watson’s ACLs for VFS, still need UFS support.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.