bash-2.04$ +++ Notes +++
GNU bash, version 2.04.21(1)-release
opyright 1999 Free Software Foundation, Inc.
# common bash
grep "to=sales@" /var/log/maillog | awk {'print $7'}
for x in *; do chown -R root.src $x; done
static routes in /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
route add 212.53.96.134 gw 212.53.96.132 metric 1
USERADD - common user
/usr/sbin/useradd -m -c `username` -d /home/username -s `/bin/bash` -G \
`users` -e '' username /usr/bin/chage -m -1 -M 99999 -W -1 username
POPUSER - add only pop user
useradd -M -c "$full" -s`/bin/false` -G '' -g 231 -e '' $usr
ROUTE /etc/sysconfig/static-routes
eth0 host 212.53.96.134 gw 212.53.96.132
result:
Destination Gateway Genmask Flags Metric Ref Use Iface
212.53.96.134 212.53.96.132 255.255.255.255 UGH 0 0 0 eth0
NFS mount remote directory
mkidr /mnt/directory
mount -o intr,soft -t nfs host:home/user /mnt/host
BIND8 named zone transfer
/usr/sbin/named-xfer -z zone.file -f /var/named/sec/zone.file server_ip
kill -HUP `cat /var/run/named/named.pid`
BIND9 named zone transfer
rndc "zone" reload | reconfig
FIND
Finden von Dateien, die in den letzten 2 Tagen geändert wurden
find . -mtime -2 -print >2tage.txt
Finden von Dateien, die älter als 100 Tage sind
find . -mtime +100 -print >100tage.txt
find . \( -name '*.o' -o -name '*.d' \) -exec rm {} \;
Sucht nach allen *.o und *.d Dateien und loescht diese.
Sehr gut um obj-Verzeichnis von altem Kram zu befreien.
find /scratch/. -atime +14 -exec touch {};\
Sucht nach Dateien die länger als 14 Tage nicht angefasst woerden
sind und setzt mit touch das Datum auf das aktuelle Datum.
find . -maxdepth 1 -type d -print | xargs du -skh | sort -rn
Der Parameter -maxdepth 1 sorgt hier dafür, dass in der
Aufstellung nur die vom genannten Verzeichnis abzweigenden
Unterverzeichnisse aufgeführt werden; der Platzbedarf der
tiefer liegenden Verzeichnisse wird aber sehr wohl
berücksichtigt.
ipchains-1.3.10-13
[localhost]# /etc/sysconfig/ipchains
-A input -s 0/0 -d 0/0 111 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 110 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 22 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 23 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 25 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 80 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 21 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 -i lo -j ACCEPT
-A input -s 0/0 -d 0/0 -i eth0 -j ACCEPT
-A input -s 192.168.1.1 53 -d 0/0 -p udp -j ACCEPT
-A input -s 192.168.1.1 53 -d 0/0 -p udp -j ACCEPT
-A input -s 0/0 -d 0/0 -p tcp -y -j REJECT
-A input -s 0/0 -d 0/0 -p udp -j REJECT
DHCPD /etc/dhcpd.conf
ddns-update-style ad-hoc;
subnet 192.168.195.0 netmask 255.255.255.0 {
ddns-updates off;
default-lease-time 86400;
option netbios-node-type 8;
option netbios-name-servers 192.168.195.20;
option ntp-servers 192.168.195.20;
option log-servers 192.168.195.20;
option domain-name-servers 192.168.195.1 , 192.168.195.20 , 212.147.18.243;
option domain-name "bu.birk.ch";
option subnet-mask 255.255.255.0;
option routers 192.168.195.1;
range 192.168.195.201 192.168.195.210;
}
host eb-pc-cb {
ddns-updates off;
default-lease-time 86400;
hardware ethernet 00:48:54:55:1C:44;
fixed-address 192.168.195.202;
}
host eb-pc-rb {
ddns-updates off;
============= install & configure ===============
tar -xzvf net-tools-1.32.tar.gz
make config
make
make install
RPM's
rpm -qpl .rpm
rpm -q Paket Anfragen (-qi)
rpm -Fvh Auffrischen
rpm -Uvh Aktualisieren
rpm -e Deinstallieren
rpm -ivh Installieren
rpm -Va alle überprüfen
rpm -Vf file überprüfen
rpm -Vp Paket verifizieren
rpm -ivh --replacepkgs Fehler ignorieren
rpm -ivh --replacefiles überschreiben
rpm -ivh --nodeps ignoriert Abhängigkeit
gzip -d Decompress tar.gz-files
zforce * komprimierte Datei-extensions
tar -xf Dearchive tar-files
tar -xzvf Dearchive gzip-tar
rpm2cpio paket.rpm | cpio -i -d ,RPM im lokalen Verzeichniss auspacken
wget -c http://www.server.de/datei.zip ,HTML Sites/Files per HTTP anfordern
fuser -u /dev/tty[!p]* 2>&1 = alle prozess-IDs ausgeben
pgrep -l -u admin
pkill -u admin
dsniff -m > dump.log | tee dump.log
ngrep -t '^(
)' tcp port 80 -l > dump.log & tail -f dump.log
ngrep -t '(abcdefghi)' ip and icmp
ngrep -t '^(USER|PASS)' tcp and dst port 110 and dst host 212.117.197.116
ngrep -t ip and dst host 192.168.1.1 -l > dump.log & tail -f dump.log
hping2 212.53.103.135 -p 23
packit -sR -d 192.168.1.10 -F S -c 5 -W 666 -eR -E 00:80:29:12:BC:80 -p txt
packit -m cap -i eth0 'tcp and host 212.53.103.135' -X
packit -m cap 'tcp and not port 22'
packit -m cap -nnnR 'tcp and port 80'
dsniff -m > dsniff.log & tail -f dsniff.log
tcpdump -a -f -l | tee dump.log
tcpdump -a -e tcp port 110
tcpdump -a -v tcp and dst port 25 and dst host apache.a-enterprise.ch
tcpdump -vvv -x udp and port 137 and udp and port 138 and dst \
host 192.168.1.20 -l > dump.log & tail -f dump.log
nemesis udp -v -S 10.11.12.13 -D 10.1.1.2 -x 11111 -y 53 -P bindpkt
nemesis icmp -S 10.10.10.3 -D 10.10.10.1 -G 10.10.10.3 -i 5
nemesis arp -v -d eth0 -H 0:1:2:3:4:5 -S 10.11.30.5 -D 192.168.1.10
rsh -l root 195.186.208.188 echo ++ >> ./rhosts
for x in *; do chown -R root.src $x; done
# Server Portscan
ip=192.168.1.1
nc -v -z $ip 23 2> /tmp/temp
cat /tmp/temp | grep refused >> /tmp/port
nc -v -z $ip 25 2> /tmp/temp
cat /tmp/temp | grep refused >> /tmp/port
nc -v -z $ip 80 2> /tmp/temp
cat /tmp/temp | grep refused >> /tmp/port
nc -v -z $ip 110 2> /tmp/temp
cat /tmp/temp | grep refused >> /tmp/port
#.htaccess
AuthUserFile /home/www/sites/web/html/organize/.htpasswd
AuthName Organize
AuthType Basic
require valid-user
#touch .htpasswd
user505:6A97fxCX9Hgyk
#.htaccess
AuthName SecureLogin
AuthType Basic
Satisfy Any
order deny,allow
deny from all
allow from 172.20.
allow from 172.17.
allow from 192.168.
require valid-user
# bash prompt
PS1='\u@\h:[\W]\$>'
PS1=$'\\u@\\h:\\w> '
PS1=$'\\h:\\w # '
# my favorite aliases
alias .='echo $PWD'
alias ..='cd ..'
alias ...='cd ../..'
alias cdrom='mount /mnt/cdrom'
alias cdrpm='cd /mnt/cdrom/RedHat/RPMS'
alias clean='rm -rf .*~ *~'
alias cls='clear'
alias cp='cp -i'
alias md='mkdir -p'
alias o='less'
alias rd='rmdir'
alias rehash='hash -r'
alias dspell='ispell -t -T latin1'
alias fm='mount /mnt/floppy'
alias hterr='less /var/log/httpd/error_log'
alias htlog='less /var/log/httpd/access_log'
alias dir='ls -l'
alias l.='ls -d .[a-zA-Z]* --color=tty'
alias l='ls -alF'
alias ll='ls -al --color=auto'
alias ls='ls --color=tty'
alias mlog='less /var/log/maillog'
alias msg='less /var/log/messages'
alias mv='mv -i' alias rm='rm -i'
alias secure='less /var/log/secure'
alias ucdrom='umount /dev/cdrom'
alias ufm='umount /dev/fd0'
alias which='type -path'
alias dos2unix='recode ibmpc..lat1'
alias unix2dos='recode lat1..ibmpc'
alias zl='zless'
########################### BEGIN ####################################
# Firewall iptables/ipfilter
######################################################################
# Standard Policy fuer .. Linux Hosts
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
######################################################################
# allow local loopback device #
######################################################################
-A INPUT -i lo -j ACCEPT
######################################################################
# Spoofing Protection #
######################################################################
-A INPUT -s 255.0.0.0/8 -j LOG --log-prefix "Spoofed Source IP"
-A INPUT -s 255.0.0.0/8 -j DROP
-A INPUT -s 0.0.0.0/8 -j LOG --log-prefix "Spoofed Source IP"
-A INPUT -s 0.0.0.0/8 -j DROP
-A INPUT -s 127.0.0.0/8 -j LOG --log-prefix "Spoofed Source IP"
-A INPUT -s 127.0.0.0/8 -j DROP
-A INPUT -s 192.168.0.0/16 -j LOG --log-prefix "Spoofed Source IP"
-A INPUT -s 192.168.0.0/16 -j DROP
-A INPUT -s 172.16.0.0/12 -j LOG --log-prefix "Spoofed Source IP"
-A INPUT -s 172.16.0.0/12 -j DROP
-A INPUT -s 10.0.0.0/8 -j LOG --log-prefix "Spoofed Source IP"
-A INPUT -s 10.0.0.0/8 -j DROP
-A INPUT -p tcp -m tcp ! --syn -m state --state NEW -j LOG --log-prefix "Health Scan Attempt"
-A INPUT -p tcp -m tcp ! --syn -m state --state NEW -j DROP
######################################################################
# Ping Flood Prevention #
######################################################################
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#######################################################################
# '--state RELATED,ESTABLISHED' bewirkt, dass alle Pakete, die sich auf
# eine bereits bestehende Verbindung beziehen oder mit dieser in
# Zusammenhang stehen, zugelassen werden.
# Das hat zwei wichtige Konsequenzen: Erstens knnen vom Rechner
# selbst nach au_en Verbindungen aufgebaut werden, und die resultierenden
# Antwortpakete werden dann vom Firewall durchgelassen
# - es trifft ESTABLISHED zu. Zweitens ist es durch dieses "state module"
# des Firewalls etwa mglich, dass komplexe Verbindungen wie FTP, die zwei
# oder mehr verschiedene Ports verwenden, trotzdem zu erlauben - hier
# wird RELATED wichtig.
###########################################################################
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
###################################################################
# NTP Network Time Protocol SWISS-Time
###################################################################
-A INPUT -p udp -m udp -s 129.132.2.21 --sport 123 --dport 123 -j ACCEPT
###################################################################
# drop NetBios ... traffic #
# (don't want to log all this ... uhm .. well ... ) #
# (see default LOG+DROP below) verursacht sonst einfach zuviel LOG-Trafic #
###################################################################
-A INPUT -p tcp -m tcp --dport 135:139 -j DROP
-A INPUT -p udp -m udp --dport 135:139 -j DROP
-A INPUT -p tcp -m tcp --dport 445 -j DROP
-A INPUT -p udp -m udp --dport 445 -j DROP
-A INPUT -p tcp -m tcp --dport 593 -j DROP
-A INPUT -p udp -m udp --dport 593 -j DROP
###################################################################
# reject ident traffic, don't drop it #
# ... anstatt die Pakete einfach zu verwerfen.
# Verwendet man dies nicht, dauern etwa FTP Verbindungsaufbauten sehr lange
###################################################################
-A INPUT -p tcp -m tcp --dport 113 -j REJECT
###################################################################
# SSH
-A INPUT -p tcp -m tcp -s 12.34.56.78 --dport 22 --syn -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j REJECT
###################################################################
###################################################################
# Telnet
-A INPUT -p tcp -m tcp -s 12.34.56.78 --dport 23 --syn -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j REJECT
###################################################################
### HTTP accept ####################################################
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
## SMTP accept ####################################################
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
## POP accept #####################################################
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
###################################################################
# finally() #
###################################################################
-A INPUT -j LOG --log-prefix "Dropping by default (INPUT)"
-A INPUT -j DROP
###################################################################
# Prevent FORWARDing #
###################################################################
-A FORWARD -j LOG --log-prefix "Attempted FORWARD!"
-A FORWARD -j DROP
COMMIT
############################ END ##################################
eof