GNU/Linux >> Znalost Linux >  >> Linux

Výukový program Tripwire:Linux Host Based Intrusion Detection System

Foto s laskavým svolením judepics

Tripwire je hostitelský systém detekce narušení pro Linux. Tripwire monitoruje systém Linux, aby zjistil a nahlásil jakékoli neoprávněné změny souborů a adresářů. Jakmile je vytvořena základní linie, Triwire monitoruje a zjišťuje, který soubor byl přidán, který soubor se změnil, co se změnilo, kdo to změnil a kdy byl změněn. Pokud jsou změny legitimní, můžete aktualizovat databázi tripwire, aby tyto změny přijala.

Ohledně řešení pro monitorování si také přečtěte všechny naše předchozí články o Nagios

Tento průvodce krok za krokem vysvětluje, jak nainstalovat a nakonfigurovat open source verzi tripwire.

1. Stáhněte si Tripwire

Stáhněte si nejnovější verzi open source tripwire z webu projektu tripwire sourceforget. Extrahujte zdrojový kód tripwire do adresáře /usr/src, jak je ukázáno níže.

# cd /usr/src
# wget http://internap.dl.sourceforge.net/sourceforge/tripwire/tripwire-2.4.1.2-src.tar.bz2
# bzip2 -d tripwire-2.4.1.2-src.tar.bz2
# tar xvf tripwire-2.4.1.2-src.tar

2. Nainstalujte Tripwire

K určení instalačního adresáře použijte volbu předpony, jak je uvedeno níže. V tomto příkladu jsem nainstaloval tripwire pod /opt/tripwire. Během make install vás vyzve k zadání různých uživatelských vstupů, které jsou níže zvýrazněny červeně.

# cd tripwire-2.4.1.2-src

# ./configure --prefix=/opt/tripwire

# make

# make install

make[3]: Entering directory `/usr/src/tripwire-2.4.1.2-src'
prefix="/opt/tripwire" sysconfdir="/opt/tripwire/etc" \
        path_to_vi="/bin/vi" path_to_sendmail="/usr/sbin/sendmail" \
        ./install/install.sh
Installer program for: Tripwire(R) 2.4 Open Source
LICENSE AGREEMENT for Tripwire(R) 2.4 Open Source
Please read the following license agreement.  You must accept the
agreement to continue installing Tripwire.
Press ENTER to view the License Agreement.
[Note: Press enter key as instructed to view the license]

Please type "accept" to indicate your acceptance of this
license agreement. [do not accept] accept
[Note: Type accept to accept the license]

This program will copy Tripwire files to the following directories:
        TWBIN: /opt/tripwire/sbin
        TWMAN: /opt/tripwire/man
     TWPOLICY: /opt/tripwire/etc
     TWREPORT: /opt/tripwire/lib/tripwire/report
         TWDB: /opt/tripwire/lib/tripwire
 TWSITEKEYDIR: /opt/tripwire/etc
TWLOCALKEYDIR: /opt/tripwire/etc
CLOBBER is false.
Continue with installation? [y/n] y
[Note: Press y to continue the installation]

The Tripwire site and local passphrases are used to
sign a variety of files, such as the configuration,
policy, and database files.
(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)
Enter the site keyfile passphrase:
Verify the site keyfile passphrase:
[Note: Assign a passphrase for site keyfile.]

Generating key (this may take several minutes)...Key generation complete.
(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)
Enter the local keyfile passphrase:
Verify the local keyfile passphrase:
[Note: Assign a passphrase for local keyfile.]

Creating signed configuration file...
Please enter your site passphrase:
Wrote configuration file: /opt/tripwire/etc/tw.cfg
[Note: Enter the site passphrase.]

Creating signed policy file...
Please enter your site passphrase:
Wrote policy file: /opt/tripwire/etc/tw.pol
[Note: Enter the site passphrase]

The installation succeeded.

  • Přístupová fráze webu zajistí konfigurační soubor tw.cfg tripwire
    a soubor zásad tw.pol tripwire. Musíte přiřadit přístupovou frázi webu
    i pro jednu instanci tripwire.
  • Místní přístupová fráze bude chránit databázi tripwire a soubory zpráv.

3. Inicializujte databázi Tripwire

Při prvním použití byste měli inicializovat databázi tripwire, jak je uvedeno níže.

# cd /opt/tripwire/sbin/

# ./tripwire --init

Please enter your local passphrase:
Parsing policy file: /opt/tripwire/etc/tw.pol
Generating the database...
*** Processing Unix File System ***
The object: "/sys" is on a different file system...ignoring.
### Warning: File system error.
### Filename: /cdrom
### No such file or directory
### Continuing...
### Warning: File system error.
### Filename: /floppy
### No such file or directory
### Continuing...
### Warning: File system error.
### Filename: /initrd
### No such file or directory
### Continuing...
### Warning: File system error.
Wrote database file: /opt/tripwire/lib/tripwire/prod-db-srv.twd
The database was successfully generated.

4. Upravte soubor zásad Tripwire

Jak je uvedeno výše, během inicializace databáze tripwire se může zobrazit chybová zpráva „Žádný takový soubor nebo adresář“ pro některé z výchozích souborů uvedených v souboru zásad tripwire. Pokud váš systém tyto soubory nemá, upravte soubor zásad a okomentujte tyto položky.

Například upravte /opt/tripwire/etc/twpol.txt tripwire policy file a zakomentujte /cdrom a /floppy, jak je ukázáno níže.

(
  rulename = "OS Boot Files and Mount Points",
)
{
  /boot                         -> $(ReadOnly) ;
#  /cdrom                        -> $(Dynamic) ;
#  /floppy                       -> $(Dynamic) ;
  /mnt                          -> $(Dynamic) ;
}


Pomocí souborů zásad tripwire můžete definovat adresáře a soubory, u kterých je třeba sledovat změny. Můžete být také podrobnější a určit atributy souborů, které by měly být monitorovány nebo ignorovány.

Následují některé vlastnosti systému UNIX, které jsou monitorovány pomocí tripwire.

  • Přidávání, mazání a úprava souborů
  • Oprávnění a vlastnosti souborů
  • Časové razítko přístupu
  • Časové razítko úpravy
  • Typ a velikost souboru
  • ID uživatele vlastníka a ID skupiny vlastníka
  • Hash checking:CRC-32, POSIX 1003.2 kompatibilní 32bitová kontrola cyklické redundance; MD5, algoritmus RSA Security Message Digest Algorithm; SHA, součást algoritmu SHS/SHA; HAVAL, silný 128bitový podpisový algoritmus

5. Aktualizujte soubor zásad Tripwire

Jakmile soubor zásad upravíte, je třeba jej aktualizovat, jak je uvedeno níže.

# ./tripwire --update-policy --secure-mode low ../etc/twpol.txt

Parsing policy file: /opt/tripwire/etc/twpol.txt
Please enter your local passphrase:
Please enter your site passphrase:
======== Policy Update: Processing section Unix File System.

======== Step 1: Gathering information for the new policy.
The object: "/sys" is on a different file system...ignoring.

======== Step 2: Updating the database with new objects.

======== Step 3: Pruning unneeded objects from the database.
Wrote policy file: /opt/tripwire/etc/tw.pol
Wrote database file: /opt/tripwire/lib/tripwire/prod-db-srv.twd

Poznámka: pokud byly nějaké soubory změněny od okamžiku, kdy jste provedli inicializaci tripwire, do zásady aktualizace tripwire, budou uvedeny ve výstupu „Krok 1:Shromažďování informací pro novou politiku“ výše uvedeného příkazu.

### Warning: Policy Update Changed Object.
### An object has been changed since the database was last updated.

### Object name: Conflicting properties for object
### /u01/app/oracle/oradata/dbfiles/prod01.dbf
### > Modify Time
### > CRC32
### > MD5

6. Zkontrolujte všechny změny v souborech a aktualizujte databázi tripwire.

Jakmile je nastavení tripwire dokončeno, měli byste pravidelně provádět kontroly, abyste zjistili, které soubory byly přidány nebo změněny od poslední aktualizace databáze tripwire. Tuto kontrolu můžete provést interaktivně z příkazového řádku, jak je ukázáno níže.

# ./tripwire --check --interactive

Parsing policy file: /opt/tripwire/etc/tw.pol
*** Processing Unix File System ***

Performing integrity check...
Wrote report file:
/opt/tripwire/lib/tripwire/report/prod-db-srv-20081204-114336.twr


To automaticky otevře následující soubor zprávy tripwire ve vi, kde si můžete prohlédnout všechny soubory, které byly přidány nebo upraveny do systému. Jak je ukázáno níže, soubory „Added“ a „Modified“ budou mít před sebou značku zaškrtnutí, což znamená, že přijímáte tyto změny k aktualizaci do databáze tripwire.

===============================================================================
Report Summary:
===============================================================================
Host name:                    prod-db-srv
Host IP address:              192.168.1.10
Host ID:                      None
Policy file used:             /opt/tripwire/etc/tw.pol
Configuration file used:      /opt/tripwire/etc/tw.cfg
Database file used:           /opt/tripwire/lib/tripwire/prod-db-srv.twd
Command line used:            ./tripwire --check --interactive

Remove the "x" from the adjacent box to prevent updating the database
with the new values for this object.

Added:
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trc"
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trm"

Modified:
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/metadata/INC_METER_CONFIG.ams"
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/metadata/INC_METER_INFO.ams"

Added object name:  /u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trc

  Property:            Expected                    Observed
  -------------        -----------                 -----------
* Object Type          ---                         Regular File
* Device Number        ---                         2049
* Inode Number         ---                         12026017
* Mode                 ---                         -rw-r-----
* Num Links            ---                         1
* UID                  ---                         oracle (1082)
* GID                  ---                         oinstall (1083)
* Size                 ---                         837
* Modify Time          ---                         Sat 06 Dec 2008 10:01:51 AM PST
* Blocks               ---                         8
* CRC32                ---                         AYxMeo
* MD5                  ---                         AXSkOul8R/np0fQP4q3QLv

Modified object name:  /u01/app/oracle/diag/tnslsnr/proddb/listener/trace/listener.log

  Property:            Expected                    Observed
  -------------        -----------                 -----------
  Object Type          Regular File                Regular File
  Device Number        2049                        2049
  Inode Number         2295281                     2295281
  Mode                 -rw-r-----                  -rw-r-----
  Num Links            1                           1
  UID                  oracle (1082)               oracle (1082)
  GID                  oinstall (1083)             oinstall (1083)
* Size                 5851880                     5858608
* Modify Time          Sat 06 Dec 2008 09:58:53 AM PST
                                                   Sat 06 Dec 2008 11:39:56 AM PST
* Blocks               11456                       11472
* CRC32                ANdM8R                      CK+bWM
* MD5                  DCW84lCuD2YJOhQd/EuVsn      CV8BMvZNJB9KQBXAf5yRDY

Please enter your local passphrase:
Incorrect local passphrase.
Please enter your local passphrase:
Wrote database file: /opt/tripwire/lib/tripwire/prod-db-srv.twd

7. Jak zobrazit soubor zprávy twr?

Všechny soubory zpráv tripwire s příponou *.twr jsou uloženy v adresáři /opt/tripwire/lib/tripwire/report. tripwire report file *.twr není textový soubor, který si můžete prohlédnout přímo. Chcete-li zobrazit zprávu, použijte twprint a převeďte soubor *.twr do čitelného textového formátu, jak je uvedeno níže.

# ./twprint --print-report --twrfile \
/opt/tripwire/lib/tripwire/report/prod-db-srv-20081204-114336.twr  > \
/tmp/readable-output.txt

8. Pravidelně sledujte integritu systému Linux

Přidejte kontrolu tripwire jako úlohu cron, abyste mohli průběžně sledovat a hlásit jakékoli změny. Například přidejte následující řádek do svého crontab, abyste mohli provádět kontrolu tripwire denně ve 4:00.

# Tripwire Monitor process
00 4 * * * /opt/tripwire/sbin/tripwire  --check

9. Umístění souborů konfigurace a zásad Tripwire

Pro zobrazení aktuálních souborů zásad tripwire použijte twadmin. Níže je zobrazen pouze částečný výstup.

#./twadmin --print-polfile
@@section GLOBAL
TWDOCS="/opt/tripwire/doc/tripwire";
TWBIN="/opt/tripwire/sbin";
TWPOL="/opt/tripwire/etc";
TWDB="/opt/tripwire/lib/tripwire";
TWSKEY="/opt/tripwire/etc";
TWLKEY="/opt/tripwire/etc";
TWREPORT="/opt/tripwire/lib/tripwire/report";
HOSTNAME=prod-db-srv;

Použijte twadmin k získání informací o všech konfiguračních souborech tripwire, jak je uvedeno níže.

# ./twadmin --print-cfgfile
ROOT          =/opt/tripwire/sbin
POLFILE       =/opt/tripwire/etc/tw.pol
DBFILE        =/opt/tripwire/lib/tripwire/$(HOSTNAME).twd
REPORTFILE    =/opt/tripwire/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE   =/opt/tripwire/etc/site.key
LOCALKEYFILE  =/opt/tripwire/etc/prod-db-srv-local.key
EDITOR        =/bin/vi
LATEPROMPTING =false
LOOSEDIRECTORYCHECKING =false
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL   =3
MAILMETHOD    =SENDMAIL
SYSLOGREPORTING =false
MAILPROGRAM   =/usr/sbin/sendmail -oi -t


Pokud se vám tento článek líbil, přidejte si jej do záložek na delicious, Digg and Stumble it .


Linux
  1. Zlepšete výkon systému Linux pomocí noatime

  2. Jak připojit a odpojit souborový systém v Linuxu

  3. Základní návod na souborový systém Linux – ext2, ext3, ext4, JFS a XFS

  1. Posílení zabezpečení Linuxu pomocí Advanced Intrusion Detection Environment (AIDE)

  2. Příklady Linux AuFS:Další výukový program systému souborů Union (implementace UnionFS)

  3. Android – Na jaké linuxové distribuci je Android založen?

  1. Jak formátovat diskové oddíly v Linuxu

  2. Úvod do souborového systému Linux

  3. Příkaz Fsck v Linuxu (Opravit systém souborů)