Журнал лабораторных работ

Содержание

Журнал

Пятница (03/05/10)

/dev/pts/0
00:23:40
#ssh 192.168.8.106 -p 2202
^C
00:23:57
#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.10.2    0.0.0.0         UG    0      0        0 eth1
00:23:59
#route del default; route add default gw 192.168.8.106

00:24:45
#ssh 192.168.8.95
Connection to 192.168.8.95 closed.
прошло >13 часов
13:33:39
#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.10.2    0.0.0.0         UG    0      0        0 eth1
13:33:44
#man iptables
прошло 93 минуты
15:07:20
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.26559.20789	2010-03-05 14:07:29.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:10:40.000000000 +0000
@@ -323,7 +323,7 @@
 iptables -A OUTPUT -p icmp -j LnRo
 # UDP
 # traceroute:
-iptables -A INPUT -p udp --sport $HI_PORTS --dport $HI_PORTS -j ACCEPT
+iptables -A INPUT -p udp --sports $HI_PORTS --dports $HI_PORTS -j ACCEPT
 # TCP
 # services (FTP, SSH, telnet, SMTP, http, ident, NNTP, IMAP, [# https], rsync):
 # FTP:
@@ -332,39 +332,39 @@
 iptables -A INPUT -m helper --helper ftp -j FTP
 # Incoming FTP is unfettered:
 # (This passes a lot more than just FTP!)
-#iptables -A INPUT -i $IFE1 -p tcp -d $IPE1 --dport 20,$HI_PORTS -j ACCEPT
+#iptables -A INPUT -i $IFE1 -p tcp -d $IPE1 --dports 20,$HI_PORTS -j ACCEPT
 # 3 simultaneous FTP connections per IP max (Stopped logging 31Jan04):
 # (Don't match NEW:)
-iptables -A INPUT -p tcp --dport 20:21 -m connlimit --connlimit-above 3 -j DROP
-iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
+iptables -A INPUT -p tcp --dports 20:21 -m connlimit --connlimit-above 3 -j DROP
+iptables -A INPUT -p tcp --dports 20:21 -j ACCEPT
 
 # Only the chosen few can SSH or telnet:
-iptables -A INPUT -p tcp --sport $HI_PORTS --dport 25 -j ACCEPT
-# iptables -A INPUT -p tcp --sport $HI_PORTS --dport 53 -j LnAi	# dig uses tcp
-iptables -A INPUT -p tcp --sport $HI_PORTS --dport 110 -j ACCEPT	# pop3
-iptables -A INPUT -p tcp --sport $HI_PORTS --dport 113 -j ACCEPT	# auth
-iptables -A INPUT -p tcp --sport $HI_PORTS --dport 119 -j ACCEPT
-#iptables -A INPUT -p tcp --sport $HI_PORTS --dport 143 -j ACCEPT	# imap
-#iptables -A INPUT -p tcp --sport $HI_PORTS --dport 443 -j ACCEPT
+iptables -A INPUT -p tcp --sports $HI_PORTS --dport 25 -j ACCEPT
+# iptables -A INPUT -p tcp --sports $HI_PORTS --dport 53 -j LnAi	# dig uses tcp
+iptables -A INPUT -p tcp --sports $HI_PORTS --dport 110 -j ACCEPT	# pop3
+iptables -A INPUT -p tcp --sports $HI_PORTS --dport 113 -j ACCEPT	# auth
+iptables -A INPUT -p tcp --sports $HI_PORTS --dport 119 -j ACCEPT
+#iptables -A INPUT -p tcp --sports $HI_PORTS --dport 143 -j ACCEPT	# imap
+#iptables -A INPUT -p tcp --sports $HI_PORTS --dport 443 -j ACCEPT
 
 # Low Ports:
 # (Can't TARPIT udp)
-iptables -A INPUT -p tcp --dport 79,135,137:139,389,445,446,901,1002 -j TARPIT
-iptables -A INPUT -p udp --dport 79,135,137:139,389,445,446,901,1002 -j RdL
+iptables -A INPUT -p tcp --dports 79,135,137:139,389,445,446,901,1002 -j TARPIT
+iptables -A INPUT -p udp --dports 79,135,137:139,389,445,446,901,1002 -j RdL
 # This is "too many port specified" because the max is 15 port;
 # IPT_MULTI_PORTS is set to 15 in ~linux/include/linux/netfilter_ipv4 for both
 # mport and multiport:
-# iptables -A INPUT -p udp --dport 0:19,22:24,26:52,54:79,81:112,114:118,120:872,874:1023 -j LnRi
+# iptables -A INPUT -p udp --dports 0:19,22:24,26:52,54:79,81:112,114:118,120:872,874:1023 -j LnRi
 
 # "Low port" - reject everything not specifically allowed:
-iptables -A INPUT -p tcp --dport $LOWPORTS -j RdL
-iptables -A INPUT -p udp --dport $LOWPORTS -j RdL
+iptables -A INPUT -p tcp --dports $LOWPORTS -j RdL
+iptables -A INPUT -p udp --dports $LOWPORTS -j RdL
 
 # Annoyance high port:
-iptables -A INPUT -p tcp --sport $HI_PORTS --dport 1080,1433,3127:3128,4444,4899,6129,17300,20168 -j TARPIT
+iptables -A INPUT -p tcp --sports $HI_PORTS --dports 1080,1433,3127:3128,4444,4899,6129,17300,20168 -j TARPIT
 
 # Take advantage of the stateful nature of iptables on the INPUT chain:
-iptables -A INPUT -p tcp --dport ! 20:21 -m state --state $E_R -j ACCEPT
+iptables -A INPUT -p tcp --dports ! 20:21 -m state --state $E_R -j ACCEPT
 iptables -A INPUT -p udp -m state --state $E_R -j ACCEPT
 
 # * * Here is where the INPUT filtering ends and the policy takes effect * *
@@ -376,8 +376,8 @@
 # default DROP policy (because default policy cannot be REJECT).
 
 # OUTPUT chain (default ACCEPT):
-iptables -A OUTPUT -o $IFE1 -p tcp --dport 79,135,137:139,389,445,446,901,1002 -j LnRo
-iptables -A OUTPUT -o $IFE1 -p udp --dport 79,135,137:139,389,445,446,901,1002 -j LnRo
+iptables -A OUTPUT -o $IFE1 -p tcp --dports 79,135,137:139,389,445,446,901,1002 -j LnRo
+iptables -A OUTPUT -o $IFE1 -p udp --dports 79,135,137:139,389,445,446,901,1002 -j LnRo
 
 # Just Go Away:
 if [ -f /etc/firewall/banned ]; then
@@ -415,14 +415,14 @@
 # These packets do NOT traverse either INPUT or OUTPUT chains.
 # For packets being routed through the box.
 # ICMP rules are separate, above.
-iptables -A FORWARD -i $IFE1 -p tcp --sport 135,137:139,445 -j LnDf
-iptables -A FORWARD -i $IFE1 -p udp --sport 135,137:139,445 -j LnDf
-iptables -A FORWARD -o $IFE1 -p tcp --sport 135,137:139,445 -j DROP
-iptables -A FORWARD -o $IFE1 -p udp --sport 135,137:139,445 -j LnDf
-iptables -A FORWARD -i $IFE1 -p tcp --dport 135,137:139,445 -j LnDf
-iptables -A FORWARD -i $IFE1 -p udp --dport 135,137:139,445 -j LnDf
-iptables -A FORWARD -o $IFE1 -p tcp --dport 135,137:139,445 -j LnDf
-iptables -A FORWARD -o $IFE1 -p udp --dport 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p tcp --sports 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p udp --sports 135,137:139,445 -j LnDf
+iptables -A FORWARD -o $IFE1 -p tcp --sports 135,137:139,445 -j DROP
+iptables -A FORWARD -o $IFE1 -p udp --sports 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p tcp --dports 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p udp --dports 135,137:139,445 -j LnDf
+iptables -A FORWARD -o $IFE1 -p tcp --dports 135,137:139,445 -j LnDf
+iptables -A FORWARD -o $IFE1 -p udp --dports 135,137:139,445 -j LnDf
 ## Refuse connections from IANA reserved blocks:
 # JK 5 Dec 04 remarked because not needed
 #if [ -f /etc/firewall/IANA ]; then
15:10:40
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.264.18365	2010-03-05 14:12:21.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:21:27.000000000 +0000
@@ -251,7 +251,7 @@
 if [ -f /etc/firewall/local_services ]; then
   while read STRNG; do
     SRC=`echo "$STRNG" | cut -f 1`
-	if [ -z "$SRC" ]; then
+	if [ -n "$SRC" ]; then
 	    DPORT=`echo "$STRNG" | cut -f 2`
 	    PROT=`echo "$STRNG" | cut -f 3`
 	    iptables -A INPUT -p $PROT --dport $DPORT -s $SRC --sport $HI_PORTS -d $IPI -j ACCEPT
@@ -323,7 +323,7 @@
 iptables -A OUTPUT -p icmp -j LnRo
 # UDP
 # traceroute:
-iptables -A INPUT -p udp --sports $HI_PORTS --dports $HI_PORTS -j ACCEPT
+iptables -A INPUT -p udp -m multiport --sports $HI_PORTS --dports $HI_PORTS -j ACCEPT
 # TCP
 # services (FTP, SSH, telnet, SMTP, http, ident, NNTP, IMAP, [# https], rsync):
 # FTP:
прошло 10 минут
15:21:27
#iptables -h
iptables v1.4.4
Usage: iptables -[AD] chain rule-specification [options]
       iptables -I chain [rulenum] rule-specification [options]
       iptables -R chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]
       iptables -[LS] [chain [rulenum]] [options]
       iptables -[FZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
       iptables -P chain target [options]
...
[!] --out-interface -o output name[+]
                                network interface name ([+] for wildcard)
  --table       -t table        table to manipulate (default: `filter')
  --verbose     -v              verbose mode
  --line-numbers                print line numbers when listing
  --exact       -x              expand numbers (display exact values)
[!] --fragment  -f              match second or further fragments only
  --modprobe=<command>          try to insert modules using this command
  --set-counters PKTS BYTES     set the counter during insert/append
[!] --version   -V              print package version.
15:22:27
#iptables -h|less
15:23:09
#Pattern not found (press RETURN)
iptables -A FORWARD -p icmp -j REJECT
# TCP
iptables -A OUTPUT -p icmp -j LnRo
# services (FTP, SSH, telnet, SMTP, http, ident, NNTP, IMAP, [# https], rsync):
# UDP
# FTP:
# traceroute:
# Per Herald Welte:
iptables -A INPUT -p udp -m multiport --sports $HI_PORTS  -m multiport --dports
$HI_PORTS -j ACCEPT-m helper --helper ftp -j ACCEPT
iptables -A INPUT -m helper --helper ftp -j FTP
# Incoming FTP is unfettered:
# (This passes a lot more than just FTP!)
#iptables -A INPUT -i $IFE1 -p tcp -d $IPE1 --dports 20,$HI_PORTS -j ACCEPT
# 3 simultaneous FTP connections per IP max (Stopped logging 31Jan04):
"./myfirewall.sh" 460L, 18910C written
15:28:16
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.21527.13758	2010-03-05 14:28:21.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:30:47.000000000 +0000
@@ -332,39 +332,39 @@
 iptables -A INPUT -m helper --helper ftp -j FTP
 # Incoming FTP is unfettered:
 # (This passes a lot more than just FTP!)
-#iptables -A INPUT -i $IFE1 -p tcp -d $IPE1 --dports 20,$HI_PORTS -j ACCEPT
+#iptables -A INPUT -i $IFE1 -p tcp -d $IPE1 -m multiport --dports 20,$HI_PORTS -j ACCEPT
 # 3 simultaneous FTP connections per IP max (Stopped logging 31Jan04):
 # (Don't match NEW:)
-iptables -A INPUT -p tcp --dports 20:21 -m connlimit --connlimit-above 3 -j DROP
-iptables -A INPUT -p tcp --dports 20:21 -j ACCEPT
+iptables -A INPUT -p tcp -m multiport --dports 20:21 -m connlimit --connlimit-above 3 -j DROP
+iptables -A INPUT -p tcp -m multiport --dports 20:21 -j ACCEPT
 
 # Only the chosen few can SSH or telnet:
-iptables -A INPUT -p tcp --sports $HI_PORTS --dport 25 -j ACCEPT
-# iptables -A INPUT -p tcp --sports $HI_PORTS --dport 53 -j LnAi	# dig uses tcp
-iptables -A INPUT -p tcp --sports $HI_PORTS --dport 110 -j ACCEPT	# pop3
-iptables -A INPUT -p tcp --sports $HI_PORTS --dport 113 -j ACCEPT	# auth
-iptables -A INPUT -p tcp --sports $HI_PORTS --dport 119 -j ACCEPT
-#iptables -A INPUT -p tcp --sports $HI_PORTS --dport 143 -j ACCEPT	# imap
-#iptables -A INPUT -p tcp --sports $HI_PORTS --dport 443 -j ACCEPT
+iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 25 -j ACCEPT
+# iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 53 -j LnAi	# dig uses tcp
+iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 110 -j ACCEPT	# pop3
+iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 113 -j ACCEPT	# auth
+iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 119 -j ACCEPT
+#iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 143 -j ACCEPT	# imap
+#iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 443 -j ACCEPT
 
 # Low Ports:
 # (Can't TARPIT udp)
-iptables -A INPUT -p tcp --dports 79,135,137:139,389,445,446,901,1002 -j TARPIT
-iptables -A INPUT -p udp --dports 79,135,137:139,389,445,446,901,1002 -j RdL
+iptables -A INPUT -p tcp -m multiport --dports 79,135,137:139,389,445,446,901,1002 -j TARPIT
+iptables -A INPUT -p udp -m multiport --dports 79,135,137:139,389,445,446,901,1002 -j RdL
 # This is "too many port specified" because the max is 15 port;
 # IPT_MULTI_PORTS is set to 15 in ~linux/include/linux/netfilter_ipv4 for both
 # mport and multiport:
 # iptables -A INPUT -p udp --dports 0:19,22:24,26:52,54:79,81:112,114:118,120:872,874:1023 -j LnRi
 
 # "Low port" - reject everything not specifically allowed:
-iptables -A INPUT -p tcp --dports $LOWPORTS -j RdL
-iptables -A INPUT -p udp --dports $LOWPORTS -j RdL
+iptables -A INPUT -p tcp -m multiport --dports $LOWPORTS -j RdL
+iptables -A INPUT -p udp -m multiport --dports $LOWPORTS -j RdL
 
 # Annoyance high port:
-iptables -A INPUT -p tcp --sports $HI_PORTS --dports 1080,1433,3127:3128,4444,4899,6129,17300,20168 -j TARPIT
+iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS -m multiport --dports 1080,1433,3127:3128,4444,4899,6129,17300,20168 -j TARPIT
 
 # Take advantage of the stateful nature of iptables on the INPUT chain:
-iptables -A INPUT -p tcp --dports ! 20:21 -m state --state $E_R -j ACCEPT
+iptables -A INPUT -p tcp -m multiport --dports ! 20:21 -m state --state $E_R -j ACCEPT
 iptables -A INPUT -p udp -m state --state $E_R -j ACCEPT
 
 # * * Here is where the INPUT filtering ends and the policy takes effect * *
@@ -376,8 +376,8 @@
 # default DROP policy (because default policy cannot be REJECT).
 
 # OUTPUT chain (default ACCEPT):
-iptables -A OUTPUT -o $IFE1 -p tcp --dports 79,135,137:139,389,445,446,901,1002 -j LnRo
-iptables -A OUTPUT -o $IFE1 -p udp --dports 79,135,137:139,389,445,446,901,1002 -j LnRo
+iptables -A OUTPUT -o $IFE1 -p tcp -m multiport --dports 79,135,137:139,389,445,446,901,1002 -j LnRo
+iptables -A OUTPUT -o $IFE1 -p udp -m multiport --dports 79,135,137:139,389,445,446,901,1002 -j LnRo
 
 # Just Go Away:
 if [ -f /etc/firewall/banned ]; then
@@ -415,14 +415,14 @@
 # These packets do NOT traverse either INPUT or OUTPUT chains.
 # For packets being routed through the box.
 # ICMP rules are separate, above.
-iptables -A FORWARD -i $IFE1 -p tcp --sports 135,137:139,445 -j LnDf
-iptables -A FORWARD -i $IFE1 -p udp --sports 135,137:139,445 -j LnDf
-iptables -A FORWARD -o $IFE1 -p tcp --sports 135,137:139,445 -j DROP
-iptables -A FORWARD -o $IFE1 -p udp --sports 135,137:139,445 -j LnDf
-iptables -A FORWARD -i $IFE1 -p tcp --dports 135,137:139,445 -j LnDf
-iptables -A FORWARD -i $IFE1 -p udp --dports 135,137:139,445 -j LnDf
-iptables -A FORWARD -o $IFE1 -p tcp --dports 135,137:139,445 -j LnDf
-iptables -A FORWARD -o $IFE1 -p udp --dports 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p tcp -m multiport --sports 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p udp -m multiport --sports 135,137:139,445 -j LnDf
+iptables -A FORWARD -o $IFE1 -p tcp -m multiport --sports 135,137:139,445 -j DROP
+iptables -A FORWARD -o $IFE1 -p udp -m multiport --sports 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p tcp -m multiport --dports 135,137:139,445 -j LnDf
+iptables -A FORWARD -i $IFE1 -p udp -m multiport --dports 135,137:139,445 -j LnDf
+iptables -A FORWARD -o $IFE1 -p tcp -m multiport --dports 135,137:139,445 -j LnDf
+iptables -A FORWARD -o $IFE1 -p udp -m multiport --dports 135,137:139,445 -j LnDf
 ## Refuse connections from IANA reserved blocks:
 # JK 5 Dec 04 remarked because not needed
 #if [ -f /etc/firewall/IANA ]; then
15:30:57
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.7918.18249	2010-03-05 14:31:30.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:35:26.000000000 +0000
@@ -11,7 +11,7 @@
 # Don't LOG the common crap on port 135, 137-139 & 445, 1080, 1433.
 # LOG everything else.  (Later on I may reduce the volume.)
 
-# set -x
+set -x
 
 IAM=`cat /etc/firewall/IAM`
 echo "Cable IP $IAM"
@@ -339,13 +339,13 @@
 iptables -A INPUT -p tcp -m multiport --dports 20:21 -j ACCEPT
 
 # Only the chosen few can SSH or telnet:
-iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 25 -j ACCEPT
-# iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 53 -j LnAi	# dig uses tcp
-iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 110 -j ACCEPT	# pop3
-iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 113 -j ACCEPT	# auth
-iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 119 -j ACCEPT
-#iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 143 -j ACCEPT	# imap
-#iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS --dport 443 -j ACCEPT
+iptables -A INPUT -p tcp --dport 25 -m multiport --sports $HI_PORTS -j ACCEPT
+# iptables -A INPUT -p tcp --dport 53 -m multiport --sports $HI_PORTS -j LnAi	# dig uses tcp
+iptables -A INPUT -p tcp --dport 110 -m multiport --sports $HI_PORTS -j ACCEPT	# pop3
+iptables -A INPUT -p tcp --dport 113 -m multiport --sports $HI_PORTS -j ACCEPT	# auth
+iptables -A INPUT -p tcp --dport 119 -m multiport --sports $HI_PORTS -j ACCEPT
+#iptables -A INPUT -p tcp --dport 143 -m multiport --sports $HI_PORTS -j ACCEPT	# imap
+#iptables -A INPUT -p tcp --dport 443 -m multiport --sports $HI_PORTS -j ACCEPT
 
 # Low Ports:
 # (Can't TARPIT udp)
15:35:26
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.2218.24887	2010-03-05 14:35:37.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:35:41.000000000 +0000
@@ -11,7 +11,7 @@
 # Don't LOG the common crap on port 135, 137-139 & 445, 1080, 1433.
 # LOG everything else.  (Later on I may reduce the volume.)
 
-set -x
+# set -x
 
 IAM=`cat /etc/firewall/IAM`
 echo "Cable IP $IAM"
15:35:41
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.2142.12381	2010-03-05 14:37:11.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:37:14.000000000 +0000
@@ -11,7 +11,7 @@
 # Don't LOG the common crap on port 135, 137-139 & 445, 1080, 1433.
 # LOG everything else.  (Later on I may reduce the volume.)
 
-# set -x
+set -x
 
 IAM=`cat /etc/firewall/IAM`
 echo "Cable IP $IAM"
15:37:14
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.28003.18871	2010-03-05 14:37:48.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:38:06.000000000 +0000
@@ -364,7 +364,7 @@
 iptables -A INPUT -p tcp -m multiport --sports $HI_PORTS -m multiport --dports 1080,1433,3127:3128,4444,4899,6129,17300,20168 -j TARPIT
 
 # Take advantage of the stateful nature of iptables on the INPUT chain:
-iptables -A INPUT -p tcp -m multiport --dports ! 20:21 -m state --state $E_R -j ACCEPT
+iptables -A INPUT -p tcp -m multiport ! --dports 20:21 -m state --state $E_R -j ACCEPT
 iptables -A INPUT -p udp -m state --state $E_R -j ACCEPT
 
 # * * Here is where the INPUT filtering ends and the policy takes effect * *
15:38:06
#ipt -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  192.168.8.0/24       anywhere
ScanD      all  --  anywhere             anywhere            psd weight-threshold: 21 delay-threshold: 300 lo-ports-weight: 3 hi-ports-weight: 1
DDoS       tcp  --  anywhere             anywhere            tcp flags:SYN,RST,ACK/SYN
ScanD      all  --  anywhere             anywhere            state INVALID
RdL        tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
ScanD      tcp  --  anywhere             anywhere            tcp flags:FIN,ACK/FIN
...
ACCEPT     icmp --  anywhere             anywhere            icmp echo-reply
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
ACCEPT     icmp --  anywhere             anywhere            icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere            icmp source-quench
ACCEPT     icmp --  anywhere             anywhere            icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere            icmp parameter-problem
LnRo       icmp --  anywhere             anywhere
LnRo       tcp  --  anywhere             anywhere            multiport dports finger,loc-srv,netbios-ns:netbios-ssn,ldap,microsoft-ds,446,swat,1002
LnRo       udp  --  anywhere             anywhere            multiport dports 79,loc-srv,netbios-ns:netbios-ssn,ldap,microsoft-ds,446,901,1002
^C
15:38:25
#ipt -L -n
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  192.168.8.0/24       0.0.0.0/0
ScanD      all  --  0.0.0.0/0            0.0.0.0/0           psd weight-threshold: 21 delay-threshold: 300 lo-ports-weight: 3 hi-ports-weight: 1
DDoS       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x16/0x02
ScanD      all  --  0.0.0.0/0            0.0.0.0/0           state INVALID
RdL        tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW
ScanD      tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x11/0x01
...
target     prot opt source               destination
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0           reject-with tcp-reset
REJECT     udp  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-unreachable
Chain ScanD (6 references)
target     prot opt source               destination
LOG        udp  --  0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4 prefix `ScanD udp '
LOG        icmp --  0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4 prefix `ScanD icmp '
LOG        all  -f  0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4 prefix `ScanD frag '
DROP       all  --  0.0.0.0/0            0.0.0.0/0
15:38:28
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.2110.25834	2010-03-05 14:40:25.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:40:45.000000000 +0000
@@ -328,8 +328,8 @@
 # services (FTP, SSH, telnet, SMTP, http, ident, NNTP, IMAP, [# https], rsync):
 # FTP:
 # Per Herald Welte:
-#iptables -A INPUT -m helper --helper ftp -j ACCEPT
-iptables -A INPUT -m helper --helper ftp -j FTP
+iptables -A INPUT -m helper --helper ftp -j ACCEPT
+# iptables -A INPUT -m helper --helper ftp -j FTP
 # Incoming FTP is unfettered:
 # (This passes a lot more than just FTP!)
 #iptables -A INPUT -i $IFE1 -p tcp -d $IPE1 -m multiport --dports 20,$HI_PORTS -j ACCEPT
15:40:57
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.21002.1343	2010-03-05 14:41:24.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:41:44.000000000 +0000
@@ -328,7 +328,7 @@
 # services (FTP, SSH, telnet, SMTP, http, ident, NNTP, IMAP, [# https], rsync):
 # FTP:
 # Per Herald Welte:
-iptables -A INPUT -m helper --helper ftp -j ACCEPT
+iptables -A INPUT -m helper --helper FTP -j ACCEPT
 # iptables -A INPUT -m helper --helper ftp -j FTP
 # Incoming FTP is unfettered:
 # (This passes a lot more than just FTP!)
15:41:44
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.13965.28038	2010-03-05 14:42:32.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 14:42:37.000000000 +0000
@@ -11,7 +11,7 @@
 # Don't LOG the common crap on port 135, 137-139 & 445, 1080, 1433.
 # LOG everything else.  (Later on I may reduce the volume.)
 
-# set -x
+set -x
 
 IAM=`cat /etc/firewall/IAM`
 echo "Cable IP $IAM"
15:45:23
#ipt -L -n|less
15:46:15
#ipt -L -n -v|less
прошло 32 минуты
16:18:44
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.19767.9527	2010-03-05 15:18:47.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 16:05:48.000000000 +0000
@@ -452,9 +452,12 @@
 iptables -P INPUT DROP
 iptables -P OUTPUT ACCEPT
 iptables -P FORWARD DROP
-iptables -D INPUT -m state --state $E_R -j ACCEPT
-iptables -D FORWARD -m state --state $E_R -j ACCEPT
-iptables -D OUTPUT -m state --state $E_R -j ACCEPT
+# iptables -D INPUT -m state --state $E_R -j ACCEPT
+# iptables -D FORWARD -m state --state $E_R -j ACCEPT
+# iptables -D OUTPUT -m state --state $E_R -j ACCEPT
+iptables -D INPUT 1
+iptables -D FORWARD 1
+iptables -D OUTPUT 1
 echo "Firewall loaded."
 
 # Done.
прошло 47 минут
17:05:48
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.3332.17237	2010-03-05 16:05:54.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 16:07:24.000000000 +0000
@@ -328,7 +328,6 @@
 # services (FTP, SSH, telnet, SMTP, http, ident, NNTP, IMAP, [# https], rsync):
 # FTP:
 # Per Herald Welte:
-iptables -A INPUT -m helper --helper FTP -j ACCEPT
 # iptables -A INPUT -m helper --helper ftp -j FTP
 # Incoming FTP is unfettered:
 # (This passes a lot more than just FTP!)
17:07:24
#vim ./myfirewall.sh
--- /tmp/l3-saved-4045.14167.23075	2010-03-05 16:07:39.000000000 +0000
+++ ./myfirewall.sh	2010-03-05 16:07:44.000000000 +0000
@@ -11,7 +11,7 @@
 # Don't LOG the common crap on port 135, 137-139 & 445, 1080, 1433.
 # LOG everything else.  (Later on I may reduce the volume.)
 
-set -x
+# set -x
 
 IAM=`cat /etc/firewall/IAM`
 echo "Cable IP $IAM"
17:07:44
#less /usr/src/linux-2.6.32.3/.config

Статистика

Время первой команды журнала00:23:40 2010- 3- 5
Время последней команды журнала17:07:44 2010- 3- 5
Количество командных строк в журнале27
Процент команд с ненулевым кодом завершения, % 3.70
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.70
Количество командных строк в единицу времени, команда/мин 0.64
Частота использования команд
vim13|===========================================| 43.33%
ipt4|=============| 13.33%
less4|=============| 13.33%
route3|==========| 10.00%
iptables2|======| 6.67%
ssh2|======| 6.67%
Pattern1|===| 3.33%
man1|===| 3.33%
____
*) Интервалы неактивности длительностью 30 минут и более не учитываются

Справка

Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
  1. В журнал автоматически попадают все команды, данные в любом терминале системы.

  2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

  3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
    $ l s-l
    bash: l: command not found
    

  4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
    $ test 5 -lt 4
    Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

  5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
    $ find / -name abc
    find: /home/devi-orig/.gnome2: Keine Berechtigung
    find: /home/devi-orig/.gnome2_private: Keine Berechtigung
    find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
    find: /home/devi-orig/.metacity: Keine Berechtigung
    find: /home/devi-orig/.inkscape: Keine Berechtigung
    ^C
    

  6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
    # id
    uid=0(root) gid=0(root) Gruppen=0(root)
    

  7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
    $ vi ~/.bashrc
    2a3,5
    >    if [ -f /usr/local/etc/bash_completion ]; then
    >         . /usr/local/etc/bash_completion
    >        fi
    

  8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
    $ patch ~/.bashrc
    В данном случае изменения применяются к файлу ~/.bashrc

  9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

    Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

  10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

  11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

  12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

  13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

  14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

    $ whoami
    
    user
    
    $ #^ Интересно, кто я?
    
    в журнале это будет выглядеть так:
    $ whoami
    
    user
    
    Интересно, кто я?

  15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

    $ whoami
    
    user
    
    $ cat > /dev/null #^ Интересно, кто я?
    
    Программа whoami выводит имя пользователя, под которым 
    мы зарегистрировались в системе.
    -
    Она не может ответить на вопрос о нашем назначении 
    в этом мире.
    
    В журнале это будет выглядеть так:
    $ whoami
    user
    
    Интересно, кто я?
    Программа whoami выводит имя пользователя, под которым
    мы зарегистрировались в системе.

    Она не может ответить на вопрос о нашем назначении
    в этом мире.
    Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

  16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

  17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
  18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
  19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
    1
        2
    3   
        4
    
    Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

О программе

LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008

$Id$