Archive for Dez. 2007

Debian: string Verarbeitung

Die richtige Verarbeitung von Zeichenketten die Auswertungen sehr einfach machen und einem so eine Menge Arbeit ersparen. Den Befehl cat kennt denke ich jeder. cat gibt den Inhalt einer Datei aus. Um nun alle Verbindungen aus der /var/log/mail heruaszufiltern baut sich der Befehl wiefolgt auf

cat /var/log/mail | grep connect | egrep -v '(disconnect|NOQUEUE|lost|statistics|AMAVIS)'
...
Dec 30 09:40:35 postfix/smtpd[24538]: connect from mail.starneslaw.com[66.182.161.98]
Dec 30 09:40:39 postfix/smtpd[25691]: connect from unknown[125.134.78.108]
Dec 30 09:40:50 postfix/smtpd[27354]: connect from unknown[211.201.226.142]
Dec 30 09:40:55 postfix/smtpd[24538]: connect from kcin02.prserv.net[12.154.55.42]
Dec 30 09:41:00 postfix/smtpd[24538]: connect from unknown[121.156.13.143]
Dec 30 09:41:00 postfix/smtpd[27354]: connect from unknown[58.230.121.191]
Dec 30 09:41:00 postfix/smtpd[25691]: connect from unknown[121.142.100.162]
Dec 30 09:41:04 postfix/smtpd[24538]: connect from unknown[211.201.226.142]
...

Als erstes werden alle Zeilen entfernt, die kein connect enthalten. Anschließend beschränken wir das Ergebniss auf alle unknwon Verbindungen. Danach werden alle Zeilen ausgeschlossen (egrep -v) die ein disconnect, NOQUEUE, lost, statistics oder AMAVIS enthalten. Dafür nutzt man am besten egrep. Es ermöglicht einem mehrere Ausdrücke gleichzeitig zu filtern. Weiterlesen

Debian 3.1 mit SysCP 1.2.16 wurde gehacked

Heute Nachmittag rief mich ein Kollege, dass er von seinem Provider eine eMail bekommen habe, dass sein Linux-System gehackt wurde bzw. diesversucht wurde. Auf seinem Server lief Debian 3.1 mit nicht ganz aktuellen Pakete sowie SysCP 1.2.16. SysCP authentifiziert alle Benutzer über die SQL-DB syscp. Jedoch legt Debian bei der Installation selbst zwei Benutzer an, deren Standard Kennwörter immer gleich sind.

Benutzer: www-data
Kennwort: *

Benutzer: ftp
Kennwort: !

Durch einen Fehler in der defaul SysCP Konfiguration ist es daher möglich sich über diesen Benutzer anzumelden und Dateien abzuelegen welche unter /home/ftp oder /home/www-data gespeichert werden.

Bei aktiviertem Mod_userdir des Apache(2) Servers ist es anschließend möglich, auf ein Verzeichnis namens public_html des Benutzers ftp/www-data über den Browser zuzugreifen.
Dort wurde in Deinem Fall ein PHP-Browser abgelegt, der es einem ermöglicht sich Systemweit durch die Ordner zu hangeln.
Der Zugriff erfolgte über die Adresse “http://domain.tld/~ftp/”  wobei die openbasedir und safemode Restriktion nicht wirkte. Diese beiden Optionen verhindern normalerweise den Zugriff auf Verzeichnise außerhalb des Webverzeichnisses.

https://forum.syscp.org/index.php?topic=3350.msg20352;topicseen

Nachfolgen einmal der hack Schritt für Schritt:

Die Datei bebe wird per FTP hochgeladen. Als Benutzer wurde hier ftp benutzt

./var/log/xferlog: Sat Dec 15 08:29:52 2007 1 host37-14-dynamic.0-79-r.retail.telecomitalia.it 38317 /home/ftp/public_html/bebe.php b _ i r ftp ftp 1 * c

anschließend wurde die Datei am 22.12.2007 zwischen 20:39 Uhr – 20:58 Uhr mittels Mozilla aufgerufen Weiterlesen

Debian: Systeminformationen auslesen

Informationen über PCI/USB/PCMCIA Geräte anzeigen 
~ # lspci (-vv)
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
~ # lsusb
Bus 005 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000

Update der Datenbank für lspci/lsusb die Geräte identifiziert

~ # update-pciids
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  137k  100  137k    0     0  62870      0  0:00:02  0:00:02 --:--:-- 73637
Done.
 ~ # update-usbids
--08:22:57--  http://linux-usb.sourceforge.net/usb.ids
           => `/var/lib/usbutils/usb.ids.new'
Auflösen des Hostnamen »linux-usb.sourceforge.net«.... 66.35.250.209
Verbindungsaufbau zu linux-usb.sourceforge.net|66.35.250.209|:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 206.777 (202K) [text/plain]
100%[============================================>] 206.777      140.04K/s
08:22:59 (139.56 KB/s) - »/var/lib/usbutils/usb.ids.new« gespeichert [206777/206777]
Done.

Systemvariablen anzeigen/ändern

~ # sysctl -a
dev.parport.parport0.devices.active = none
dev.parport.parport0.modes = PCSPP,TRISTATE,EPP
dev.parport.parport0.dma = -1
...
fs.file-max = 101443
fs.file-nr = 1696       0       101443
fs.inode-state = 32523  13665   0       0       0       0       0
fs.inode-nr = 32523     13665
~ # sysctl kernel.hostname=deepdance

Aktivität von Partitionen anzeigen

~ # vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
ram0       0      0       0       0      0      0       0       0      0      0
ram1       0      0       0       0      0      0       0       0      0      0
ram2       0      0       0       0      0      0       0       0      0      0
ram3       0      0       0       0      0      0       0       0      0      0
ram4       0      0       0       0      0      0       0       0      0      0
ram5       0      0       0       0      0      0       0       0      0      0
ram6       0      0       0       0      0      0       0       0      0      0
ram7       0      0       0       0      0      0       0       0      0      0
ram8       0      0       0       0      0      0       0       0      0      0
ram9       0      0       0       0      0      0       0       0      0      0
ram10      0      0       0       0      0      0       0       0      0      0
ram11      0      0       0       0      0      0       0       0      0      0
ram12      0      0       0       0      0      0       0       0      0      0
ram13      0      0       0       0      0      0       0       0      0      0
ram14      0      0       0       0      0      0       0       0      0      0
ram15      0      0       0       0      0      0       0       0      0      0
hda        0      0       0       0      0      0       0       0      0      0
sda   25640971 15424452 2643751330 218804424 60081536 142003150 1681161416 595195676      0 265687
sdb   25234870 15371843 2617084684 239739472 60068571 142013756 1681144176 608372040      0 277115
md0    41657      0 3285632       0     93      0    9312       0      0      0
md1   69610349      0 3714493562       0 194133118      0 1553064944       0      0      0
fd0        0      0       0       0      0      0       0       0      0      0
loop0      0      0       0       0      0      0       0       0      0      0
loop1      0      0       0       0      0      0       0       0      0      0
loop2      0      0       0       0      0      0       0       0      0      0
loop3      0      0       0       0      0      0       0       0      0      0
loop4      0      0       0       0      0      0       0       0      0      0
loop5      0      0       0       0      0      0       0       0      0      0
loop6      0      0       0       0      0      0       0       0      0      0
loop7      0      0       0       0      0      0       0       0      0      0

aktuell Verbundene Benutzer (w/who)

~ # w
 08:41:14 up 151 days, 11:53,  1 user,  load average: 1,16, 0,95, 0,86
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    proxy174.de          08:40    0.00s  0.09s  0.00s w

die letzten Logins anzeigen

 ~ # last
root     pts/0        p508d4093.dip.t- Sun Dec 23 15:28   still logged in
root     pts/0        p508d4093.dip.t- Sun Dec 23 09:48 - 09:55  (00:07)
root     pts/0        p508d78ce.dip.t- Sat Dec 22 10:27 - 10:27  (00:00)
web1     ftpd3785     ::ffff:80.141.12 Fri Dec 21 19:08 - 19:08  (00:00)
wtmp begins Sat Dec  1 11:49:43 2007 

woher bezieht ein Programm seine Infos?

~ # strace free

Laufene Prozesse anzeigen (top/htop)

~ # top
top - 08:48:08 up 151 days, 12:00,  1 user,  load average: 0.91, 0.88, 0.85
Tasks: 128 total,   1 running, 127 sleeping,   0 stopped,   0 zombie
Cpu(s):  9.1%us,  0.2%sy,  0.0%ni, 90.0%id,  0.6%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1028104k total,  1009936k used,    18168k free,    60032k buffers
Swap:  1992040k total,       56k used,  1991984k free,   434496k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
13113 root      18   0 36696  34m  864 S   49  3.5  27296:34 dnstop
    1 root      15   0  1852  584  500 S    0  0.1   0:03.02 init
    2 root      RT   0     0    0    0 S    0  0.0   0:06.94 migration/0
    3 root      34  19     0    0    0 S    0  0.0   0:00.52 ksoftirqd/0
    4 root      RT   0     0    0    0 S    0  0.0   0:06.22 migration/1

Bootmeldung anzeigen

~ # dmesg
Linux version 2.6.18-4-686 (Debian 2.6.18.dfsg.1-12etch2) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Wed May 9 23:03:12 UTC 2007
BIOS-provided physical RAM map:
...
ACPI: RSDP (v000 ASUS                                  ) @ 0x000f5330
ACPI: RSDT (v001 ASUS   P4PE-XSE 0x42302e31 MSFT 0x31313031) @ 0x3ffec000
ACPI: FADT (v001 ASUS   P4PE-XSE 0x42302e31 MSFT 0x31313031) @ 0x3ffec0c0
ACPI: BOOT (v001 ASUS   P4PE-XSE 0x42302e31 MSFT 0x31313031) @ 0x3ffec030
ACPI: MADT (v001 ASUS   P4PE-XSE 0x42302e31 MSFT 0x31313031) @ 0x3ffec058
ACPI: DSDT (v001   ASUS P4PE-XSE 0x00001000 MSFT 0x0100000b) @ 0x00000000

Hardware Übersicht (lshw)

~ # lshw -short
H/W path                Device     Class      Description
=========================================================
                                   system     System Name
/0                                 bus        P4PE-X
/0/0                               memory     64KB BIOS
/0/4                               processor  Intel(R) Pentium(R) 4 CPU 2.66GHz
/0/4/9                             memory     8KB L1 cache
/0/4/a                             memory     512KB L2 cache
/0/2b                              memory     1GB System Memory
/0/2b/0                            memory     512MB DIMM DRAM Synchronous
/0/2b/1                            memory     512MB DIMM DRAM Synchronous
/0/2b/2                            memory     DIMM DRAM Synchronous [empty]
/0/f8000000                        bridge     82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface
/0/f8000000/1                      bridge     82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge
/0/f8000000/1/0         /dev/fb0   display    Rage 128 Pro Ultra TF
/0/f8000000/1e                     bridge     82801 PCI Bridge
/0/f8000000/1e/b        eth1       network    3c905C-TX/TX-M [Tornado]
/0/f8000000/1f                     bridge     82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge
/0/f8000000/1f.1                   storage    82801DB (ICH4) IDE Controller
/0/f8000000/1f.1/0      ide0       bus        IDE Channel 0
/0/f8000000/1f.1/0/0    /dev/hda   disk       74GB WDC WD800BB-00JHC0
/0/f8000000/1f.1/0/0/1  /dev/hda1  disk       Linux filesystem partition
/0/f8000000/1f.1/0/0/2  /dev/hda2  disk       Linux swap / Solaris partition
/0/f8000000/1f.1/1      ide1       bus        IDE Channel 1
/0/f8000000/1f.1/1/0    /dev/hdc   disk       SAMSUNG CD-ROM SC-152A
/0/f8000000/1f.1/1/0/0  /dev/hdc   disk

Offene Ports anzeigen

~ # netstat -l | grep -e ^tcp -e ^udp
tcp        0      0 localhost.localdo:60000 *:*                     LISTEN
tcp        0      0 localhost.localdo:10024 *:*                     LISTEN
tcp        0      0 localhost.localdo:10025 *:*                     LISTEN
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN
tcp        0      0 localhost.localdo:10030 *:*                     LISTEN
tcp        0      0 localhost.localdo:spamd *:*                     LISTEN
tcp        0      0 *:sunrpc                *:*                     LISTEN
tcp        0      0 *:auth                  *:*                     LISTEN
tcp        0      0 domain.de:domain   *:*                     LISTEN
tcp        0      0 localhost.locald:domain *:*                     LISTEN
tcp        0      0 *:47832                 *:*                     LISTEN
tcp        0      0 localhost.localdoma:953 *:*                     LISTEN
tcp        0      0 *:smtp                  *:*                     LISTEN
tcp6       0      0 *:imaps                 *:*                     LISTEN
tcp6       0      0 *:pop3                  *:*                     LISTEN
tcp6       0      0 *:imap2                 *:*                     LISTEN
tcp6       0      0 *:www                   *:*                     LISTEN
tcp6       0      0 *:domain                *:*                     LISTEN
tcp6       0      0 *:ftp                   *:*                     LISTEN
tcp6       0      0 ip6-localhost:953       *:*                     LISTEN
tcp6       0      0 *:https                 *:*                     LISTEN
udp        0      0 *:58911                 *:*
udp        0      0 *:946                   *:*
udp        0      0 domain.de:domain   *:*
udp        0      0 localhost.locald:domain *:*
udp        0      0 *:57570                 *:*
udp        0      0 *:sunrpc                *:*
udp6       0      0 *:58912                 *:*
udp6       0      0 *:domain                *:*

Festplatte/Partitionen anzeigen

~ # df -h
Dateisystem          Größe Benut  Verf Ben% Eingehängt auf
/dev/hda1              35G  7,4G   26G  23% /
tmpfs                 507M     0  507M   0% /lib/init/rw
udev                   10M   48K   10M   1% /dev
tmpfs                 507M  4,0K  507M   1% /dev/shm
~ # cat /proc/partitions
major minor  #blocks  name
   3     0   78150744 hda
   3     1   37110118 hda1
   3     2    3036285 hda2

Motherboard Sensoren 

~ # apt-get install mbmon
~ # mbmon -A
Temp.= 32.0, 25.0, 35.0; Rot.= 2986,    0,    0
Vcore = 1.62, 1.60; Volt. = 3.31, 5.16, 11.25, -10.29, -4.44

weitere System Sensoren 

~ # apt-get install lm-sensors
~ # sensors-detect
...
  laptops, for example.
Driver `to-be-written' (should be inserted):
  Detects correctly:
  * ISA bus address 0x0290 (Busdriver `i2c-isa')
    Chip `ITE IT8702F Super IO Sensors' (confidence: 9)
I will now generate the commands needed to load the required modules.
Just press ENTER to continue:
To make the sensors modules behave correctly, add these lines to
/etc/modules:
#----cut here----
# I2C adapter drivers
i2c-i801
# Chip drivers
eeprom
# no driver for ITE IT8702F Super IO Sensors yet
#----cut here----
Do you want to add these lines to /etc/modules automatically? (yes/NO) 
~ # sensors
w83627ehf-isa-0290
Adapter: ISA adapter
VCore:     +1.26 V  (min =  +0.00 V, max =  +1.74 V)
in1:      +12.30 V  (min =  +3.01 V, max =  +7.97 V) ALARM
AVCC:      +3.33 V  (min =  +1.94 V, max =  +3.98 V)
3VCC:      +3.33 V  (min =  +3.31 V, max =  +0.72 V) ALARM
in4:       +1.68 V  (min =  +0.19 V, max =  +0.48 V) ALARM
in5:       +1.62 V  (min =  +2.02 V, max =  +1.26 V) ALARM
in6:       +5.22 V  (min =  +5.89 V, max =  +2.64 V) ALARM
VSB:       +3.34 V  (min =  +0.16 V, max =  +3.20 V) ALARM
VBAT:      +3.23 V  (min =  +3.76 V, max =  +0.78 V) ALARM
in9:       +1.62 V  (min =  +0.99 V, max =  +0.33 V) ALARM
Case Fan:    0 RPM  (min =   47 RPM, div = 128) ALARM
CPU Fan:  2109 RPM  (min = 2636 RPM, div = 4) ALARM
Aux Fan:     0 RPM  (min = 3629 RPM, div = 4) ALARM
fan4:        0 RPM  (min = 7417 RPM, div = 2) ALARM
Sys Temp:    +33°C  (high =   +73°C, hyst =   +32°C)
CPU Temp:  +25.0°C  (high = +80.0°C, hyst = +75.0°C)
AUX Temp:  +43.5°C  (high = +80.0°C, hyst = +75.0°C)

Herausfinden, in welchem Pfad sich ein Programm befindet

~ # which ping
/bin/ping 

Website von der Console aufrufen (lynx) 

lynx ermöglicht es, dass man Webseiten von der Console aufrufen kann. Für Notfälle sehr hilfreich.

lynx_o-o-sde.jpg

Links:
http://o-o-s.de/?p=345
http://o-o-s.de/?p=300
http://o-o-s.de/?p=312

Debian: Netzwerkkarte installieren (Troubleshooting)

Linux erkennt viele Netzwerkkarte von hause aus. War die Netzwerkkarte schon während der Installation vorhanden, so ist die Chance relativ groß, dass die Netzwerkkarte nach dem Setup auch funktionsfähig ist. Schwieriger wird es, wenn man nachträglich eine Netzwerkkarte einbaut oder austauscht.

Als erstes sollte man, so banal es auch klingt, prüfen ob die Netzwerkkarte überhaupt Verbindung zum Netz hat. Nicht selten ist ein Wackelkontakt das Problem.

Anschließend könnte man versuche die Netzwerkkarte zu aktivieren/deaktivieren

 ~ # ifconfig eth0 up/down

Evtl. muss die Konfiguration in der /etc/network/interfaces angepasst weren.

iface eth0 inet dhcp

sollte aber reichen, damit die Netzwerkkarte wenigstens schonmal auf DHCP steht. In diesem Falle muss ebenfalls geprüft werden, ob der DHCP Client aber auch läuft, sonst wird das nichts mit der IP-Adresse Weiterlesen

Debian: ext3 Dateisystemoptimierung

Wer unter Linux einen eMail Server mit vielen Postfächern oder einen Fileserver mit vielen Dateien oder Verzeichnisen betreibt kennt das Problem, dass eine Auflistung eines Verzeichnises mit mehreren tausend Dateien unter Umständen sehr lange dauer kann.

Dies lässt sich durch das Filesystem Feature dir_index um einiges Verbessern. Nach der aktivierung der dir_index Option wird von diesem Zeitpunkt an für jedes neue Verzeichnis ein Index erstellt, der das auflisten des Inhaltes erheblich beschläunigt.

Die aktivierung dieser Option erfolgt mittels tune2fs:

tune2fs -O dir_index /dev/[PARTITION]

Um nun evtl. auch bereites existierende Verzeichnise zu Indexieren kann das Dateisystem mit durch e2fsck indexiert werden. Diese Option

e2fsck –D /dev/[PARTITION]

Diese Operationen sollte aber nur im Single – User Mode ausgeführt werden (init 1), Dateisystem neu mouten mit -n -w -o remount / , ansonsten droht Datenverlust

Links: http://entwickler.com/itr/online_artikel/psecom,id,868,nodeid,9.html