Introduction
into universal monitoring systems
Table
of content
I. FreeBSD Operating system, specifics and administration
FreeBSD 4.x
administration – important tips and advices.
APPENDIX I. File’s location, configurations,
specifics.
This document discuss
‘Universal monitoring and management’ system, built on FreeBSD OS. Such system
can be built on any other opensource Posix (Unix like) OS, such as Linux or
Solaris.
FreeBSD 4.x (4.7 –
4.9) OS is used as a basic OS for
universal monitoring / management
servers. This selection was based on both, historical and technical reasons.
Technical reasons for such choice are:
-
Stability (system
is a very stable server platform);
-
Easy to maintain
open source software – system have excellent ‘/usr/ports’ system which automate
software extracting, patching, compiling and installation for 95% of all open
source products.
-
Security (with or
without secure level).
-
FreeBSD 4 is most
reliable branch in FreeBSD family (new FreeBSD 5 became release-grade only
about 1 year ago).
FreeBSD is classical
BSD OS, enhanced to satisfy modern requirements. It is ahead of Linux in some
things (ports system, jail, secure-level) and behind in others (set of
hardware, software raid, YaST2 for SuSe Linux, thread system is not so debugged
as in Linux or Solaris, commercial support is not common for FreeBSD). FreeBSD
uses it’s own binary file format, but have linux compatibility module, which
allows running most Linux software.
FreeBSD differ from
classical unixes in a few BASIC things:
-
It used db files
for users (never edit /etc/passwd);
-
It does not have
classical /etc/rc.d system, but use /usr/local/etc/rc.d for addition of the
services;
-
It has 2
installation systems – packages (binary) which can be installed thru
sysinstall, and port system, which uses make to extract, patch, compile
and install software.
-
It has a very
wide set of installation FTP servers over the world (to install FreeBSD, you
can bring 2 FD and have a network card – it is enough);
-
It has boot-time
configuration facility (boot –c), and require kernel recompilation (simple
‘make’) to add/delete some drivers (or multi-CPU mode, for example).
-
It has both,
‘crontab’ based cron tables, and root table ‘/etc/crontab’.
In other ways, it is
classical BSD Unix for i386:
-
Generic kernel
can run on wide variety of servers;
-
System have /proc
file system;
-
System have both
row and block devices;
-
System use
classical (not stream type_ device drivers;
-
Command set is
BSD derived, some commands have BSD syntax instead of System-V syntax (ps;
netstat; df).
-
File system –
standard bsd 4.2 file system, with standard fsck. In most cases, recover itself
after power failure.
Universal monitoring
systems are configured to use WEBMIN (web based GUI) for standard
administrative tasks. SSH and command line tools can be used for other
administrative tasks. Many things are doing by system installation tool.
Webmin is located at port 8101, protocol https.
To reach it, just open
https://server:8101/
. Use ‘root’ account to have
full privilege.
System installation
tool - /stand/sysinstall – can be used for network changes, package
installation, standard components installation. It can create users and groups,
but is not optimal for this.
Tasks and tools:
Other files:
SNMPSTAT software is integrated by the web system, port 8100 (https). It
uses it’s own authentication, administrative system, set of groups. Users are
not synchronized with system users (and we expect that system users will
include only those who require direct access to the system).
Home page:
Subsystems:
Operating system:
Users: /etc/master.passwd, cmd:
vipw, pwd_mkdb
Startup configuration: /etc/rc.conf
/usr/local/etc/rc.d/*.sh
Kernel: /usr/src/sys, see ‘man
config’ and handbook.
Cron tables:
/etc/crontab – classical crontab
crontab - controls per user cron tables.
Daily, weekly,
monthly jobs, including sanity checks:
/etc/periodic/
/etc/defaults/periodic.conf
/etc/periodic.conf
man periodic
Standard web (port
80):
Home: /usr/local/www/data
Configs: /usr/local/etc/apache
Mail system:
Type: sendmail
Installed from: system (not ports)
Directory: /etc/mail
Database:
MySQL data base;
Use ‘webmin’ to administrate .
MySQL differ ‘locahost’ access and ‘All’ access. You can install and use Windows MySQL client instead (very good system).
Files: /var/db/mysql
Snmpstatd:
Directory: /p/stat
Conf. Files: /p/stat/Poll.conf,
/p/stat/WWW-local.conf
Global config:
/p/stat/WWW/bin/build_lib.conf
Start cmd: /p/stat/bin/START
Docs: /p/stat/WWW/DOC (available by
web).
Snmpstat users and
groups:
Directory: /p/stat/httpd/PWD
Users: /p/stat/httpd/PWD/pwd
Groups: /p/stat/httpd/PWD/group
Snmpstat web (port
8100):
Dir /p/stat/httpd
Home: /p/stat/httpd/home
Main menu:
/p/stat/httpd/home/index2.html
Conf: /p/stat/httpd/conf/*
Commands (restart etc):
/p/stat/httpd/bin
CCR (Cisco
Configuration Repository):
Directory: /var/CISCO
Repository: /var/CISCO/tftpboot/hosts
CVS home: /var/CISCO/cvs
Commands: /var/CISCO/bin
Inventory:
Home: /p/stat/DB
Config: /p/stat/DB/config.inc
ProBIND:
Home: /var/PROBIND/extdns
Conf:
/var/PROBIND/extdns/inc/config.inc
Tacacs plus:
Templates:
/p/stat/tac_plus/tac_plus.tmpl
Group: tacacs
Directory: /usr/local/etc/tac_plus
Service ports:
sshd: 22
www: 80 (open documents)
webmin: 8101 https
snmpstat system: 8100 https
Installation
requirements:
-
For snmpstatd
system: SNMP access required to all network devices;
- For CCR system: ssh / telnet access required to all network devices; tftp access required FROM all network devices;
- Recommended: SYSLOG access FROM all network devices.
- Recommended: static NAT translation for this host, WITHOUT any service available from outside. tftp is harmless, because it is used to fill in CVS repository only so any frauded data (even if possible) will be detected in a few minutes by cvsdiff.
- For operators: access to port 8100 required.
- For system administrators: access to ports 22 and 8101 required. We recommend access to port 8100 from all operator’s desktops and dialin pptp (you can not make active operations, using this port, except ProBIND), and access to ports 22 and 8100 limited to your sysadmins.
- Configure /root/.forward so that you receive root’s mail. It contains daily, weekly and monthly sanity checks and security reports (including reports about user list changes etc).