webForumDet fria alternativet

Debian 6, simpel brandvägg för att blockera vissa portar?

Linux & BSD

8 svar · 1 584 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tja,

Har en server med Debian 6 och jag behöver en simpel brandvägg för att blockera vissa portar för inkommande trafik, för att undvika portscanners/överbelastningsattacker etc.

Har iptables i grunden, men just nu är det konfigurerat enl. följande:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Ser inget vidare ut... Jag kan inte särskilt mycket om det här, men eg. skulle det väl räcka med att tillåta resp. portnummer för:

  • HTTP
  • SSH
  • Ev. MySQL (körs bara som localhost så behövs eg. inte)
  • Mail (POP/IMAP)

Hur går jag vidare med iptables? Har läst lite dokumentation här och där men allt ser så sjukt avancerat ut.

Tack,

Medlem sedan mars 20007 896 inlägg
#2

Om du vill fortsätta "rent" med iptables tycker jag att denna sida har vettig information.

Däremot har du flera s.k. iptables frontends att välja mellan, ett allt vanligare val verkar vara Firewall Builder (gratis för GNU/Linux) där man sköter själva uppsättningen på en klient och sedan laddar upp reglerna till servern. Jag har dock ingen egen erfarenhet av det, men har hört om det i positiva ordalag.

Medlem sedan dec. 19996 592 inlägg
#3

Jag installerade CSF på en Debian 6-server igår enligt de här instruktionerna. Efter installationen behöver du inte göra mycket mer än att specifiera vilka portar du vill ha öppna i /etc/csf/csf.conf. Starta csf, kolla så att ingenting har pajjat (läs: kan du fortfarande logga in på servern?). Om allt funkar går du in i csf.conf igen och sätter TESTING till "0". Klart, typ.* (Jag saknade ip6tables på maskinen så jag fick sätta IPV6 till 0.) Readme-filen.

* Förutsätter att du loggar in från en statisk ip-adress.

Medlem sedan feb. 20034 441 inlägg
#4

Oj! Löjligt enkelt att få igång. Stort tack!

Medlem sedan feb. 20034 441 inlägg
#5

Öppnar den här tråden igen, då jag har lite problem med loggar och rapportering som är relaterat till CSF.

Jag ordnade så att mail som skickas till "root" går till mig. Problemet är att CSF genererar mängder med varning etc. så nu får jag 30 mail per kvart med info, vilket är lite irriterande.

Exempel:

[B]Excessive resource usage: daemon (1396)[/B]
Time:         Wed May 23 05:54:27 2012 +0200
Account:      daemon
Resource:     Process Time
Exceeded:     3451728 > 1800 (seconds)
Executable:   /sbin/portmap
Command Line: /sbin/portmap
PID:          1396
Killed:       No

[B]Excessive resource usage: www-data (18897)[/B]
Time:         Wed May 23 05:54:27 2012 +0200
Account:      www-data
Resource:     Process Time
Exceeded:     63843 > 1800 (seconds)
Executable:   /usr/lib/apache2/mpm-prefork/apache2
Command Line: /usr/sbin/apache2 -k start
PID:          18897
Killed:       No

[B]Suspicious process running under user www-data[/B]
Time:    Wed May 23 05:57:25 2012 +0200
PID:     4909
Account: www-data
Uptime:  14501 seconds

Executable:

/usr/lib/apache2/mpm-prefork/apache2

Command Line (often faked in exploits):

/usr/sbin/apache2 -k start

Network connections by the process (if any):

tcp6: 0.0.0.0:80 -> 0.0.0.0:0

Files open by the process (if any):

/dev/null
/dev/null
/var/log/apache2/error.log
... (massor med sökvägar) ...

Vad jag tror har Portmap med NFS att göra!? Jag har två linodes som är sammankopplade med NFS, så att backuper görs på server1 och sparas direkt i en katalog på server2.

Det har med Suspicious process running under user www-data känns lite oroväckande!? Vad är det?

Visst är det bra om CSF håller reda på saker och ting, men hur stoppar jag att den skickar sådana mängder med mail?

Tack!

Medlem sedan dec. 19996 592 inlägg
#6

Kolla readme-filen och csf.conf under "Process Tracking". Där kan du ändra inställningarna för hur ofta 'varningsmailen' skickas ut. (Eller avaktivera funktionaliteten helt om du vill.) Normala processer -- som exempelvis www-data + apache2 -- kan redigeras in i csf.pignore så att de ignoreras av CSF. Jag är osäker på vilket det bästa sättet att göra det på är i det här fallet, men något i stil med:

exe:/sbin/portmap
exe:/usr/lib/apache2/mpm-prefork/apache2

...borde fungera.

readme.txt

*** NOTE ***
You _will_ get false-positives with this particular feature. The
reason for the feature is to bring to your attention processes that have either
been running for a long time under a user account, or that have ports open
outside of your server. You should satisfy yourself that they are indeed false-
positives before either ignoring them or trapping them in the csf.pignore file.

Medlem sedan feb. 20034 441 inlägg
#7

Hmm, okej, tack!

Så t.ex. Suspicious process running under user www-data är inget märkvärdigt, utan så det "ska" vara?

Jag lade till det här i csf.pignore:

user:www-data

och startade om ldf. Nu bör det inte alls vara lika många mail som trillar in.

Tack!

Medlem sedan dec. 19996 592 inlägg
#8

MickeA.com skrev:

Så t.ex. Suspicious process running under user www-data är inget märkvärdigt, utan så det "ska" vara.

Nja, du får granska varje enskilt felmeddelande. Att användaren www-data kör apache2 låter normalt. Jag kollade precis i loggarna för maskinen jag har installerat CSF på och visst -- jag har precis samma återkommande 'rapport':

May 21 13:07:40 kuhn lfd[1956]: *Suspicious Process* PID:21657 User:www-data Uptime:82972 secs EXE:/usr/lib/apache2/mpm-prefork/apache2 CMD:/usr/sbin/apache2
Medlem sedan feb. 20034 441 inlägg
#9

Jag kompletterade pignore lite och lade till de saker som förekommer oftast. Jag har insett nu att det är inställt så att den rapporterar alla processer som körts längre än 1800 sekunder. Så rapporterar inget från t.ex. Apache längre, eller för NFS'en. En mycket bra sak som jag (självklart) tänker behålla är att varje gång någon loggar in via SSH får jag ett mail med vem det här, varifrån användaren ansluter och vilken typ av autentisering jag använt. På så sätt kommer man direkt se om någon obehörig lyckats ta sig in.

Rätt spännade att kolla csf.deny där alla som försöker logga in som root hamnar, efter 3 misslyckade inloggningar. Den listan växer nått otroligt för varje dag.

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)