Ports schließen unter debian

C

cento

Mitglied
Hallo

Ich habe mit nmap einen Portscan gemacht.

Folgendes kam bei raus

PORT STATE SERVICE VERSION
137/tcp filtered netbios-ns
138/tcp filtered netbios-dgm
139/tcp filtered netbios-ssn
179/tcp filtered bgp
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
139/udp open|filtered netbios-ssn
161/udp filtered snmp
162/udp filtered snmptrap
514/udp open|filtered syslog


Kann mir jemand sagen wie ich:
1) port 514 vom syslog schließe
2) was open|filtered bedeutet
3) und wofür die anderen ports sind.

Wäre ich sehr dankbar für

gruß
cento
 
mit lsof -Pni sieht man den syslog port aber die anderen werden nicht aufgeführt.

den befehl rcconf gibt es bei mir leider nicht.
 
Ist 137-139 nicht samba? Bin mir aber nicht 100pro sicher.
Port 179 ken ich jetzt nur von Cisco IOS (transfer von routingdaten usw.)
 
Zuletzt bearbeitet:
mit lsof -Pni sieht man den syslog port aber die anderen werden nicht aufgeführt.

den befehl rcconf gibt es bei mir leider nicht.
Hallo

Zum Ersten kann ich nichts sagen, hab es auch nur gelesen;)

rcconf installierst du mit

apt-get install rcconf
Das ist -wenn ich es richtig verstanden habe- ein Run-Level-Editor

Gruß Lumpi
 
Die /etc/services hilft bei solchen Fragen auch ungemein weiter:

Code:
cat /etc/services | grep 137
netbios-ns      137/tcp                         # NETBIOS Name Service
netbios-ns      137/udp
 
ja damit kann ich lauter dienste abschalten, aber das hilft mi ja nicht weiter, ich will ja syslog nicht komplett abschalten nur verhindern das er auf dem bestimmten port lauscht. und was die anderen ports angeht weiß ich ganicht wozu die gehören, bzw was ich da abschalten soll.
 
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp



bgp 179/tcp # Border Gateway Protocol
bgp 179/udp


snmp 161/tcp # Simple Net Mgmt Protocol
snmp 161/udp # Simple Net Mgmt Protocol
snmp-trap 162/tcp snmptrap # Traps for SNMP
snmp-trap 162/udp snmptrap # Traps for SNMP




kann ich die einfach rausnehmen ?
 
Zuletzt bearbeitet:
Nein, irgendwas aus der /etc/services rauszunehmen bringt gar nichts.

Code:
man iptables

hilft dir weiter.

Dazu findest du auch im wiki einiges mit Beispielen usw.
 
Hallo cento,

Informiere dich doch mal, was die einzelnen Ports die du "Killen" willst bedeuten.
(Hier das WIKI von NETBIOS)

Eine Liste aller Ports findest du hier
Da es nicht mein System ist weis ich nicht, was / & wie "abgeschaltet" werden kann.
Das kommt auf die Dienste an die "drauf" laufen und was du bezweckst.

Gruß Lumpi
 
Sicher das du da Debian hast? Aslon in der Standart Installation sind da niemals soviele Ports offen... oder hast du eine Full-Full installation gemacht und 10 000 Pakete ausgewählt?

Was die Port bedeuten erfährst du in /etc/services
/etc/inittab solltest du erstmal alles rauskommentieren was du nicht braucht, sprich alles.

Anonsten rcconf(8) starten: man rcconf
Code:
rcconf - Debian Runlevel configuration tool

Für alles andere ist /etc/init.d/ dein freund.
 
Einfach ein kleines Firewall-Skript mit iptables bauen wuerde ich sagen. Koennte z.B. wie folgt aussehen:
Code:
#!/bin/bash

echo "Starting firewall"

LOGLIMIT=20
IPTABLES=/sbin/iptables

case "$1" in
start)
        # alle alten Regeln entfernen
        echo "Loesche alte Regeln"
        $IPTABLES -F
        $IPTABLES -X
        $IPTABLES -t nat -F

        ### ERSTELLE NEUE KETTEN ###
        # Chain to log and reject a port by ICMP port unreachable
        $IPTABLES -N LOGREJECT
        $IPTABLES -A LOGREJECT -m limit --limit $LOGLIMIT/minute -j LOG --log-prefix "FIREWALL REJECT " --log-level notice --log-ip-options --log-tcp-options
        $IPTABLES -A LOGREJECT -j REJECT --reject-with icmp-port-unreachable

        ### PROC MANIPULATION ###
        # auf Broadcast-Pings nicht antworten
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
        # halt die Klappe bei komischen ICMP Nachrichten
        echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
        # Kicke den ganzen IP Spoofing Shit
        # (Source-Validierung anschalten)
        echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
        # Setze Default-TTL auf 61 (Default fuer Linux ist 64)
        echo 61 > /proc/sys/net/ipv4/ip_default_ttl
        # sende RST-Pakete wenn der Buffer voll ist
        echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
        # warte max. 30 secs auf ein FIN/ACK
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
        # unterbreche Verbindungsaufbau nach 3 SYN-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
        # unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_synack_retries

        ### MAIN PART ###
        # per Default lassen wir erstmal nur ausgehende Anfragen zu
        $IPTABLES -P INPUT DROP
        $IPTABLES -P FORWARD DROP
        $IPTABLES -P OUTPUT ACCEPT
        $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        # im Loopback koennen wir jedem trauen
        $IPTABLES -A INPUT -i lo -j ACCEPT

        # erlaube Pings
        $IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
        # erlaube SSH
        $IPTABLES -A INPUT -p tcp --dport 22 --tcp-flags ALL SYN -j ACCEPT
        # Alle TCP Packete, die bis hier hin kommen, werden
        # geloggt und rejected
        # Der Rest wird eh per Default Policy gedroppt...
        $IPTABLES -A INPUT -p tcp -j LOGREJECT
        $IPTABLES -A FORWARD -p tcp -j LOGREJECT
        ;;
*)
        echo "Usage: `basename $0` {start}" >&2
        exit 64
        ;;
esac

exit 0
So wie hier im Beispiel mit SSH lassen sich dann auch die anderen Ports, die du nach aussen verfuegbar machen willst, freigeben. Bei Webservern und Datenbanken sollte man die TCP-Flags aber weglassen. Das ganze ausfuehrbar machen und mit 'skriptname start' ausfuehren. Laesst sich in dieser Form uebrigens auch als init-Skript verwenden.
 
theton:
Das ist doch gecheated. Man sollte Services ausschalten die man nicht braucht und nicht einfach durch eine Firewall "schützen".
Denn wenn man am Ende keine services mehr hat, braucht man auch keine FW mehr. Und die meisten Dienste die man braucht sollte man normalweisse konfigurieren können, ansonsten will man sie eh nicht benutzen.

MFG Manuel
 
@caba: Nur ist so eine Firewall einfach wesentlich flexibler. So kann man z.B. Dienste zwar fuer den Zugriff vom Internet sperren aber fuer's LAN freigeben. Das bekommt man nicht hin, wenn man alle Services deaktivert oder an localhost bindet. Beispiel Samba: Wird im LAN wahrscheinlich gebraucht, sollte aber im Internet nicht erreichbar sein. Loesung? Firewall. :D
Sicherlich sollte man deaktivieren, was man nicht braucht oder wenigstens an localhost lauschen lassen und nicht an einem Netzwerk-Device, das auf eine Netzwerk-Karte verweist, aber sowas geht nunmal nicht immer.

However, fuer jemanden wie cento duerfte die Firewall erstmal die schnellste Loesung sein, zumindest solange bis er weiss welche Services da laufen, und wie er diese richtig konfigurieren oder deaktivieren kann, denn jeden einzelnen jetzt hier auseinanderzunehmen duerfte ein wenig weit gehen *denk*. Deswegen wuerde ich hier nicht von Cheaten, sondern von einer effektiven Sofort-Loesung sprechen. Rumkonfigurieren kann man immernoch, wenn erstmal nach aussen alles abgesichert ist.
 
Ich rede ja auch von diensten die man nocht braucht und nur aus irgendwelchen Gründen "ausversehen" installiert hat.
Was ich bei cento befürchte.

Für Sachen die du beschrieben hast ist eine Firewall eine Lösung.... [x] richtig
 
Also am Anfang war auch nichts offen. Habe dann einige Sachen installiert und wieder deinstalliert und jetzt sind die ganzen ports offen.

Firewall wär ne Möglichkeit. Mich wundert nur das man nicht rausfindne kann welches Programm die Ports benutzt.

und was bedeutet open|filtered ?
 
Ja,

jetzt red halt mal Klartext.

Von welchen Ports weisst du nicht was sie machen?

Die die du im ersten Post genannt hast sind ja klar oder?

Steht schließlich daneben für welchen Service sie sind.
 
Es laesst sich ohne Probleme mit 'netstat' ermitteln welche Programme welche Ports benutzen. *anmerk*
 
Es laesst sich ohne Probleme mit 'netstat' ermitteln welche Programme welche Ports benutzen. *anmerk*


Eben nicht. mit netstat -tulap zeigt er die nicht an.



Von welchen Ports weisst du nicht was sie machen?

Die die du im ersten Post genannt hast sind ja klar oder?

Ich weiß von allen nicht genau was sie machen, auch wenns daneben steht.
ICh weiß nur das sie am Anfang nicht da waren.
zb
179/tcp filtered bgp --Border Gateway Protocol ??

das muss man doch abschalten können.

Syslogd habe ich jetzt deaktiviert(obwohl ich nur den port schließen wollte)

161/udp filtered snmp
ich habe snmp deinstalliert wieso ist der port noch offen?
 
Den syslog-Daemon zu deaktivieren halte ich fuer eine ganz ganz schlechte Idee, da du dir damit jegliche Fehlersuche in deinem System fast unmoeglich machst, sobald sie ein Programm betrifft, das ueber syslog seine Logs schreibt.
filtered bedeutet im uebrigen nicht, dass der Port noch offen ist, sondern lediglich fuer bestimmte Verbindungen zugelassen wird oder anstelle eines DROP ein REJECT in der Firewall steht. Kann es sein, dass du bereits eine Firewall am Laufen hast? (iptables -L)
 

Ähnliche Themen

Portfreigabe Plesk + Ubuntu

iptables - default policy - Server macht dicht

Centos 5.5: Qmail lauscht nicht auf Port 25

bind failed on port 445 und 139

iptables: samba zulassen

Zurück
Oben