Tillbaka till svenska Fidonet
English   Information   Debug  
IC   0/2851
INTERNET   0/424
INTERUSER   0/3
IP_CONNECT   719
JAMNNTPD   0/233
JAMTLAND   0/47
KATTY_KORNER   0/41
LAN   0/16
LINUX-USER   0/19
LINUXHELP   0/1155
LINUX   0/22013
LINUX_BBS   0/957
mail   18.68
mail_fore_ok   249
MENSA   0/341
MODERATOR   0/102
MONTE   0/992
MOSCOW_OKLAHOMA   0/1245
MUFFIN   0/783
MUSIC   0/321
N203_STAT   900
N203_SYSCHAT   313
NET203   321
NET204   69
NET_DEV   0/10
NORD.ADMIN   0/101
NORD.CHAT   0/2572
NORD.FIDONET   189
NORD.HARDWARE   0/28
NORD.KULTUR   0/114
NORD.PROG   0/32
NORD.SOFTWARE   0/88
NORD.TEKNIK   0/58
NORD   0/453
OCCULT_CHAT   0/93
OS2BBS   0/787
OS2DOSBBS   0/580
OS2HW   0/42
OS2INET   0/37
OS2LAN   0/134
OS2PROG   0/36
OS2REXX   0/113
OS2USER-L   207
OS2   0/4785
OSDEBATE   0/18996
PASCAL   0/490
PERL   0/457
PHP   0/45
POINTS   0/405
POLITICS   0/29554
POL_INC   0/14731
PSION   103
R20_ADMIN   1117
R20_AMATORRADIO   0/2
R20_BEST_OF_FIDONET   13
R20_CHAT   0/893
R20_DEPP   0/3
R20_DEV   399
R20_ECHO2   1379
R20_ECHOPRES   0/35
R20_ESTAT   0/719
R20_FIDONETPROG...
...RAM.MYPOINT
  0/2
R20_FIDONETPROGRAM   0/22
R20_FIDONET   0/248
R20_FILEFIND   0/24
R20_FILEFOUND   0/22
R20_HIFI   0/3
R20_INFO2   2816
R20_INTERNET   0/12940
R20_INTRESSE   0/60
R20_INTR_KOM   0/99
R20_KANDIDAT.CHAT   42
R20_KANDIDAT   28
R20_KOM_DEV   112
R20_KONTROLL   0/13070
R20_KORSET   0/18
R20_LOKALTRAFIK   0/24
R20_MODERATOR   0/1852
R20_NC   76
R20_NET200   245
R20_NETWORK.OTH...
...ERNETS
  0/13
R20_OPERATIVSYS...
...TEM.LINUX
  0/44
R20_PROGRAMVAROR   0/1
R20_REC2NEC   534
R20_SFOSM   0/340
R20_SF   0/108
R20_SPRAK.ENGLISH   0/1
R20_SQUISH   107
R20_TEST   2
R20_WORST_OF_FIDONET   12
RAR   0/9
RA_MULTI   106
RA_UTIL   0/162
REGCON.EUR   0/2055
REGCON   0/13
SCIENCE   0/1206
SF   0/239
SHAREWARE_SUPPORT   0/5146
SHAREWRE   0/14
SIMPSONS   0/169
STATS_OLD1   0/2539.065
STATS_OLD2   0/2530
STATS_OLD3   0/2395.095
STATS_OLD4   0/1692.25
SURVIVOR   0/495
SYSOPS_CORNER   0/3
SYSOP   0/84
TAGLINES   0/112
TEAMOS2   0/4530
TECH   0/2617
TEST.444   0/105
TRAPDOOR   0/19
TREK   0/755
TUB   0/290
UFO   0/40
UNIX   0/1316
USA_EURLINK   0/102
USR_MODEMS   0/1
VATICAN   0/2740
VIETNAM_VETS   0/14
VIRUS   0/378
VIRUS_INFO   0/201
VISUAL_BASIC   0/473
WHITEHOUSE   0/5187
WIN2000   0/101
WIN32   0/30
WIN95   0/4277
WIN95_OLD1   0/70272
WINDOWS   0/1517
WWB_SYSOP   0/419
WWB_TECH   0/810
ZCC-PUBLIC   0/1
ZEC   4

 
4DOS   0/134
ABORTION   0/7
ALASKA_CHAT   0/506
ALLFIX_FILE   0/1313
ALLFIX_FILE_OLD1   0/7997
ALT_DOS   0/152
AMATEUR_RADIO   0/1039
AMIGASALE   0/14
AMIGA   0/331
AMIGA_INT   0/1
AMIGA_PROG   0/20
AMIGA_SYSOP   0/26
ANIME   0/15
ARGUS   0/924
ASCII_ART   0/340
ASIAN_LINK   0/651
ASTRONOMY   0/417
AUDIO   0/92
AUTOMOBILE_RACING   0/105
BABYLON5   0/17862
BAG   135
BATPOWER   0/361
BBBS.ENGLISH   0/382
BBSLAW   0/109
BBS_ADS   0/5290
BBS_INTERNET   0/507
BIBLE   0/3563
BINKD   0/1119
BINKLEY   0/215
BLUEWAVE   0/2173
CABLE_MODEMS   0/25
CBM   0/46
CDRECORD   0/66
CDROM   0/20
CLASSIC_COMPUTER   0/378
COMICS   0/15
CONSPRCY   0/899
COOKING   28619
COOKING_OLD1   0/24719
COOKING_OLD2   0/40862
COOKING_OLD3   0/37489
COOKING_OLD4   0/35496
COOKING_OLD5   9370
C_ECHO   0/189
C_PLUSPLUS   0/31
DIRTY_DOZEN   0/201
DOORGAMES   0/2025
DOS_INTERNET   0/196
duplikat   6000
ECHOLIST   0/18295
EC_SUPPORT   0/318
ELECTRONICS   0/359
ELEKTRONIK.GER   1534
ENET.LINGUISTIC   0/13
ENET.POLITICS   0/4
ENET.SOFT   0/11701
ENET.SYSOP   33806
ENET.TALKS   0/32
ENGLISH_TUTOR   0/2000
EVOLUTION   0/1335
FDECHO   0/217
FDN_ANNOUNCE   0/7068
FIDONEWS   23548
FIDONEWS_OLD1   0/49742
FIDONEWS_OLD2   0/35949
FIDONEWS_OLD3   0/30874
FIDONEWS_OLD4   0/37224
FIDO_SYSOP   12847
FIDO_UTIL   0/180
FILEFIND   0/209
FILEGATE   0/212
FILM   0/18
FNEWS_PUBLISH   4200
FN_SYSOP   41525
FN_SYSOP_OLD1   71952
FTP_FIDO   0/2
FTSC_PUBLIC   0/13586
FUNNY   0/4886
GENEALOGY.EUR   0/71
GET_INFO   105
GOLDED   0/408
HAM   0/16053
HOLYSMOKE   0/6791
HOT_SITES   0/1
HTMLEDIT   0/71
HUB203   466
HUB_100   264
HUB_400   39
HUMOR   0/29
Möte LINUX, 22013 texter
 lista första sista föregående nästa
Text 7676, 233 rader
Skriven 2006-10-22 12:43:00 av MARTIN ATKINS (1:123/140)
     Kommentar till en text av PAUL ROGERS
Ärende: Latest firewall script
==============================
-=> PAUL ROGERS wrote to ALL <=-

 PR> #!/bin/bash
 PR> # firewall.sh - Configurable per-host firewall for workstations
 PR> # Parts James Stephens (jns@ias.edu)
 PR> # PGR was here
 PR> # PGR Workstation firewall, not appropriate for server
 PR> # PGR Attitude: Tight limitations to protect us from the big, bad
 PR> world, #     as well as our local network from rogue processes.  Access
 PR> to the #     big, wide, world is limited to well-known ports as much as
 PR> possible. #     Passive mode FTP is allowed, but is a potential
 PR> security risk.  If #     you uncomment DHCP rules, you might want to
 PR> tell kernel not to log #     "martians".
 PR> # PGR Sources of some variables are: "/etc/sysconfig/rc",
 PR> #     "/etc/sysconfig/network", & "$network_devices/ifconfig.eth0",
 PR> #     including $IP (my IP address), & $BASEIP (the first 3 octets).
 PR> # PGR Blacklisted IP addresses/CIDR's in /etc/blacklisted_ip
 PR> # PGR No warranties, expressed or implied!
 PR> ######################################################################

Is the above your comment or the original script writer?
I'm going to take it at face value and assume it is a work station
on a local network that has access to the outside world. 
Take what i say as casual observation as i have no idea of your personal
set up or what version of iptables you are using. 

 PR>   NAMESERVER_1=209.102.124.14  # change as necessary
 PR>   NAMESERVER_2=209.102.124.15  # change as necessary

Fair enough if your local net is routing you to the outside world.
Nameservers are not my strong point as i only have a small home network
and the other machines routed to the outside world yet.

 PR>   LOOPBACK="127.0.0.0/8"

Why define loopback this way? Loopback is for testing your own machine
and normally will only be 127.0.0.0. Iptables accepts "lo" and so _normally_
does not require defining.

 PR>   CLASS_A="10.0.0.0/8"
 PR>   CLASS_B="172.16.0.0/12"
 PR>   CLASS_C="192.168.0.0/16"
 PR>   CLASS_D_MULTICAST="224.0.0.0/4"
 PR>   CLASS_E_RESERVED_NET="240.0.0.0/5"

None of these are necessary. Since INPUT policy is DROP they never
get through. 

 PR>   KNOWN="0:1023"   # "well known" ports

Ok but if you have NFS you may need to DROP port 2049 later. SSH
is covered.

 PR>   EPHEM="1024:65535"   # ephemeral ports

If as /proc/sys/net/ipv4/ip_local_port_range or what is appropriate
for your distro.

 PR>   TR_SRC_PORTS="32769:65535"
 PR>   TR_DEST_PORTS="33434:33523"

This is a worry. $EPHEM is now defined so these ports are as far as i 
know safe. There may be some reason for defining these ports but it is not 
obvious from this script.

 PR>   #PGR source our variables, i.e. IP address
 PR>   . /etc/sysconfig/rc
 PR>   . /etc/sysconfig/network
 PR>   . $network_devices/ifconfig.eth0$ # Changes in LFS-6.x
 PR>   LOCAL_NET=$BASEIP.0/24

This doesn't make sense to me. $BASEIP has not been defined in this 
script nor has $network_devices/ifconfig.eth0$network_devices
/ifconfig.eth0

 PR> function on {
 PR>   echo "Firewall: enabling filtering"
 PR>   # Set up a default DROP policy for the built-in chains. If we modify
 PR> and
 PR>   # re-run the script mid-session then (because we have a default DROP
 PR>   # policy), what happens is that there is a small time period when
 PR>   # packets are denied until the new rules are back in place. There is
 PR>   # no
 PR>   # period, however small, when packets we don't want are allowed.
 PR>   iptables -P INPUT DROP
 PR>   iptables -P FORWARD DROP
 PR>   iptables -P OUTPUT DROP


Unless you are intending to block yourself or a terminal on your network
from the communicating with the outside world then:-

iptables -P OUTPUT ACCEPT

Even if you do intend to restrict output from certain terminals there
are better ways of doing it.

 PR>   # These lines are here in case rules are already in place and the
 PR> script
 PR>   # is ever rerun on the fly.  We want to remove all rules and
 PR>   # pre-exisiting user defined chains and zero the counters before we
 PR>   # implement new rules.
 PR>   iptables -F
 PR>   iptables -X
 PR>   iptables -Z

Ok but don't forget you have user defined chains in this script so they
may need flushing as well.

 PR>   ## LOOPBACK
 PR>   # Allow my own traffic on the loopback interface.
 PR>   iptables -A INPUT  -i lo -s $LOOPBACK -j ACCEPT
 PR>   iptables -A OUTPUT -o lo -d $LOOPBACK -j ACCEPT

Remember what i said about defining loopback earlier in the script.
There is no need to define loopback so these two lines can be replaced
with:-  

iptables -A INPUT -i lo -j ACCEPT

If you insist on defining loopback then:-

iptables -A INPUT -i $LOOPBACK -j ACCEPT

These both work with:- 

iptables -P OUTPUT ACCEPT 

 PR>   iptables -A INPUT  -i lo -s $IP       -j ACCEPT
 PR>   iptables -A OUTPUT -o lo -d $IP       -j ACCEPT

As far as i can see $IP has not been defined in this script. Even if
it was $IP cannot under normal circumstances request "lo" on a remote 
machine.

 PR>   # Everything else comes from an external interface.  This firewall is
 PR>   # for a network workstation, so in the default case that's one
 PR>   # ethernet
 PR>   # interface, eth0.  But rules apply to all!

 PR> #### USER DEFINED CHAINS
 PR>   # Syn-flood limiting
 PR>   # Up to limit-burst connections can arrive in 1/limit seconds .....
 PR> in
 PR>   # this case 4 connections in one second.  After this, one of the
 PR> burst
 PR>   # is regained every second and connections are allowed again.
 PR>   # The default limit is 3/hour.  The default limit burst is 5.

 PR>   iptables -N syn-flood
 PR>   iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
 PR>   iptables -A syn-flood -j DROP

Ok but as i said you may need to flush this chain if you want clear the
decks.

 PR>   ##PGR User-defined chain to log & drop packets
 PR>   iptables -N log-it
 PR>   iptables -A log-it -j LOG -m limit --limit 40/minute --log-prefix
 PR> "firewall: "
 PR>   iptables -A log-it -j DROP

 PR> #### PGR: BLACKLIST CHECKING (comes early)
 PR>   for BAD_BOY in `cat /etc/blacklisted_ip`
 PR>   do
 PR>     echo "Blacklisting " $BAD_BOY
 PR> #   Input packets are logged & forgotten
 PR>     iptables -A INPUT  -s $BAD_BOY -j log-it
 PR> #   Output packets from internal processes receive an error code,
 PR> #   but they still don't go through.
 PR>     iptables -A OUTPUT -d $BAD_BOY -j REJECT --reject-with
 PR> icmp-host-unreachable
 PR>   done

Why not cover all this with the input policy? 

 PR>   # icmp source quench to the loopback.
 PR>   iptables -A INPUT -d $LOOPBACK -j DROP

     < LOTS CUT >

You are now effectively trying to block yourself from pinging your own 
machine after first allowing it. This chain will do nothing. 
 
It is as far as i am concerned an extrodanaraly messy firewall.
I think you need work on a flow chart and map exacly what you are
trying to achieve.


 PR>   ## =============================================

 PR> #### FALL-THROUGH
 PR>   #PGR be nice to local network processes
 PR>   iptables -A INPUT  -s $LOCAL_NET -j REJECT
 PR>   iptables -A OUTPUT -d $LOCAL_NET -j REJECT
 PR>   #PGR log & drop the rest
 PR>   iptables -A INPUT  -j log-it
 PR>   iptables -A OUTPUT -j log-it
 PR> }

There is no "FALL-THROUGH" on a correctly written script.
Use "nmap" to test your setup or http://hackerwhacker.com/freetools.php 

 PR> ######################################################################
 PR> function off {
 PR>   # stop firewall
 PR>   echo "Firewall: disabling filtering (allowing all access)"
 PR>   echo "Are you sure?  Really sure?"
 PR>   read ans
 PR>   if [ $ans = "y" -o $ans = "Y" ]; then
 PR>     iptables -P INPUT ACCEPT
 PR>     iptables -P OUTPUT ACCEPT
 PR>     iptables -P FORWARD ACCEPT
 PR>     iptables -F
 PR>     iptables -X
 PR>     echo "The gates to the citadel are wide open!"
 PR>     echo "Welcome, sailor!"
 PR>   else
 PR>     echo "Good idea!  Firewall stop, cancelled."
 PR>   fi
 PR> }

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F     
iptables -X

No need to complicate things.

 
--- MultiMail/Linux v0.47
 * Origin: Try Our Web Based QWK: DOCSPLACE.ORG (1:123/140)