Her er hvordan jeg starter mine Iptables scrips på mine firewalls, under boot af maskinerne.

En hurtig kig i min netværks konfiguration viser at jeg starter firewallen sammen med netværket via pre-up kommandoeer
# cat /etc/network/interfaces
allow-hotplug ethx
iface ethx inet static
        pre-up iptables-restore < /etc/iptables/my.Firewall
        pre-up echo 1 >  /proc/sys/net/ipv4/ip_forward

Der er sikkert nogle som mener at der er bedre måder at starte firewallen på, men for mig er det vigtigste at firewallen kommer op før at det bliver muligt at kommuniker med det eksterne interface i min firewall og dette styres meget nemt i /etc/network/interfaces filen

Her er hvordan man meget simpelt kan højne sikkerheden af openssh-server ved at editere lidt i følgende config file.

# vi /etc/ssh/sshd_config

Det første der børe gøres er at ændre linjen:
PermitRootLogin yes
til
PermitRootLogin no
Alle ved at en linux kasse har en root bruger og derfor vil den være det første offer for et angreb.

derefter bør man tilføje denne linje med en liste over de bruger som må ssh ind på kassen:
AllowUsers
f.eks:
AllowUsers hans jens inger

Herefter skal servicen genstartes:

/etc/init.d/ssh restart

En anden sikring som er vigtig er debian pakken Fail2ban som er en daemon der kan overvåge logfiler og blokere ipaddresser hvis de laver flere login forsøg som mislykkes over en periode.

# Apt-get install fail2ban

Default beskytter Fail2ban SSH og tager man en kig i fail2ban loggen vi man sandsynlig se dette efter kort tid.

$ tail -f /var/log/fail2ban.log 
iptables -X fail2ban-<name>
2009-08-12 12:57:43,812 fail2ban.actions.action: INFO Set actionStart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I INPUT -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
2009-08-12 12:57:43,813 fail2ban.actions.action: INFO Set actionUnban = iptables -D fail2ban-<name> -s <ip> -j DROP
2009-08-12 12:57:43,814 fail2ban.actions.action: INFO Set actionCheck = iptables -n -L INPUT | grep -q fail2ban-<name>
2009-08-13 00:51:41,418 fail2ban.actions: WARNING [ssh] Ban 91.203.232.3
2009-08-13 01:01:41,438 fail2ban.actions: WARNING [ssh] Unban 91.203.232.3
2009-08-13 03:41:52,534 fail2ban.actions: WARNING [ssh] Ban 222.85.67.243
2009-08-13 03:51:52,558 fail2ban.actions: WARNING [ssh] Unban 222.85.67.243

Nogle kan også godt lidt at ændre ssh port nummeret for til et tal over 1024, for at undgå langt de fleste portscanner, personligt ser jeg ikke denne ændring som en der er vigtig at lave.

Ændring af port gøres ved at ændre linjen:
Port 22
til f.eks.
Port 3022
en genstart af ssh vil flytte porten ssh lytter på.

Hvis man ønsker at SSH skal lytte på flere porte skal man tilføje flere Port under hinanden:
Port 22
biliver til
Port 22
Port 3022
SSh lytter nu både på port 22 samt port 3022...

Er er kort hvad jeg skulle gøre for at overvåge nogle nye WDC WD10EVVS diske med hddtemp.

Mine erfaringer siger at alt low-cost hdd holder i utrolig laaaaangtid så langt de ikke bliver forvarme, derfor er det altid godt at overvåge disse.

# apt-get install hddtemp

# hddtemp  /dev/sdb /dev/sda
/dev/sdb: WDC WD10EVVS-63E1B1: 36°C
/dev/sda: WDC WD10EVVS-63E1B0: 36°C

# hddtemp -n /dev/sdb /dev/sda
36
36

det skal siges at det ikke er alle Sata diske som er lige nemme at overvåge, med mine nye WDC WD10EVVS virker utrolig godt både med smartmontools og hddtemp

Her er hvordan jeg installer rrdtool fra sourcefiler.

Installer prereqs:
# apt-get install intltool  libcairo2-dev libpango1.0-dev libxml++1.0-dev

download rrdtool:
# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz

Udpak filerne:
# tar -zxvf rrdtool.tar.gz

CD til mappen:
# cd rrdtool-1.3.8/

kør Configure:
# ./configure

Sucessfull Configure output.

----------------------------------------------------------------
Config is DONE!

          With MMAP IO: yes
      Build rrd_getopt: no
       Static programs: no
          Perl Modules: perl_piped perl_shared
           Perl Binary: /usr/bin/perl
          Perl Version: 5.10.0
          Perl Options: PREFIX=$(DESTDIR)/usr/local/rrdtool-1.3.8 LIB=$(DESTDIR)/usr/local/rrdtool-1.3.8/lib/perl/5.10.0
          Ruby Modules:
           Ruby Binary: no
          Ruby Options: sitedir=$(DESTDIR)/usr/local/rrdtool-1.3.8/lib/ruby
    Build Tcl Bindings: no
 Build Python Bindings: no
          Build rrdcgi: yes
       Build librrd MT: yes
     Link with libintl: yes

             Libraries: -lxml2 -lcairo -lcairo -lcairo -lm  -lcairo -lpng12   -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

Type 'make' to compile the software and use 'make install' to
install everything to: /usr/local/rrdtool-1.3.8.

       ... that wishlist is NO JOKE. If you find RRDtool useful
make me happy. Go to http://tobi.oetiker.ch/wish and
place an order.

                               -- Tobi Oetiker
 

Compile RRDTool:
# make

Installer RRDTool:

# make install

Test RRDtool:
# /usr/local/rrdtool-1.3.8/bin/rrdtool

successfuldt output:

RRDtool 1.3.8  Copyright 1997-2009 by Tobias Oetiker <This email address is being protected from spambots. You need JavaScript enabled to view it.>
               Compiled Jul 12 2009 22:21:52

Usage: rrdtool [options] command command_options

Valid commands: create, update, updatev, graph, graphv,  dump, restore,
                last, lastupdate, first, info, fetch, tune,
                resize, xport

RRDtool is distributed under the Terms of the GNU General
Public License Version 2. (www.gnu.org/copyleft/gpl.html)

For more information read the RRD manpages

 

En hurtig gennemgang at installation af MRTG på en debian maskine.

Først hent source fra http://oss.oetiker.ch/mrtg/pub/?M=D
wget http://oss.oetiker.ch/mrtg/pub/mrtg.tar.gz

 Udpak denne:
tar -zxvf mrtg.tar.gz

Installer andre Preregs: så som GD
apt-get install libgd2-noxpm-dev libgd2-noxpm libio-socket-inet6-perl libsnmp-session-perl libsocket6-perl

 CD ind ind i den udpakket source file mappen, her er det version 2.16.2
cd mrtg-2.16.2/

Start installatione af mrtg med at konfiguere pakken
./configure

Compile filerne:
make

 Installer:
make install

Her efter kan man prøve at køre:
/usr/local/mrtg-2/bin/mrtg

hvilket bør give dette output.

-----------------------------------------------------------------------
ERROR: Mrtg will most likely not work properly when the environment
       variable LANG is set to UTF-8. Please run mrtg in an environment
       where this is not the case. Try the following command to start:

       env LANG=C local/mrtg-2/bin/mrtg
-----------------------------------------------------------------------