Nowe posty

Autor Wątek: Firehol i blokada portu 587  (Przeczytany 1386 razy)

Offline androwida

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Firehol i blokada portu 587
« dnia: 2020-01-31, 21:05:58 »
Witam. Firehol blokuje port 587. Po firehol stop port działa bo postfix wysyła maile, managesieve robi swoje itd.
Bardzo proszę o pomoc.

Firehol.conf wygląda tak ("wyiksowane" adresy ip - nie mają znaczenia)

version 5
server_sshXXX_ports="tcp/XXX"
client_sshXXX_ports="default"

# Accept all client traffic on any interface
interface any eth0
         policy drop
#         protection strong

trusted="19XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

        server icmp accept
        server http accept
        server https accept
        server smtp accept
        server smtps accept
        server pop3 accept
        server pop3s accept
        server imap accept
        server imaps accept
        server ssh6464 accept
        client all accept


iptables -I INPUT -i eth0 -s 194.XXXXXXXXXX.0/24 -j ACCEPT
iptables -I INPUT -s 91.XXXXXXXXX -j ACCEPT
iptables -I INPUT -i eth0 -s 19XXXXXXXX.81/32 -j ACCEPT

iptables -I INPUT -i eth0 -d XXXXXXXXXXXX -j DROP
iptables -I INPUT -i eth0 -d XXXXXXXXXXXX -p tcp --dport 80 -j ACCEPT

iptables -I INPUT -p tcp --dport 80 --syn -m connlimit --connlimit-above 10 -j REJECT

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2562
  • 1709
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #1 dnia: 2020-01-31, 21:45:21 »
Nie uzywam. Ale to jest tylko nakladka na iptables.
Wiec da sie zobaczyc wszystkie reguly
 iptables -S
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline androwida

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #2 dnia: 2020-01-31, 21:59:42 »
Dziękuję Guru za odzew. Oczywiście że można. I już widzę że 587 tam nie ma. Wiec jakbyś napisał jak dodać (bo pewnie trzeba) to byłoby super.
(ja to odziedziczyłem a jestem - php Tak, serwer  Nie :(    )
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-dovecot-pop3imap
-N fail2ban-postfix
-A INPUT -p tcp -m multiport --dports 110,995,143,993 -j fail2ban-dovecot-pop3imap
-A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-postfix
-A fail2ban-dovecot-pop3imap -j RETURN
-A fail2ban-postfix -s 209.XXXXXXXXX/32 -j REJECT --reject-with icmp-port-unreachable
(itp. itp.....)
-A fail2ban-postfix -j RETURN

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 380
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #3 dnia: 2020-01-31, 22:19:50 »
Dołożyłbym:
-A INPUT -p tcp -m multiport --dports 25,465,587 -j fail2ban-postfix
marcin82

Offline androwida

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #4 dnia: 2020-01-31, 22:24:36 »
Dzięki Marcin82.
A jak to się dokłada?

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 380
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #5 dnia: 2020-01-31, 22:32:30 »
A co to jest za system (nazwa, wersja)?

Trzeba by też powiadomić program Firehol, że dla serwera "smtps" akceptujemy także port tcp/587. Zrobisz to w pliku konfiguracyjnym, przykłady masz już w swoim pliku, który wstawiłeś.

https://firehol.org/firehol-manual/firehol-services/#service-smtps
https://firehol.org/firehol-manual/firehol-conf/ (ADDING SERVICES)
« Ostatnia zmiana: 2020-01-31, 22:47:33 wysłana przez marcin'82 »
marcin82

Offline androwida

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #6 dnia: 2020-01-31, 23:12:34 »
To jest Debian 8
Co z tego że wpisuję w firehol.conf zgodnie z instrukcją
server_smtp_ports="tcp/25 tcp/587"
i restart jak to nic nie daje. Myślałem że restart uaktualnia iptables ale nie. Może nie rozumiem instrukcji albo mam zła składnię

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 380
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #7 dnia: 2020-01-31, 23:30:00 »
Musisz ustalić z jakiego skryptu biorą się obecne reguły iptables:
iptables -nvL

Zależy to wszystko od tego gdzie je wsadził poprzednik - do tamtych reguł iptables trzeba dopisać. Pokaż wyniki dwóch poleceń jako root:
dpkg -l | grep -iE 'iptables|netfilter'
find /etc/ -iname iptables*

Niektórzy zamiast korzystać z gotowych usług rzeźbili cuda w /usr/local/bin i /etc/rc.local - jak jeszcze działało. Usługa-proteza chyba do dzisiaj jest, choć nie jestem pewien.

Jak to mowią - na 2^1024 babka wróżyła :D

EDYCJA:
server_smtp_ports="tcp/25 tcp/587"
Portu 465 nie chcesz wykorzystywać czy to tylko pomyłka?
« Ostatnia zmiana: 2020-01-31, 23:35:16 wysłana przez marcin'82 »
marcin82

Offline androwida

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #8 dnia: 2020-02-01, 00:06:47 »
465 chcę używać tak samo jak 25 i 465
Wyniki wskazanych zapytań:
 iptables -nvL
Chain INPUT (policy ACCEPT 75318 packets, 21M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 77735 packets, 21M bytes)
 pkts bytes target     prot opt in     out     source               destination
 
 dpkg -l | grep -iE 'iptables|netfilter'
ii  firehol                                      1.297-1                              all          easy to use but powerful iptables stateful firewall
ii  iptables                                     1.4.21-2+b1                          amd64        administration tools for packet filtering and NAT
ii  libnetfilter-conntrack3:amd64                1.0.4-1                              amd64        Netfilter netlink-conntrack library
ii  libnfnetlink0:amd64                          1.0.1-3                              amd64        Netfilter netlink library
ii  libxtables10                                 1.4.21-2+b1                          amd64        netfilter xtables library

find /etc/ -iname iptables*
/etc/fail2ban/action.d/iptables-ipset-proto6-allports.conf
/etc/fail2ban/action.d/iptables.conf
/etc/fail2ban/action.d/iptables-multiport.conf
/etc/fail2ban/action.d/iptables-ipset-proto6.conf
/etc/fail2ban/action.d/iptables-ipset-proto4.conf
/etc/fail2ban/action.d/iptables-new.conf
/etc/fail2ban/action.d/iptables-allports.conf
/etc/fail2ban/action.d/iptables-blocktype.conf
/etc/fail2ban/action.d/iptables-xt_recent-echo.conf
/etc/fail2ban/action.d/iptables-multiport-log.conf

Offline androwida

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #9 dnia: 2020-02-01, 14:21:45 »
Marcin82

465 chcę używać tak samo jak 25 i 587.
Odpowiedzi na Twoje zapytania są w poprzednim poście

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2562
  • 1709
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #10 dnia: 2020-02-01, 16:37:17 »
androwida
Jesli mozesz, to na własnym komputerze nie zapomnij zainstalować
np. Virtualbox i na nim Debiana 
https://www.youtube.com/watch?v=3ynoN88WUsY

i na nim poćwiczyć obsługę firewall lub iptables, nftables lub innej zapory, a nawet inne narzędzia ?
1. Zwłaszcza ze wsparcie Debiana 8 kończy się chyba w czerwcu,
więc i tak będziesz musiał albo zaktualizować albo postawić system na nowo.
2. Jak zle skonfigurujesz serwer, to możesz zablokować sobie dostęp, albo otworzyć sobie jakiś port.
Dlatego tak ważne czasami jest testowanie, a potem dopiero przenoszenie.

Ja mogę polecić iptables, bo
a) jest najpopularniejsze i masz dużo przykładów w internecie
b) bo podobno można nadal przełączyć się z nftables do iptables
Ale obsługi nftables także musisz się uczyć bo to następca iptables.

Przykładowa wiedza
https://wiki.debian.org/iptables
https://morfikov.github.io/post/migracja-z-iptables-na-nftables-w-debianie/
https://www.youtube.com/watch?v=lF_mm0lAc6w
https://www.youtube.com/watch?v=eC8scXX1_1M
https://sekurak.pl/kilka-pomyslow-na-bezpieczny-serwer-linuksowy/
https://sekurak.pl/iptablespsad-jako-zaawansowany-system-wykrywania-wlaman/
https://pl.wikibooks.org/wiki/Debian_-_uniwersalna_instalacja/Konfigurowanie_iptables
https://www.thegeekstuff.com/2011/06/iptables-rules-examples/
https://linoxide.com/firewall/setup-iptable-rules-centos/
https://www.thegeekstuff.com/2011/06/iptables-rules-examples/
https://netfilter.org/documentation/

Musisz sie nauczyc korzystac chocby z takich narzedzi jak
- nmap do sprawdzania otwartych portow  https://forum.linux.pl/index.php/topic,25718.0.html
- tcpdump do sprawdzania z jakich portów i jakiego protokołu korzysta aplikacja, jesli nie wiesz,
musisz sprawdzac czy aplikacja nie ujawnia jakis niebezpiecznych danych jak hasła w linkach.
- netstat do sprawdzania czy dana usluga dziala / jaki stan posiada,
aby ewentualnie uwzględnić w zaporze https://pl.wikipedia.org/wiki/Protok%C3%B3%C5%82_sterowania_transmisj%C4%85
- aide do sprawdzania " integralności " plików.
- https://www.debian.org/doc/manuals/securing-debian-howto/

Na czas " nie wiedzy " / problemów zawsze możesz wyłączyć serwer, jeśli to nie sprawi dodatkowych problemów.
Teoretycznie powinno to być bezpieczniejsze.

Edytowane
Tu masz wsparcie do fireholl, mozesz zadac im pytanie jesli chcesz.
https://firehol.org/support/
« Ostatnia zmiana: 2020-02-01, 17:10:37 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 380
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #11 dnia: 2020-02-01, 16:51:17 »
Zwróć jeszcze uwagę na konfigurację fail2ban, wszystko będzie w plikach i katalogach w katalogu /etc/fail2ban. Fail2ban wstawia swoje łańcuchy do iptables, tyle że nie bardzo wiadomo czy cokolwiek i czy w ogóle uruchamia iptables. Przykładowy poradnik:
https://www.evoluso.com/install-fail2ban-on-debian-7-8/ .

Przejrzyj konfiguracje firehol i fail2ban i sprawdzaj po kolei gdzie można dołożyć port 587.
marcin82

Offline androwida

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #12 dnia: 2020-02-01, 18:46:05 »
Dziękuję wszystkim, którzy chcą pomóc.
Fail2ban przeczesałem w poszukiwaniu "25" Bo gdym znalazł to byłby to plik z aktywacją portów. Zero wyników.

Ale na logikę. Wyłączam firehol i port 587 działa. Włączam i przestaje działać. To powinno znaczyć, że w iptables, file2ban i gdziekolwiek indziej port nie jest blokowany a tylko firehol go blokuje.
Czy się mylę?

Firehol to raptem jeden plik z kilkunastoma linijkami kodu.
Nie wiem jak to może blokować port 587 bo nic takiego tam nie ma (treść pliku jest na początku wątku)

No ale w dokumentacji piszą, że można przypisać porty do serwisów.
No to dodaję
server_smtp_ports="tcp/25 tcp/587"
Restart i dalej nic.

Czy używacie firehol?

Wszelkie porady mile widziane

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2562
  • 1709
    • Zobacz profil
Odp: Firehol i blokada portu 587
« Odpowiedź #13 dnia: 2020-02-01, 22:32:44 »
Cytuj
Ale na logikę. Wyłączam firehol i port 587 działa. Włączam i przestaje działać. To powinno znaczyć, że w iptables, file2ban i gdziekolwiek indziej port nie jest blokowany a tylko firehol go blokuje.
Czy się mylę?
- Nie wiem czy przestaje działać, bo nie udowodniłeś. ( nmap -p587 ip_servera )
Moze inny port jest potrzebny?
- Nie widzielismy czy reguly file2ban sie zmienialy ani logow.
- Czytając tylko z wiki  "FireHOL is a shell script designed as a wrapper for iptables written"
i bardzo mozliwe ze kiedys ten skrypt przegladalem (ale nie testowalem) i mozliwe sa tam reguly  /etc/sysctl.conf
https://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/
i twojego wyniku "iptables -S" można przypuszczać, ze tylko file2ban blokuje
i po za tym masz wszystkie porty otwarte na świat dla każdego.
Ale to tylko  przypuszczenie. Z tad ta prośba byś przetestował na maszynie wirtualnej.
Nauka + test, to chyba najlepsze by było dla Ciebie.
- Nie widzielismy takze jak uruchamiasz Fireholl ani logu, moze tam jest napisane czy usluga startuje prawidlowo.
O co chodzi z Twoim "iptables -S"?
1. Nie jestem pewien czy dales przed czy po wylaczeniu Fireholl
2. Rozwijanie tematu sprowadzi sie do nauki iptables, a chodzi bys tez sie uczyl sam.
a) Masz linki wyzej do konfiguracji iptables bez fireholl, wyczytasz w nich
ze najlepiej domyslna polityke dawac na "Blokuj"
Cytuj
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
Widzialem tez w internecie na "ACCEPT", ale na koncu byla regula blokujaca wszystko inne.
b) Kolejność reguł ma znaczenie. Gdybyś zaczął od reguł domyślnej polityki, to zablokowałbyś sobie dostęp do servera.
Na wideo wyżej zobaczysz ze pierw są wpisywane reguły pozwalające na dostęp do serwera.
Wspominałem tez o testowaniu reguł na maszynie wirtualnej w celu uniknięcia pomyłki lub wadliwych reguł.
Reguly z "-A" sa nizej niz z "-I" . 
Jesli sa dwie wazne / istotne reguly w "-A" to ich kolejnosc ma znaczenie.
Np. Chce logowac wszystkich uzytkownikow z kocowka IP 200, ale to nie zadziala bo wyzej dalem wszystkich z zakresem 100-500 "DROP"
Z "-I" polecam tworzyc reguly zabezpieczajace (np. przed skanowaniem, DDOS itp), beda widoczne jako "-A", ale beda umieszczane wyzej.
Jest to widoczne wpisujac reguly z terminala.
Z "-A" beda reguly na koncu, czyli np. otwieranie portow i logowanie.
"-P" domyslna polityka bedzie blokowac wszystko inne.
c) Logowanie.
Podejrzewam ze Firehol takze pozwala na logowanie zdarzen, czego u Ciebie nie widze.
Dzieki odpowiedniemu logowaniu, mialbys pewnosc czy Firewall blokuje. gdy bys np. testowal port np. przy pomocy "ping".

Jesli z pomoca supportu firehol nie dasz rady, to naucz sie iptables, moze bedzie prosciej.
W linkach wyzej masz wiki Debiana i tam dwa sposoby na uruchamianie zapisanych reguł iptables przy starcie systemu.

Edytowane
Moze jeszcze cos?
SMTP Server (Outgoing Messages) 	Non-Encrypted     AUTH 	    25 (or 587)
                                  Secure (TLS)      StartTLS    587
                                  Secure (SSL)      SSL      465
POP3 Server (Incoming Messages) Non-Encrypted     AUTH     110
                                  Secure (SSL)      SSL     995
https://www.arclab.com/en/kb/email/list-of-smtp-and-pop3-servers-mailserver-list.html

server smtp accept = tcp/25
server submission accept = tcp/587
server smtps accept = tcp/465
https://firehol.org/firehol-manual/firehol-services/

Nie wspominajac ze usluge, w tym przypadku firehol nalezy zresetowac.

Jak znalazlem porty?
Ctrl+F w przegladarce. ( i wpisując numer portu )

Edytowane
W dokumentacji jest tez mowa o ipset, tez mozesz poczytac.
https://firehol.org/firehol-manual/firehol-ipset/
https://wiki.archlinux.org/index.php/Ipset
« Ostatnia zmiana: 2020-02-02, 00:57:10 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.