Date: Mon, 13 Jan 2003 13:00:17 +0000 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: questions@FreeBSD.ORG Subject: Re: Security Report Message-ID: <20030113130017.GD7583@happy-idiot-talk.infracaninophi> In-Reply-To: <20030113113128.E92084-100000@freebsd.rf0.com> References: <20030113112846.GB7583@happy-idiot-talk.infracaninophi> <20030113113128.E92084-100000@freebsd.rf0.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 13, 2003 at 11:32:00AM +0000, Rus Foster wrote: > On Mon, 13 Jan 2003, Matthew Seaman wrote: >=20 > > On Mon, Jan 13, 2003 at 11:16:50AM +0000, Rus Foster wrote: > > > > > Is it my imagination or should FreeBSD automatically make run a cron = job > > > to generate a security report? If so does anyone have the cron line? > > > > No, you're not imagining things. See /etc/crontab for the invocation > > of the periodic(8) script. The security report is generated as part > > of the daily periodic job. > > >=20 > Thanks. Don;t suppose there is a tool to harden FreeBSD as well is there? > I couldn't see anything in ports There are any number of tools to help you eliminate vulnerabilities and generally harden up your system. With FreeBSD you're starting =66rom a pretty good base already, and just applying common sense will go a long way towards keeping you clear. However, these are untrusting times and there are a number of extra measures that you can certainly take. i) Read the security(7) man page. ii) Eliminate any services, network daemons etc. that you may have enabled, but that you aren't using. Make sure that you can account for all of the entries in the output of 'netstat -a'. Install 'nmap' from ports and scan your host at regular intervals. Even better, if you can swing it, is to get a friend to scan your host from a remote location. For those network services you need to supply, configure them on the basis of 'least privilege' --- ie. deny all access by default and only open up sufficient for authorised uses. Run servers as unprivileged users and use chroot(8) and jail(8) to limit your exposure even if a server is compromised. Choose software packages with a good reputation for security. Learn about ipfw(8) or ipf(8) and hosts_options(5) as well as any server specific configuration options. It's a good idea to defend in depth -- configure your servers strictly even if you also have a firewall ruleset that does an equivalent job. After all, mistakes happen and this way, you should be several steps away from disaster. iii) If you're giving out or selling login accounts (including to things like web sites or ftp accounts) to other users, sit down and write an acceptable usage policy detailing what is, and is not permissible to do from your machine and the penalties incurred for infraction. Get all your users to agree and sign off on this policy. Then enforce it strictly. Make sure that login messages (like /etc/issue (see gettytab(5)), /etc/motd, etc/ftpwelcome) can't be construed as an invitation to hack into your machine. =20 iv) Proper, on-going maintainance of the system is vital for ensuring security. It's just not possible to spend a few days securing a machine and then have it be 'secure' for ever after. Keep up to date with security advisories. Update machines regularly. Clean out old software installations or user accounts that are now surplus to requirements. v) Your best defense is useless if the black hats can sneak in under your guard and do nefarious things without your noticing. Develop a nasty, suspicious character. Make sure that any and all activities of a potentially sensitive nature result in log file entries or some other form of audit trail. Paranoia is good. Think about using intrusion detection systems such as snort. Monitor your filesystems for suspicious changes --- tools like tripwire are invaluable for detecting trojans and root kits. System logs make good bedtime reading. vi) Eschew plaintext. ssh(1) is your friend. Avoid plain telnet or rsh. Remember that remote X sessions are easy to snoop as well: employ ssh's ability to pass X protocol data through an encrypted tunnel. vii) Remember that there is no such thing as absolute security. A clever enough and sufficiently determined attacker will always be able to beat you. (What would you do if a couple of thugs broke into your house and began breaking your fingers until you told them the root password?) Be measured in the policies you adopt. Weigh up the value of what you are trying to protect and the cost --- not just financial, but in terms of aggravation to legitimate users --- of the security measures you impose. viii) And finally, take good backups and keep them in a secure, off-site location. Sleep well at night. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030113130017.GD7583>