RE: Problems with ipfw and ssh

2006-10-12 Thread Chris - WEBignite
I've actually just started seeing this same error. I do have a rule set for
local 127.0.0.1 and an allow for layer2 traffic.

Oct 11 23:59:02 firewall sshd[49200]: fatal: Write failed: Permission denied

I get this error when updating my firewall rules via ssh. Any current ssh
connections are dropped, but I'm able to reinitiate a new connection without
trouble.

-Chris


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Mark Jose
Sent: Wednesday, October 11, 2006 8:41 PM
To: 'Spiros Papadopoulos'; freebsd-questions@freebsd.org;
freebsd-ipfw@freebsd.org
Subject: RE: Problems with ipfw and ssh

Hi,

Just a suggestion/query: Do you have you localhost/127.0.0.1 rules defined
to allow all traffic?

Cheers
  

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Spiros Papadopoulos
Sent: Thursday, 12 October 2006 7:53 AM
To: freebsd-questions@freebsd.org; freebsd-ipfw@freebsd.org
Subject: Problems with ipfw and ssh

Hi,

I am trying to configure a firewall using ipfw for a machine running FreeBSD
5.4.
Without NAT.

I am nearly a newbie on this (since i never had time until now..) but still
i believe i understand exactly the
concepts and what needs to be done.
Except the manual page and chapter 26.1 in the handbook I am using good
references such as:
http://www.freebsd-howto.com/HOWTO/Ipfw-HOWTO

I need to connect remotely to the machine using ssh and this is where i get
the problem:

Initially i can connect properly using a normal user account.
When later i am trying to su to root it does nothing and the connection
closes.

I have ipfw enabled in the kernel to deny everything by default.
I have used both (one at a time) the following rules concerning ssh, in
/etc/ipfw.rules
and also other combinations, such as taking off setup and keep-state etc etc
which would then make my firewall stateless as far as i understood, which is
something i don't want anyway.

${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup keep-state
-
${addcmd} 300 allow log logamount 5 tcp from any to any ssh keep-state

In a first investigation (not thorough) i found this post:
http://www.freebsdforums.org/forums/showthread.php?t=21876
where from, i cannot realize what is wrong or how to fix this.

I run the sshd in debug mode and below is the portion, for when i am trying
to su to root

/* sshd -d */
Write failed: Permission denied
debug1: do_cleanup
debug1: PAM: cleanup
debug1: do_cleanup
debug1: PAM: cleanup
debug1: session_pty_cleanup: session 0 release /dev/ttyp7

And here are related logs:

/* line from /var/log/messages */
Oct 11 20:25:54 username sshd[26251]: fatal: Write failed: Permission denied

/* /var/log/auth.log */
Sep 26 11:17:34 username sshd[50073]: Connection from xxx.xxx.xxx.xx port
1545
Sep 26 11:17:46 username sshd[50073]: Accepted keyboard-interactive/pam for
user from xxx.xxx.xxx.xx port 1545 ssh2
Sep 26 10:17:49 username su: user to root on /dev/ttyp4
Sep 26 11:17:51 username sshd[50068]: Read error from remote host
xxx.xxx.xxx.xx: Connection reset by peer
Sep 26 13:29:40 username sshd[50076]: Read error from remote host
xxx.xxx.xxx.xx: Operation timed out

Is it trying to write to a
socket? I cannot see what is trying to do and the permission is denied
(of course maybe it is in front of me..but..)
Could anyone please advice?

Thanks in advance
Spiros
___
freebsd-ipfw@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to [EMAIL PROTECTED]

___
freebsd-ipfw@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to [EMAIL PROTECTED]


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with ipfw and ssh

2006-10-12 Thread Spiros Papadopoulos

On 12/10/06, Chris - WEBignite [EMAIL PROTECTED] wrote:


I've actually just started seeing this same error. I do have a rule set
for
local 127.0.0.1 and an allow for layer2 traffic.

Oct 11 23:59:02 firewall sshd[49200]: fatal: Write failed: Permission
denied



Yes this is the same exactly message i got.

I get this error when updating my firewall rules via ssh. Any current ssh

connections are dropped, but I'm able to reinitiate a new connection
without
trouble.

-Chris



The only difference is that i could not su to root so i could not update any
rules remotely.
I could login to a normal user account properly though

-Original Message-

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
]
On Behalf Of Mark Jose
Sent: Wednesday, October 11, 2006 8:41 PM
To: 'Spiros Papadopoulos'; freebsd-questions@freebsd.org;
freebsd-ipfw@freebsd.org
Subject: RE: Problems with ipfw and ssh

Hi,

Just a suggestion/query: Do you have you localhost/127.0.0.1 rules defined
to allow all traffic?



Well actually i copied the following rules from /etc/rc.firewall plus the
comment (..because of the comment!) without thinking of it too much and i
consider them trusty and i never thought they could cause any problem.
Are you suggesting that these rules may be the reason for this?

# Only in rare cases do you want to change these rules
  ${addcmd} 50 allow all from any to any via lo0
  ${addcmd} 100 deny all from any to 127.0.0.0/8
  ${addcmd} 150 deny ip from 127.0.0.0/8 to any

Unfortunately i will not be on the machine for the next 7 or so hrs



Cheers


-Original Message-
From: [EMAIL PROTECTED] [mailto:
[EMAIL PROTECTED]
On Behalf Of Spiros Papadopoulos
Sent: Thursday, 12 October 2006 7:53 AM
To: freebsd-questions@freebsd.org; freebsd-ipfw@freebsd.org
Subject: Problems with ipfw and ssh

Hi,

I am trying to configure a firewall using ipfw for a machine running
FreeBSD
5.4.
Without NAT.

I am nearly a newbie on this (since i never had time until now..) but
still
i believe i understand exactly the
concepts and what needs to be done.
Except the manual page and chapter 26.1 in the handbook I am using good
references such as:
http://www.freebsd-howto.com/HOWTO/Ipfw-HOWTO

I need to connect remotely to the machine using ssh and this is where i
get
the problem:

Initially i can connect properly using a normal user account.
When later i am trying to su to root it does nothing and the connection
closes.

I have ipfw enabled in the kernel to deny everything by default.
I have used both (one at a time) the following rules concerning ssh, in
/etc/ipfw.rules
and also other combinations, such as taking off setup and keep-state etc
etc
which would then make my firewall stateless as far as i understood, which
is
something i don't want anyway.

${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup keep-state
-
${addcmd} 300 allow log logamount 5 tcp from any to any ssh keep-state

In a first investigation (not thorough) i found this post:
http://www.freebsdforums.org/forums/showthread.php?t=21876
where from, i cannot realize what is wrong or how to fix this.

I run the sshd in debug mode and below is the portion, for when i am
trying
to su to root

/* sshd -d */
Write failed: Permission denied
debug1: do_cleanup
debug1: PAM: cleanup
debug1: do_cleanup
debug1: PAM: cleanup
debug1: session_pty_cleanup: session 0 release /dev/ttyp7

And here are related logs:

/* line from /var/log/messages */
Oct 11 20:25:54 username sshd[26251]: fatal: Write failed: Permission
denied

/* /var/log/auth.log */
Sep 26 11:17:34 username sshd[50073]: Connection from xxx.xxx.xxx.xx port
1545
Sep 26 11:17:46 username sshd[50073]: Accepted keyboard-interactive/pam
for
user from xxx.xxx.xxx.xx port 1545 ssh2
Sep 26 10:17:49 username su: user to root on /dev/ttyp4
Sep 26 11:17:51 username sshd[50068]: Read error from remote host
xxx.xxx.xxx.xx: Connection reset by peer
Sep 26 13:29:40 username sshd[50076]: Read error from remote host
xxx.xxx.xxx.xx: Operation timed out

Is it trying to write to a
socket? I cannot see what is trying to do and the permission is denied
(of course maybe it is in front of me..but..)
Could anyone please advice?

Thanks in advance
Spiros
___
freebsd-ipfw@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to  [EMAIL PROTECTED]

___
freebsd-ipfw@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to [EMAIL PROTECTED]


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to 
[EMAIL PROTECTED]





--
Spiros Papadopoulos
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions

Re: Problems with ipfw and ssh

2006-10-12 Thread Spiros Papadopoulos

Hi again,

On 12/10/06, Garrett Cooper [EMAIL PROTECTED] wrote:

Based on all the docs I've read about using ipfw, you should put
ipfw allow all any from any via lo0 somewhere at the top of your
script so all traffic can and will be sent via lo0.

I think you are talking about the line below, is this right?

/sbin/ipfw -q add 50 allow all from any to any via lo0

It is there.. this is the first line to be met by packets in my
/etc/ifpw.rules script
it is also one of the default rules coming in /etc/rc.firewall script
...where i copied it from.

On 12/10/06, *Chris - WEBignite* [EMAIL PROTECTED] wrote:

I've actually just started seeing this same error. I do have a rule set for
local 127.0.0.1 and an allow for layer2 traffic.



Oct 11 23:59:02 firewall sshd[49200]: fatal: Write failed: Permission

denied


I get this error when updating my firewall rules via ssh. Any current ssh
connections are dropped, but I'm able to reinitiate a new connection

without

trouble.


Could you please let me know what FreeBSD version you are using?

On 12/10/06, *Giorgos Keramidas* [EMAIL PROTECTED] wrote:

Yes.  See above.  The `ipfw -d show' command shown there was
after I looped using SSH from my workstation to another system
and back again.



Sorry i will not be able to reply again tonight



No problem. Take your time. There is definitely a logical
explanation why this is happening, even if that explanation is
`there is a bug in ipfw and 5.4' :)


I turned on the laptop and now everything is working again, as i initially
described (I don't have a clue of what happened yesterday)

I can ssh the machine as a normal user but cannot su to root.
When trying, (from a win machine) with putty it freezes immediately after i
enter the root password
and the message below is produced on the freebsd box

Oct 12 17:58:52 user sshd[838]: fatal: Write failed: Permission denied

It is sshd that produces the above, but still i cannot identify what is it
trying to do and why permission is denied.
I have the option PermitRootLogins=No in my /etc/ssh/sshd_config file, but
it was working properly before I enable ipfw

Do you think it is a good idea to take ipfw out of the kernel and try
enabling it from /etc/rc.conf?
Anyway i think i should wait a little more before i proceed with this
Do you think that this is a bug?

Thanks in advance
Spiros
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with ipfw and ssh

2006-10-12 Thread Spiros Papadopoulos

Thanks,

On 12/10/06, Chris [EMAIL PROTECTED] wrote:


The thing is... I generally have the kernel setup to allow by default.
Then I
create rules denying traffic as I either know up front, or can deduct from
logging a last rule denying traffic.



IE: the rule you have set to allow any, my same rule is deny any. This way I

can create allow and deny rules earlier, then view my log to see what
items
are still being denied via /var/log/security

This will allow you to concentrate on what items may be causing the
problem.

I know I had some issues with IPFW working for about 15 minutes, then
dying.
It was due to me not having any rules allowing MAC, or layer2 traffic.
You'll
see this if you set your logging up properly with an ending rule just
before
the last one.



I see.. Yes, what you suggest is a better idea and i think now is even more
clear why the manual suggests to start by allowing everything
I had it different in my mind but still i don't think i wasted my time.
I also have in mind about the layer2, ARP etc traffic and i also think of
using snort's output to create better rules.
However I stuck with the ssh rule since i mainly want to work remotely on
this.
I will go for it in the way you suggest.

Thanks,
Spiros

p.s. Apologies for messing with the receipients..I tried not to include ipfw
list after the first post, but
it was in someone's reply to me..etc..sorry

On Thursday 12 October 2006 20:22, Spiros Papadopoulos wrote:

Thanks for your replies,

On 12/10/06, *Chris* [EMAIL PROTECTED] wrote:
If you have your kernel set to deny all by default, you can set a rule
number
65534 to allow any to any

as rule 65535 will deny any to any

Then work your way back from there.

Could you please make the above last part of your though more clear for

me?


I already have done what you said and i can su normally.
So there is definitely something that must be allowed before which i am

not

aware of
and from the messages and behaviour i get i cannot identify.

On 12/10/06, vladone [EMAIL PROTECTED] wrote:

 Hello Spiros,

 Thursday, October 12, 2006, 12:53:28 AM, you wrote:

  Hi,

  I am trying to configure a firewall using ipfw for a machine running
 FreeBSD
  5.4.
  Without NAT.

  I am nearly a newbie on this (since i never had time until now..) but
 still
  i believe i understand exactly the
  concepts and what needs to be done.
  Except the manual page and chapter 26.1 in the handbook I am using

good

  references such as:
  http://www.freebsd-howto.com/HOWTO/Ipfw-HOWTO

  I need to connect remotely to the machine using ssh and this is where

i

 get
  the problem:

  Initially i can connect properly using a normal user account.
  When later i am trying to su to root it does nothing and the

connection

  closes.

  I have ipfw enabled in the kernel to deny everything by default.
  I have used both (one at a time) the following rules concerning ssh,

in

  /etc/ipfw.rules
  and also other combinations, such as taking off setup and keep-state

etc

 etc
  which would then make my firewall stateless as far as i understood,
 which is
  something i don't want anyway.

  ${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup
 keep-state
  -
  ${addcmd} 300 allow log logamount 5 tcp from any to any ssh keep-state

  In a first investigation (not thorough) i found this post:
  http://www.freebsdforums.org/forums/showthread.php?t=21876
  where from, i cannot realize what is wrong or how to fix this.

  I run the sshd in debug mode and below is the portion, for when i am
 trying
  to su to root

  /* sshd -d */
  Write failed: Permission denied
  debug1: do_cleanup
  debug1: PAM: cleanup
  debug1: do_cleanup
  debug1: PAM: cleanup
  debug1: session_pty_cleanup: session 0 release /dev/ttyp7

  And here are related logs:

  /* line from /var/log/messages */
  Oct 11 20:25:54 username sshd[26251]: fatal: Write failed: Permission
 denied

  /* /var/log/auth.log */
  Sep 26 11:17:34 username sshd[50073]: Connection from

xxx.xxx.xxx.xxport

  1545
  Sep 26 11:17:46 username sshd[50073]: Accepted

keyboard-interactive/pam

 for
  user from xxx.xxx.xxx.xx port 1545 ssh2
  Sep 26 10:17:49 username su: user to root on /dev/ttyp4
  Sep 26 11:17:51 username sshd[50068]: Read error from remote host
  xxx.xxx.xxx.xx: Connection reset by peer
  Sep 26 13:29:40 username sshd[50076]: Read error from remote host
  xxx.xxx.xxx.xx: Operation timed out

  Is it trying to write to a
  socket? I cannot see what is trying to do and the permission is denied
  (of course maybe it is in front of me..but..)
  Could anyone please advice?

  Thanks in advance
  Spiros
  ___
  freebsd-ipfw@freebsd.org mailing list
  http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
  To unsubscribe, send any mail to
  [EMAIL PROTECTED]
 Isn't very clear. U can connect, and then when try to switch to root,
 your connection is lost?


Yes It is not doing anything and gives me the message i mentioned 

Re: Problems with ipfw and ssh

2006-10-11 Thread Giorgos Keramidas
I removed freebsd-ipfw from the recipient list.  Please keep `general'
questions in freebsd-questions.  The freebsd-ipfw list is, as far as I
know, used for *development* of IPFW; not questions.

On 2006-10-11 22:53, Spiros Papadopoulos [EMAIL PROTECTED] wrote:
 Hi,
 
 I am trying to configure a firewall using ipfw for a machine running
 FreeBSD 5.4.  Without NAT.
 
 I am nearly a newbie on this (since i never had time until now..) but
 still i believe i understand exactly the concepts and what needs to be
 done.  Except the manual page and chapter 26.1 in the handbook I am
 using good references such as:

 http://www.freebsd-howto.com/HOWTO/Ipfw-HOWTO
 
 I need to connect remotely to the machine using ssh and this is where
 i get the problem:
 
 Initially i can connect properly using a normal user account.  When
 later i am trying to su to root it does nothing and the connection
 closes.

Can you show us the full IPFW ruleset you are using?

 I have ipfw enabled in the kernel to deny everything by default.  I
 have used both (one at a time) the following rules concerning ssh, in
 /etc/ipfw.rules and also other combinations, such as taking off setup
 and keep-state etc etc which would then make my firewall stateless as
 far as i understood, which is something i don't want anyway.
 
 ${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup keep-state
 -
 ${addcmd} 300 allow log logamount 5 tcp from any to any ssh keep-state

The second seems wrong, unless you also have 'setup' rules elsewhere.

 In a first investigation (not thorough) i found this post:
 http://www.freebsdforums.org/forums/showthread.php?t=21876
 where from, i cannot realize what is wrong or how to fix this.

The initial ruleset of this forum thread has a few bugs, which I'm not
interested in pointing out one by one right now.  Just ignore most of it.

 I run the sshd in debug mode and below is the portion, for when i am trying
 to su to root
 
 /* sshd -d */
 Write failed: Permission denied
 debug1: do_cleanup
 debug1: PAM: cleanup
 debug1: do_cleanup
 debug1: PAM: cleanup
 debug1: session_pty_cleanup: session 0 release /dev/ttyp7

Now we're getting somewhere.  Please post your *FULL* ipfw ruleset so we
can try to find out why/when/where packets can be blocked.

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with ipfw and ssh

2006-10-11 Thread Spiros Papadopoulos

Giorgo thanks for the immediate reply,

I started yesterday playing with it / testing it, but since i want to
do most of the work remotely, i stuck on this rule and feel like keep
looking until i find the solution. I paste the whole script here just
in case something else is wrong...
Here is my ipfw.rules file:

/** Sorry for the delay. In the meanwhile, just before sent the mail
something else happened. Taking in account what you told me about the
state keyword, i added it to the rule 300. Then i could not connect
at all. I tried to take it off again, but surprisingly it still
doesn't allow any connections at all (not even the user this time),
hmmm... I am sending it as it was initially, which from yesterday
until my first e-mail it was working as described previously...Now
also when i run the script with the allowall option gives me
problems, when it was working before. I can ping the machine and get
replies but i cannot ssh to it. It seems that i am doing something
wrong but cannot identify where */

#!/bin/sh

# rules commmand prefix
addcmd=/sbin/ipfw -q add

# and the interface
if=xl0

# details of this computer
ip=192.168.1.199
net=192.168.1.0
mask=255.255.255.0
bcast=192.168.1.255

nic=sk0
ks=keep-state

# Flush out the list
/sbin/ipfw -q -f flush

if [ $1 = allowall ]
then
   ${addcmd} 100 allow all from any to any via ${nic}
   exit 0
else
   # Only in rare cases do you want to change these rules
   ${addcmd} 50 allow all from any to any via lo0
   ${addcmd} 100 deny all from any to 127.0.0.0/8
   ${addcmd} 150 deny ip from 127.0.0.0/8 to any

   # At the moment don't allow it
   #${addcmd} 400 allow all from ${ip} to ${net}:${mask}
   #${addcmd} 500 allow all from ${net}:${mask} to ${ip}

   # Allow only specific stuff and maintain the firewall for as long
   # as needed to become tough enough

   # check state and keep it
   ${addcmd} 200 check-state

   ${addcmd} 210 allow tcp from me to any setup ${ks}
   ${addcmd} 211 allow udp from me to any ${ks}

   ${addcmd} 212 allow icmp from any to me icmptype 0, 3, 4, 11
   ${addcmd} 212 allow icmp from me to any

   # Allow Traffic to my ISP DNS server
   ${addcmd} 250 allow udp from ${ip} to xx.xxx.x.xx 53 out via ${nic}
   ${addcmd} 251 allow udp from xx.xxx.x.xx to ${ip} 53 in via ${nic}

   # Allow ssh from anywhere
   #${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup ${ks}
   #${addcmd} 301 allow tcp from any to me ssh in recv ${nic} ${ks} setup
   ${addcmd} 300 allow log logamount 5 tcp from any to any ssh {ks}
   # Everything else is denied
   ${addcmd} 65535 deny all from any to ${ip}
   exit 0
fi

Thanks
Spiros

On 12/10/06, Giorgos Keramidas [EMAIL PROTECTED] wrote:

I removed freebsd-ipfw from the recipient list.  Please keep `general'
questions in freebsd-questions.  The freebsd-ipfw list is, as far as I
know, used for *development* of IPFW; not questions.

On 2006-10-11 22:53, Spiros Papadopoulos [EMAIL PROTECTED] wrote:
 Hi,

 I am trying to configure a firewall using ipfw for a machine running
 FreeBSD 5.4.  Without NAT.

 I am nearly a newbie on this (since i never had time until now..) but
 still i believe i understand exactly the concepts and what needs to be
 done.  Except the manual page and chapter 26.1 in the handbook I am
 using good references such as:

 http://www.freebsd-howto.com/HOWTO/Ipfw-HOWTO

 I need to connect remotely to the machine using ssh and this is where
 i get the problem:

 Initially i can connect properly using a normal user account.  When
 later i am trying to su to root it does nothing and the connection
 closes.

Can you show us the full IPFW ruleset you are using?

 I have ipfw enabled in the kernel to deny everything by default.  I
 have used both (one at a time) the following rules concerning ssh, in
 /etc/ipfw.rules and also other combinations, such as taking off setup
 and keep-state etc etc which would then make my firewall stateless as
 far as i understood, which is something i don't want anyway.

 ${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup keep-state
 -
 ${addcmd} 300 allow log logamount 5 tcp from any to any ssh keep-state

The second seems wrong, unless you also have 'setup' rules elsewhere.

 In a first investigation (not thorough) i found this post:
 http://www.freebsdforums.org/forums/showthread.php?t=21876
 where from, i cannot realize what is wrong or how to fix this.

The initial ruleset of this forum thread has a few bugs, which I'm not
interested in pointing out one by one right now.  Just ignore most of it.

 I run the sshd in debug mode and below is the portion, for when i am trying
 to su to root

 /* sshd -d */
 Write failed: Permission denied
 debug1: do_cleanup
 debug1: PAM: cleanup
 debug1: do_cleanup
 debug1: PAM: cleanup
 debug1: session_pty_cleanup: session 0 release /dev/ttyp7

Now we're getting somewhere.  Please post your *FULL* 

Re: Problems with ipfw and ssh

2006-10-11 Thread Giorgos Keramidas
On 2006-10-12 00:53, Spiros Papadopoulos [EMAIL PROTECTED] wrote:
 I started yesterday playing with it / testing it, but since i
 want to do most of the work remotely, i stuck on this rule and
 feel like keep looking until i find the solution. I paste the
 whole script here just in case something else is wrong...  Here
 is my ipfw.rules file:
 
 /** Sorry for the delay. In the meanwhile, just before sent the
 mail something else happened. Taking in account what you told
 me about the state keyword, i added it to the rule 300. Then
 i could not connect at all. I tried to take it off again, but
 surprisingly it still doesn't allow any connections at all (not
 even the user this time), hmmm... I am sending it as it was
 initially, which from yesterday until my first e-mail it was
 working as described previously...Now also when i run the
 script with the allowall option gives me problems, when it
 was working before. I can ping the machine and get replies but
 i cannot ssh to it. It seems that i am doing something wrong
 but cannot identify where */
 
 #!/bin/sh
 
 # rules commmand prefix
 addcmd=/sbin/ipfw -q add
 
 # and the interface
 if=xl0
 
 # details of this computer
 ip=192.168.1.199
 net=192.168.1.0
 mask=255.255.255.0
 bcast=192.168.1.255
 
 nic=sk0
 ks=keep-state
 
 # Flush out the list
 /sbin/ipfw -q -f flush
 
 if [ $1 = allowall ]
 then
${addcmd} 100 allow all from any to any via ${nic}
exit 0
 else
# Only in rare cases do you want to change these rules
${addcmd} 50 allow all from any to any via lo0
${addcmd} 100 deny all from any to 127.0.0.0/8
${addcmd} 150 deny ip from 127.0.0.0/8 to any

These look ok.

# At the moment don't allow it
#${addcmd} 400 allow all from ${ip} to ${net}:${mask}
#${addcmd} 500 allow all from ${net}:${mask} to ${ip}

Not sure why these are needed (but they are commented out).

# Allow only specific stuff and maintain the firewall for as long
# as needed to become tough enough
 
# check state and keep it
${addcmd} 200 check-state
 
${addcmd} 210 allow tcp from me to any setup ${ks}
${addcmd} 211 allow udp from me to any ${ks}
 
${addcmd} 212 allow icmp from any to me icmptype 0, 3, 4, 11
${addcmd} 212 allow icmp from me to any
 
# Allow Traffic to my ISP DNS server
${addcmd} 250 allow udp from ${ip} to xx.xxx.x.xx 53 out via ${nic}
${addcmd} 251 allow udp from xx.xxx.x.xx to ${ip} 53 in via ${nic}
 
# Allow ssh from anywhere
#${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup 
${ks}
#${addcmd} 301 allow tcp from any to me ssh in recv ${nic} ${ks} 
setup
${addcmd} 300 allow log logamount 5 tcp from any to any ssh {ks}
# Everything else is denied
${addcmd} 65535 deny all from any to ${ip}
exit 0
 fi

You seem to be missing a 'setup' keyword in the ssh rule :-/

I just loaded your own ruleset (with ${ip} and ${nic} set to local
values) on a FreeBSD 7.0-CURRENT system here.  They work fine, as far as
I can tell:

,
| [EMAIL PROTECTED]:/home/giorgos$ su -
| Password: 
| [EMAIL PROTECTED]:/root# ipfw -d show
| 00050 168  30828 allow ip from any to any via lo0
| 00100   0  0 deny ip from any to 127.0.0.0/8
| 00150   0  0 deny ip from 127.0.0.0/8 to any
| 00200   0  0 check-state
| 00210 881 129402 allow tcp from me to any setup keep-state
| 00211   8965 allow udp from me to any keep-state
| 00212   0  0 allow icmp from any to me icmptypes 0,3,4,11
| 00212   0  0 allow icmp from me to any
| 00250   0  0 allow udp from 10.6.0.131 to any dst-port 53 out via re0
| 00251   0  0 allow udp from any to 10.6.0.131 dst-port 53 in via re0
| 00300 649  92691 allow log logamount 5 tcp from any to any dst-port 22 
keep-state
| 65535 154  35966 deny ip from any to any
| ## Dynamic rules (12):
| [EMAIL PROTECTED]:/root#
`

The only changes I made are:

  * Use 'any' instead of xx.xxx.x.xx as the UDP address.

  * Change ${ip} to my own address

  * Change ${nic} to my own interface name

I can connect to other hosts and ssh back into my workstation
with this ruleset :-/

Sorry, but I'm not sure why in your case this fails to work.

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Problems with ipfw and ssh

2006-10-11 Thread Spiros Papadopoulos

On 12/10/06, Giorgos Keramidas [EMAIL PROTECTED] wrote:

On 2006-10-12 00:53, Spiros Papadopoulos [EMAIL PROTECTED] wrote:
 I started yesterday playing with it / testing it, but since i
 want to do most of the work remotely, i stuck on this rule and
 feel like keep looking until i find the solution. I paste the
 whole script here just in case something else is wrong...  Here
 is my ipfw.rules file:

 /** Sorry for the delay. In the meanwhile, just before sent the
 mail something else happened. Taking in account what you told
 me about the state keyword, i added it to the rule 300. Then
 i could not connect at all. I tried to take it off again, but
 surprisingly it still doesn't allow any connections at all (not
 even the user this time), hmmm... I am sending it as it was
 initially, which from yesterday until my first e-mail it was
 working as described previously...Now also when i run the
 script with the allowall option gives me problems, when it
 was working before. I can ping the machine and get replies but
 i cannot ssh to it. It seems that i am doing something wrong
 but cannot identify where */

 #!/bin/sh

 # rules commmand prefix
 addcmd=/sbin/ipfw -q add

 # and the interface
 if=xl0

 # details of this computer
 ip=192.168.1.199
 net=192.168.1.0
 mask=255.255.255.0
 bcast=192.168.1.255

 nic=sk0
 ks=keep-state

 # Flush out the list
 /sbin/ipfw -q -f flush

 if [ $1 = allowall ]
 then
${addcmd} 100 allow all from any to any via ${nic}
exit 0
 else
# Only in rare cases do you want to change these rules
${addcmd} 50 allow all from any to any via lo0
${addcmd} 100 deny all from any to 127.0.0.0/8
${addcmd} 150 deny ip from 127.0.0.0/8 to any

These look ok.

# At the moment don't allow it
#${addcmd} 400 allow all from ${ip} to ${net}:${mask}
#${addcmd} 500 allow all from ${net}:${mask} to ${ip}

Not sure why these are needed (but they are commented out).


They are meant to allow all traffic from net 192.168.1.0 and were
commented out temporarily. I just sent the script as it was.



# Allow only specific stuff and maintain the firewall for as long
# as needed to become tough enough

# check state and keep it
${addcmd} 200 check-state

${addcmd} 210 allow tcp from me to any setup ${ks}
${addcmd} 211 allow udp from me to any ${ks}

${addcmd} 212 allow icmp from any to me icmptype 0, 3, 4, 11
${addcmd} 212 allow icmp from me to any

# Allow Traffic to my ISP DNS server
${addcmd} 250 allow udp from ${ip} to xx.xxx.x.xx 53 out via ${nic}
${addcmd} 251 allow udp from xx.xxx.x.xx to ${ip} 53 in via ${nic}

# Allow ssh from anywhere
#${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup
${ks}
#${addcmd} 301 allow tcp from any to me ssh in recv ${nic} ${ks}
setup
${addcmd} 300 allow log logamount 5 tcp from any to any ssh {ks}
# Everything else is denied
${addcmd} 65535 deny all from any to ${ip}
exit 0
 fi

You seem to be missing a 'setup' keyword in the ssh rule :-/

I just loaded your own ruleset (with ${ip} and ${nic} set to local
values) on a FreeBSD 7.0-CURRENT system here.  They work fine, as far as
I can tell:

,
| [EMAIL PROTECTED]:/home/giorgos$ su -
| Password: 
| [EMAIL PROTECTED]:/root# ipfw -d show
| 00050 168  30828 allow ip from any to any via lo0
| 00100   0  0 deny ip from any to 127.0.0.0/8
| 00150   0  0 deny ip from 127.0.0.0/8 to any
| 00200   0  0 check-state
| 00210 881 129402 allow tcp from me to any setup keep-state
| 00211   8965 allow udp from me to any keep-state
| 00212   0  0 allow icmp from any to me icmptypes 0,3,4,11
| 00212   0  0 allow icmp from me to any
| 00250   0  0 allow udp from 10.6.0.131 to any dst-port 53 out via re0
| 00251   0  0 allow udp from any to 10.6.0.131 dst-port 53 in via re0
| 00300 649  92691 allow log logamount 5 tcp from any to any dst-port 22 
keep-state
| 65535 154  35966 deny ip from any to any
| ## Dynamic rules (12):
| [EMAIL PROTECTED]:/root#
`

The only changes I made are:

  * Use 'any' instead of xx.xxx.x.xx as the UDP address.

  * Change ${ip} to my own address

  * Change ${nic} to my own interface name

I can connect to other hosts and ssh back into my workstation
with this ruleset :-/

Sorry, but I'm not sure why in your case this fails to work.



Now this is strange. I will try again tomorrow evening more carefully
and i will post any results.
Initially i sent the mail because of the failure to su as root (as
described also in that post i referenced) after i was logging in as
normal user canonically. So it was working as you said.
But can you su to root after connecting?

Sorry i will not be able to reply again tonight

Thanks

Re: Problems with ipfw and ssh

2006-10-11 Thread Giorgos Keramidas
On 2006-10-12 01:31, Spiros Papadopoulos [EMAIL PROTECTED] wrote:
On 12/10/06, Giorgos Keramidas [EMAIL PROTECTED] wrote:
 ,
 | [EMAIL PROTECTED]:/home/giorgos$ su -
 | Password: 
 | [EMAIL PROTECTED]:/root# ipfw -d show
 | 00050 168  30828 allow ip from any to any via lo0
 | 00100   0  0 deny ip from any to 127.0.0.0/8
 | 00150   0  0 deny ip from 127.0.0.0/8 to any
 | 00200   0  0 check-state
 | 00210 881 129402 allow tcp from me to any setup keep-state
 | 00211   8965 allow udp from me to any keep-state
 | 00212   0  0 allow icmp from any to me icmptypes 0,3,4,11
 | 00212   0  0 allow icmp from me to any
 | 00250   0  0 allow udp from 10.6.0.131 to any dst-port 53 out via re0
 | 00251   0  0 allow udp from any to 10.6.0.131 dst-port 53 in via re0
 | 00300 649  92691 allow log logamount 5 tcp from any to any dst-port 22 
 keep-state
 | 65535 154  35966 deny ip from any to any
 | ## Dynamic rules (12):
 | [EMAIL PROTECTED]:/root#
 `
 
 The only changes I made are:
 
   * Use 'any' instead of xx.xxx.x.xx as the UDP address.
 
   * Change ${ip} to my own address
 
   * Change ${nic} to my own interface name
 
 I can connect to other hosts and ssh back into my workstation
 with this ruleset :-/
 
 Sorry, but I'm not sure why in your case this fails to work.

 Now this is strange. I will try again tomorrow evening more
 carefully and i will post any results.

 Initially i sent the mail because of the failure to su as root
 (as described also in that post i referenced) after i was
 logging in as normal user canonically. So it was working as you
 said.  But can you su to root after connecting?

Yes.  See above.  The `ipfw -d show' command shown there was
after I looped using SSH from my workstation to another system
and back again.

 Sorry i will not be able to reply again tonight

No problem.  Take your time.  There is definitely a logical
explanation why this is happening, even if that explanation is
`there is a bug in ipfw and 5.4' :)

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


RE: Problems with ipfw and ssh

2006-10-11 Thread Mark Jose
Hi,

Just a suggestion/query: Do you have you localhost/127.0.0.1 rules defined
to allow all traffic?

Cheers
  

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Spiros Papadopoulos
Sent: Thursday, 12 October 2006 7:53 AM
To: freebsd-questions@freebsd.org; freebsd-ipfw@freebsd.org
Subject: Problems with ipfw and ssh

Hi,

I am trying to configure a firewall using ipfw for a machine running FreeBSD
5.4.
Without NAT.

I am nearly a newbie on this (since i never had time until now..) but still
i believe i understand exactly the
concepts and what needs to be done.
Except the manual page and chapter 26.1 in the handbook I am using good
references such as:
http://www.freebsd-howto.com/HOWTO/Ipfw-HOWTO

I need to connect remotely to the machine using ssh and this is where i get
the problem:

Initially i can connect properly using a normal user account.
When later i am trying to su to root it does nothing and the connection
closes.

I have ipfw enabled in the kernel to deny everything by default.
I have used both (one at a time) the following rules concerning ssh, in
/etc/ipfw.rules
and also other combinations, such as taking off setup and keep-state etc etc
which would then make my firewall stateless as far as i understood, which is
something i don't want anyway.

${addcmd} 300 allow log logamount 5 tcp from any to me 22 setup keep-state
-
${addcmd} 300 allow log logamount 5 tcp from any to any ssh keep-state

In a first investigation (not thorough) i found this post:
http://www.freebsdforums.org/forums/showthread.php?t=21876
where from, i cannot realize what is wrong or how to fix this.

I run the sshd in debug mode and below is the portion, for when i am trying
to su to root

/* sshd -d */
Write failed: Permission denied
debug1: do_cleanup
debug1: PAM: cleanup
debug1: do_cleanup
debug1: PAM: cleanup
debug1: session_pty_cleanup: session 0 release /dev/ttyp7

And here are related logs:

/* line from /var/log/messages */
Oct 11 20:25:54 username sshd[26251]: fatal: Write failed: Permission denied

/* /var/log/auth.log */
Sep 26 11:17:34 username sshd[50073]: Connection from xxx.xxx.xxx.xx port
1545
Sep 26 11:17:46 username sshd[50073]: Accepted keyboard-interactive/pam for
user from xxx.xxx.xxx.xx port 1545 ssh2
Sep 26 10:17:49 username su: user to root on /dev/ttyp4
Sep 26 11:17:51 username sshd[50068]: Read error from remote host
xxx.xxx.xxx.xx: Connection reset by peer
Sep 26 13:29:40 username sshd[50076]: Read error from remote host
xxx.xxx.xxx.xx: Operation timed out

Is it trying to write to a
socket? I cannot see what is trying to do and the permission is denied
(of course maybe it is in front of me..but..)
Could anyone please advice?

Thanks in advance
Spiros
___
freebsd-ipfw@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to [EMAIL PROTECTED]

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]