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   2814
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/13069
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 7706, 221 rader
Skriven 2006-10-25 21:33:00 av Paul Rogers (1:105/360.0)
     Kommentar till en text av Martin Atkins
Ärende: Latest firewall script
==============================
 PR>> It doesn't allow a NEW connection, so I couldn't start a
 PR>> traceroute.  I wouldn't even consider allowing a NEW connection
 PR>> from any port to any port.  Sayonara, security!
 MA> Ok. I will have to study traceroute one day.

Well, in the first place traceroute uses UDP protocol, and the
any-port rule you quoted was using TCP protocol.  But suppose
both were TCP, because the point would be relevant for some
other service.  So if "traceroute" used TCP:

To run a traceroute we have to allow a NEW connection out.  To
run passive-mode FTP we have to allow connections to/from any
ephemeral port--but they will be ESTABLISHED or RELATED to a
connection already setup through a NEW connection allowed to
the remote server's FTP control port.  So I allow NEW out only
on the emphemeral ports traceroute will use.  

 PR>> I see firewalls that aren't concerned with what goes out.  But
 PR>> that not only lets a malicious webpage set something up, but it
 PR>> lets anything that did infect my workstation to attack any port
 PR>> on any other computer on my LAN.
 MA> If you didn't stop something malicious coming in then you won't stop
 MA> it going out.

Yes, we can.

A firewall will only stop packet attacks.  While those are an
issue, e.g. the Morris worm, attacks also happen on a higher
level.  Today attacks happen through email attachments, web
pages' Java scripts, even MSIE "browser helpers", etc.  (OK,
this is Linux, call it a malicious Firefox extension then.)
A firewall will never catch them.  But if one of them comes in
through a user error, by limiting the ability to get out,
"preventing ET from phoning home", I lower the threats coming
back--which could be using well formed packets my firewall
passes.

I guess we'll just have to agree to disagree about the necessity
of filtering output chains.  I think I'm marginally safer by
limiting NEW connections to just the well known ports.  Yes, I
can imagine attack methods that won't catch.  Still, I do what I
can.

 MA> Ok fine. If those two ports make you nervious then IMO there is
 MA> nothing wrong with you writing a rule for them, but why use the
 MA> OUTPUT table? I note you are loging those ports for any activity
 MA> with:-
 MA> iptables -A OUTPUT -p tcp --dport 81 -j log-it
 MA> iptables -A OUTPUT -p tcp --dport 8080 -j log-it
 MA> This does exactly the same.
 MA> iptables -A INPUT -p tcp --dport 81 -j log-it
 MA> iptables -A INPUT -p tcp --dport 8080 -j log-it

No, it doesn't!  This firewall is for a workstation, there is no
web server.  Since I don't have the rules you suggest, such
packets fail every INPUT rule I have until they get down to what
I call the "fall-through" section, AT which point THEN they get
logged & dropped.  So I already do as you suggest, just not
quite as explicitly.  Your suggestion doesn't do what I do.

What I do is actively prevent any such webpage from ever sending
a packet home over these sub-channels.  I get the webpage the
server sends out from the WWW port, but it never gets the
request the webpage is supposed to send back on 81 or 8080.
Perhaps that's a pop-up, but maybe it's worse.  I don't want
either.

 MA> It may not matter to you but to me it does because throughout the
 MA> script, by dealing with things at the front door, i may be able to
 MA> do away with superfluous rules.

I did that.  But the OUTPUT rule I have isn't superfluous.

 PR>> What belongs?  You think I should define LOCAL_NET in
 PR>> ifconfig.eth0?  I suppose one could do it that way.  I think
 PR>> just the network root, the first 3 octets, is more versatile.
 MA> Are we talking $IP or LOCAL_NET?
 MA> IP="192.168.0.1" # Or what's appropriate.
 MA> LOCAL_NET="192.168.0.0/16" # Ditto.
 MA> Actually you have it defined in your script as $CLASS_C and have
 MA> it commented out in one of the rules.

In my case LOCAL_NET is 192.168.1.x, (though now I wish I'd made
it something like 192.168.137.x, 0 & 1 are too easy to guess).

Look more carefully.  Since I don't have any INPUT rules to
accept 192.168.0.x or 192.168.[2-254].x, they get logged &
dropped at the end, accomplishing what I commented out for Class
C addresses--except for my LOCAL_NET.  No, I don't drop ALL
Class C addresses, but later on I only allow the LOCAL_NET
packets in, all others "fall-through" to get logged & dropped.
Even in-coming packets from LOCAL_NET must come to ports I
specifically allow, or they're logged & dropped.  I don't know
how to accomplish that with a simple rule as the Class A/B/D/E
network rules.

In effect, yeah, I'm making an assumption my own machines are
cleaner and safer to allow in, and in part that's because I
don't allow them priveleges to send out anything they want
either.

 MA> # iptables -A INPUT -s $CLASS_C -j DROP
 MA> # PGR Can't do that, our LAN is a Class C private network
 MA> It was never gonna work. :) I think though you where on the right

Yeah, it does.  It just happens later.

 MA> track. Does your local net and the inet hook up to your machine
 MA> through one etho? We may be able to do something with this.

I have a pizza-box Compaq acting as a perimeter firewall.  It is
my primary filter using LEAF/Bering & SHORWALL.  My workstation
firewall is primarily to protect my LAN, though it also has the
blacklisting.

 PR>> init.d/firewall saves & restores--init isn't the place to have
 MA> Yea well i like my firewall to come up on boot.

Mine does.  By saving the tables at shutdown, and restoring them
at boot, I'm using already processed tables.  No glitches.

 PR>> I've got an OUTPUT rule for virtually every INPUT
 PR>> rule.  And it's not causing me problems.
 MA> Yes it is. And here is an example from your script:-
 MA> #   Input packets are logged & forgotten
 MA> iptables -A INPUT -s $BAD_BOY -j log-it
 MA> #   Output packets from internal processes receive an error code,
 MA> #   but they still don't go through.
 MA> iptables -A OUTPUT -d $BAD_BOY -j REJECT --reject-with icmp-host-unr...

 MA> What you appear to be trying achieve is to block known bad IP's from
 MA> your system be it local or the internet. If so then it is not doing
 MA> what you think it is doing. In fact worse still $BAD_BOY is logged but
 MA> still gets into your system. What it actually does is block you and

The log-it user chain logs and drops packets!  The OUTPUT REJECT
tells whatever local client process tried to send the packet an
error code.  If it was me at a browser I get an error message
from the browser.  My most recent mod was to log all the
blacklisted packets with a different prefix which makes them
easier to identify.

 MA> anything going through your firewall (local net) from communicating
 MA> with $BAD_BOY. What you will and your terminals will get is
 MA> icmp-host-unreachable. Now this may be desirable but not what i
 MA> think you where after.

 MA> #   Input packets are logged
 MA> iptables -A INPUT -s $BAD_BOY -j log-it
 MA> # We've seen you sonofabitch now die.
 MA> iptables -A INPUT -s $BAD_BOY -j REJECT --reject-with icmp-host-unr...

NO!  Not what I want to do.  That would send an ICMP packet back
to $BAD_BOY.  It tells him I don't exist, but that's more than I
want him to know.  As it is, he sends packets which "disappear".

 PR>> I filter the OUTPUT chain so that it doesn't get
 PR>> in MY way, but gets in the way of everything else.
 MA> What kind of attutude is that?

Ummm, paranoia?

 MA>                                 Suppose you where SNAT/DNATing or
 MA> FORWARDING. You let the damn thing in the front door. It could go
 MA> anywere.

"If wishes were horses, beggars would ride."  I'm not doing any
NAT or FORWARD.  FORWARD's policy is DROP, and it has no rules.
If I were, indeed, I wouldn't be using THIS firewall.

 MA> If $IP was defined in the script it would be self explanatory.

But it could disagree with what was set in
/etc/sysconfig/network_devices/.  Better to source the same
file.

 MA> I would be highly suspicious of anything attempting to use something
 MA> outside 127.0.0.1 for loopback or local machine. It runs counter
 MA> to your philosophy of running a tight firewall.

Well, yes.  But it wasn't my code and I wasn't prepared to take
responsibility for my own idiosyncratic branch.  I think it may
have been part of the OpenSSH package, which I figured was
trustworthy.

 MA> Huh? If "iptables -L -v" hangs then so would "iptables -L -n" and

Nope.  It doesn't.  I use it that way.  Don't tell me it hangs!

 MA> it doesn't only report numerical output it does as the -v option
 MA> suggests and reports verbose. The -n option is as it suggests
 MA> numerical.

With -n, iptables just leaves numeric addresses and doesn't try
to run a DNS lookup, which hangs if there is no effective DNS
server online.

 MA> iptables -L -v

 MA> Chain INPUT (policy DROP 0 packets, 0 bytes)
 MA> pkts bytes target prot opt in   out source    destination
 MA> 0     0 ACCEPT    all  --  lo   any anywhere  anywhere
 MA> 0     0 ACCEPT    all  --  eth0 any anywhere  anywhere
 MA> 0     0 ACCEPT    tcp  --  eth1 any anywhere  anywhere tcp
 MA> dpts:32768:61000  0     0 ACCEPT    udp  --  eth1 any anywhere  anywhere
 MA> udp dpts:32768:61000  0     0 ACCEPT    icmp --  eth1 any anywhere
 MA> anywhere icmp echo-request  0     0 ACCEPT    icmp --  eth1 any anywhere
 MA>  anywhere icmp echo-reply limit:  avg 2/min burst 5

OK, now put a numeric in/out IP address in your example, pull
the plug and rerun it.  It'll hang until it times out.

Paul Rogers, paulgrogers@yahoo.com                       -o)
http://www.angelfire.com/or/paulrogers                   /\\
Rogers' Second Law: Everything you do communicates.     _\_V

... is OS/2 only half an operating system?
___ MultiMail/MS-DOS v0.35

---
 * Origin: The Bare Bones BBS (1:105/360)