[GELÖST] ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Probleme mit Samba, NFS, FTP und Co.
Antworten
wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Beitrag von wanne » 22.05.2019 17:28:11

(address mismatch)
Da fehlt noch immer:

Code: Alles auswählen

MasqueradeAddress [EXTERNE IP] 
PORT
Äh das ist Aktives FTP. Das tut nicht hinter NAT. Du solltest dein FileZilla wieder auf passiv stellen. (Oder auf IPv6 umstellen ;-) .)
gesperrt ist alles, was von aussen tabu ist.
Offensichtlich halt auch dein FTP.
Somit sind nur solche Services offen wie HTTP, HTTPS, SMTPs, IMAPs, DNS, SSH (eingeschränkt) und eben FTP.
Services kannst du mit selinux freischalten.
Was du machst ist zu versuchen an irgend welchen Port-Nummern zu raten zu welchem Service das gehört.
Das hilft sicherheitstechnisch nichts, weil Angreifer sich garantiert nicht Standardkonform verhalten und für ihre Malware einen Port bei der IANA-Beantragen und den dann nutzen. Jede Malware nutzt heute Port 443 und kommt damit durch deine HTTPS-Regel. Völlig Wurst, was die wirklich macht. Einziger Schutz ist der dagegen, dass du versehentlich selbst einen sich dann standardkonform verhaltende Software startest und die in der Firewall nicht freischaltest. Auf einem PC kann ich das verstehen, da macht man vielleicht mal was unüberlgtes und will eine zweite "nachfrage". Aber auf der anderen Seite verursacht das halt Probleme bei FTP, Bittorrent, Telefonie... die eben mehr als einen Port benötigen. Auf nem Server finde ich das deswegen absolut fehl am Platz.
Ohnehin sollte auch ein FTP-Server als VM geschützt sein, somit wäre auch hier die Firewall unabdingbar.
Ohne ist dein FTP einfach nicht sicher. In irgend einer weise mit von wegen "geschützt" zu reden bevor das Ding TLS spricht ist absoluter Quatsch.
Mit dem dst würde ich aufpassen. Machst du das masquerading
dst 192.168.1.75
bBist du dir da sicher? Wenn du das NAT Postrouting machst.hat der noch eine alte Adresse. Machst du es im PREROUTING ist es die FRWARD-Chain
rot: Moderator wanne spricht, default: User wanne spricht.

BrotherJ
Beiträge: 323
Registriert: 15.11.2018 07:56:18

Re: ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Beitrag von BrotherJ » 22.05.2019 18:49:00

wanne hat geschrieben: ↑ zum Beitrag ↑
22.05.2019 17:28:11
Da fehlt noch immer:

Code: Alles auswählen

MasqueradeAddress [EXTERNE IP] 
Wo und wie? Es hilft mir gar nichts, wenn ich Deine Gedankengänge reflektieren soll.
wanne hat geschrieben: ↑ zum Beitrag ↑
22.05.2019 17:28:11
PORT
Äh das ist Aktives FTP. Das tut nicht hinter NAT. Du solltest dein FileZilla wieder auf passiv stellen. (Oder auf IPv6 umstellen ;-) .)
Das genauso: Was zitierst Du mit "PORT"? Das steht nirgends in meinem Post, vor allem nicht in dieser Art. Respektive in der Config ist Passiv eingetragen. Bitte etwas ausführlicher formuliert wäre wesentlich effizienter für die Kommunikation.
wanne hat geschrieben: ↑ zum Beitrag ↑
22.05.2019 17:28:11
Services kannst du mit selinux freischalten.
Weiß ich auch, steht aber auf dieser Maschine nicht zur Debatte.
wanne hat geschrieben: ↑ zum Beitrag ↑
22.05.2019 17:28:11
dst 192.168.1.75
bBist du dir da sicher? Wenn du das NAT Postrouting machst.hat der noch eine alte Adresse. Machst du es im PREROUTING ist es die FRWARD-Chain
Worin bin ich mir sicher?
Prinzipiell begrüsse ich jede Unterstützung, aber sobald sie unverständlich wird, wird sie eine Qual.

BrotherJ
Beiträge: 323
Registriert: 15.11.2018 07:56:18

Re: ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Beitrag von BrotherJ » 22.05.2019 19:22:11

Ich sage es mal anders herum. Du kommentierst zwar meine Posts, aber woher soll ich denn verifizieren, dass das auch stimmt?

Code: Alles auswählen

iptables -I net-loc 2 -p tcp --match multiport --dports 49152:65535 --dst 192.168.1.75 -j ACCEPT
habe ich zusammen mit den dazu geladenen Kernelmodulen auf einer entsprechenden Webseite gefunden, auf der das Thema ProFTPd hinter einer IPTABLES-Firewall erläutert wird.
Und damit das überall 0.0.0.0 landet, habe ich die IP des internen Servers mit in den Befehl gesetzt.
Solange Du die Dinge ohne Begründung/Erläuterung anbietest, bleibt das ein Ratespiel, es sei denn ich habe exakt Deinen Wissensstand.

Ich denke, wir helfen uns hier gegenseitig und machen uns nicht fertig. Es bringt nichts, den Leuten andere Lösungen zu bieten, wenn diese aus welchem Grund auch immer nicht zur Debatte stehen - siehe Dein wiederholtes Erwähnen von SELINUX. Die Situation ist wie sie ist:
1 KVM-Host mit mehreren VMs, eine davon hat einen Apache und einen ProFTPd. Der Host hat zur Absicherung eine IPTABLES-Shorewall-Firewall. Und jetzt gilt es FTP mit TLS von aussen zur VM mit der IP 192.168.1.75 zuzulassen. Alles Andere ist für die Lösung tabu und nur hinderlich. Auch wie das gelöst ist, gut oder schlecht, steht nicht zur Debatte, denn jeder Schritt in diese Diskussion blockiert bei einer Lösungsfindung.
Wenn Du der Meinung bist, es ist Deine Art so kommunizieren und zu erklären, dann ist das auch okay. Aber dann können wir beide nicht miteinander kommunizieren, denn ich brauche ein klare und eindeutige Kommunikation, nicht etwas das hingeklatscht wird.

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Beitrag von wanne » 22.05.2019 20:00:50

Ohne folgende Zeile ist der FTP halt fehlerhaft.

Code: Alles auswählen

MasqueradeAddress [EXTERNE IP]
FileZilla mag Workarounds haben, um mit fehlerhaften Konfigurationen umzugehen (Erkennen der Adresse als privat und dann raten welches die öffentlich sein könnte) aber a) würde ich mich nicht darauf verlassen, dass das funktioniert und b) wird das auch mit anderen Clients kaputt gehen.
Was zitierst Du mit "PORT"? Das steht nirgends in meinem Post
Dein FileZilla hat das im Log stehen. PORT ist das Kommando mit dem aktives FTP angestoßen wird. => Irgend jemand spricht mit dem Server aktives FTP. Da aktives FTP und NAT nicht funktionieren, würde ich sagen, dass da fehlerhafter weise aktives statt passives FTP genutzt wird.
Könnte mir vorstellen, dass dein FileZilla das absichtlich als Fallback macht, wen passives fehlschlägt.
Auf der Firewall Shorewall des KVM-Host habe ich diesen Befehl abgesetzt:[…] Worin bin ich mir sicher?
Mir sieht das mit der internen Adresse in der INPUT-Chain komisch aus ich kann mir kein Setup vorstellen, bei dem das eine korrekte Regel wäre. Da ich den Rest der Regeln nicht kenne kann ich nur raten was da schief läuft.
Kannst du mal die Regel für HTTPs zeigen. Die müsste sich ganz gut auf FTPs anpassen lassen. (Vorraussetzung ist, dass die tut.)
rot: Moderator wanne spricht, default: User wanne spricht.

BrotherJ
Beiträge: 323
Registriert: 15.11.2018 07:56:18

Re: ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Beitrag von BrotherJ » 23.05.2019 07:40:02

Danke,
das liest sich bereits besser und ich weis, wo ich weiter suchen kann.

BrotherJ

BrotherJ
Beiträge: 323
Registriert: 15.11.2018 07:56:18

Re: ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Beitrag von BrotherJ » 23.05.2019 11:07:48

Abschliessende Lösung

Code: Alles auswählen

cat conf.d/custom.conf 
<Global>
    RequireValidShell off
    PassivePorts 49152 65535
</Global>

MasqueradeAddress IPextern

UseIPv6 off

DefaultRoot ~

<Limit LOGIN>
    DenyGroup !ftpuser
</Limit>
plus bereits genannte conf.d/tls.conf und proftd.conf führen zusammen mit dem IPTABLES-Befehl auf dem KVM-Host

Code: Alles auswählen

iptables -I net-loc 2 -p tcp --match multiport --dports 49152:65535 --dst 192.168.1.75 -j ACCEPT
zur vollen Funktionsweise des ProFTPd-Servers hinter der Firewall.
Gefehlt hatten gegenüber meiner ursprünglichen Konfiguration lediglich

Code: Alles auswählen

PassivePorts 49152 65535
und

Code: Alles auswählen

MasqueradeAddress IPextern
entweder in der "/etc/proftpd/proftd.conf" oder /etc/proftpd/conf.d/custom.conf explizit bei mir.

Lediglich den Befehl von IPTABLES habe ich noch in die Shorewall-Syntax einzubauen.
Shorewall arbeitet mit Zonen zones

Code: Alles auswählen

###############################################################################
#ZONE           TYPE            OPTIONS         IN_OPTIONS      OUT_OPTIONS
fw              firewall
net             ipv4
loc             ipv4
Macros wie

Code: Alles auswählen

#
# Shorewall -- /usr/share/shorewall/macro.FTP
#
# This macro handles FTP traffic.
#
###############################################################################
#ACTION SOURCE  DEST    PROTO   DPORT   SPORT   ORIGDEST        RATE    USER

?if ( __CT_TARGET && ! $AUTOHELPERS && __FTP_HELPER  )
 PARAM  -       -       tcp     21 { helper=ftp }
?else
 PARAM  -       -       tcp     21
?endif
mit Policies

Code: Alles auswählen

###############################################################################
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST

loc             net             ACCEPT
net             all             DROP            info
fw              all             ACCEPT          info
# THE FOLLOWING POLICY MUST BE LAST
all             all             REJECT          info
und rules, in denen die Regeln aufgestellt werden, wie hier FTP

Code: Alles auswählen

######################################################################################################################################################################################################
#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/   MARK    CONNLIMIT       TIME            HEADERS         SWITCH          HELPER
#                                                       PORT    PORT(S)         DEST            LIMIT           GROUP
?SECTION ALL
?SECTION ESTABLISHED
?SECTION RELATED
?SECTION INVALID
?SECTION UNTRACKED
?SECTION NEW
#       Don't allow connection pickup from the net
#
Invalid(DROP)   net             $FW             tcp

SSH(ACCEPT)     net             $FW
SSH(ACCEPT)     loc             $FW
SSH(ACCEPT)     $FW             loc

# Allow FTP and TFTP traffic to the apache2 server
# 
FTP(ACCEPT)     net             loc:192.168.1.75
FTP(ACCEPT)     loc:192.168.1.75 net
Gruß
BrotherJ

BrotherJ
Beiträge: 323
Registriert: 15.11.2018 07:56:18

Re: [GELÖST] ProFTPd zeigt bei TLS-Verbindung keine Inhalte

Beitrag von BrotherJ » 27.05.2019 19:17:14

Statt

Code: Alles auswählen

iptables -I net-loc 2 -p tcp --match multiport --dports 49152:65535 --dst 192.168.1.75 -j ACCEPT
geht auch in der
/etc/shorewall/rules

Code: Alles auswählen

ACCEPT          net             loc:192.168.1.75        tcp     49152:65535
Gruß

BrotherJ

Antworten