UFW gyanús tevékenység blokkolása, lazítása

Fórumok

Szaiasztok,

most ismerkedek az UFW-el. Feltettem a serveremre és azt tapasztalom, hogy nagyon érzékeny lett. A beállításain nagyon nem állítottam eddig semmit. Azaz mindent blokkol a tűzfalam most (normál használatot is, ami azt jelenti ha nincs engedélyzve az IP címem, akkor előbb utóbb kitilt a szerverem. Kérdésem, hogy ezen az érzékenységen, hogyan lehet állítani?

"cat /var/log/ufw.log" -> másodpercenként van szinte valami bejegyzés...

Esetleg engedélyezem azokat a portokat, ahol kezdeményezhetnek csatlaokozást (pl: 'ufw allow 80/tcp')?

Köszi!

Kalmi

Hozzászólások

Ez attól függ mit is csinál a szervered, weboldalak vagy levelezés van rajta? Vagy más, vagy mindkettő?
Ha weboldal, akkor ki kell nyitnod a 80-as és a 443-as portot.

Az alábbi egy egyszerű példa, ami befelé csak az ssh-t és a fent említett két portot engedélyezi. Kifelé mindent.

sudo ufw status
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Fullstack webfejlesztő vagyok közepes rendszergazdai tapasztalattal, ezt kérem vedd figyelembe ha hülyeséget írok vagy esetleg kérdezek ;)

Ispconfig 3.2 van rajta. Továbbá fail2ban és portsentry. Elméletileg az utóbbi kettő renbden működik, csau az ufw az ilyen szorgalmas.

>Akkor ebből az következik, hogy az ufw-ben is engedélyeznem kell a használatban lévő portokat. Azt gondoltam, hogy elég csak az iptables-ben szabályozni.

Ha az iptables-ben állítgatsz már most is szabályokat, akkor neked kb. felesleges használnod az UFW-t, sőt csak bezavar.
Az UFW esetében egyszerűbb parancsokkal tudod kezelni a tűzfalat, de ha jól tudom végeredményként iptables szabályokat hoz létre.

Fullstack webfejlesztő vagyok közepes rendszergazdai tapasztalattal, ezt kérem vedd figyelembe ha hülyeséget írok vagy esetleg kérdezek ;)

Igen én is érzem a zavart az erőben :), de nem teljesen értem/értettem az ufw kiegészítését az iptables-el. Elsőkörben azt gondoltam, hogy ez egyszerű kiegészítése a tűzfalnak, de arra nem gondoltam, hogy ez kerül előtérbe és beleavatkozik a rendszerembe. A könnyű beállítások tetszenek benne, de azért egy-két iptables-es beállítást nem biztos, hogy meg tudok csinálni. Így inkább lehet nyitok az ufw-ben és rábízom az iptables-re.

mivel az UFW az iptables-be dolgozik, így a "nyitás" átkerülhet oda is, szóval jobb ha inkább kikapcsolod hogy egyáltalán ne nyúljon bele és akkor te majd manuálisan heggeszted az iptables-t
ha az `iptables -L` listában vannak még "Chain ufw-......... bejegyzések, akkor az UFW által létrehozott szabály
 

Fullstack webfejlesztő vagyok közepes rendszergazdai tapasztalattal, ezt kérem vedd figyelembe ha hülyeséget írok vagy esetleg kérdezek ;)

Viszont ha időnként kitilt a rendszer, az inkább a fail2ban-tól lehet, mert az figyeli a logokat és X hibás bejelentkezés után blokkolja az IP-t.
És a fail2ban szintén iptables szabályokat hoz létre.

Fullstack webfejlesztő vagyok közepes rendszergazdai tapasztalattal, ezt kérem vedd figyelembe ha hülyeséget írok vagy esetleg kérdezek ;)

azért mert érkeznek rá a kéretlen kérések, ez így is fog maradni, ha zavar valahol ki lehet kapcsolni hogy ne loggolja a droppolt kéréseket
olyan gépemre ahol se mail portok, se webszerver portok nincsenek is beesik percenként 1-4 kérés, ilyen az internet :)

Fullstack webfejlesztő vagyok közepes rendszergazdai tapasztalattal, ezt kérem vedd figyelembe ha hülyeséget írok vagy esetleg kérdezek ;)

Nem, sajnos nem az volt:

cat /var/log/ufw.log | grep 84.236.18.95
Oct 21 11:39:28 admin kernel: [914728.214708] [UFW BLOCK] IN=eth0 OUT= MAC=00:50:::1d:48:74:83:ef:4e:ad:b9:08:00 SRC=84.236.18.95 DST=11.97.146.220 LEN=52 TOS=0x00 PREC=0x00 TTL=116 ID=1238 DF PROTO=TCP SPT=17593 DPT=17791 WINDOW=64240 RES=0x00 SYN URGP=0
Oct 21 11:39:29 admin kernel: [914729.229199] [UFW BLOCK] IN=eth0 OUT= MAC=00:50:::1d:48:74:83:ef:4e:ad:b9:08:00 SRC=84.236.18.95 DST=11.97.146.220 LEN=52 TOS=0x00 PREC=0x00 TTL=116 ID=1239 DF PROTO=TCP SPT=17593 DPT=17791 WINDOW=64240 RES=0x00 SYN URGP=0
Oct 21 11:39:31 admin kernel: [914731.233158] [UFW BLOCK] IN=eth0 OUT= MAC=00:50:::1d:48:74::ef:4e:ad:b9:08:00 SRC=84.236.18.95 DST=11.97.146.220 LEN=52 TOS=0x00 PREC=0x00 TTL=116 ID=1240 DF PROTO=TCP SPT=17593 DPT=17791 WINDOW=64240 RES=0x00 SYN URGP=0
Szerkesztve: 2021. 11. 02., k – 18:24

Találtam egy megoldást amit részben értek:

https://serverfault.com/questions/957652/ufw-logging-a-block-on-a-permi…

https://askubuntu.com/questions/803276/ufw-block-syslog-tcp-ip-is-block…

 

ufw status
Status: active

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
25                         ALLOW       Anywhere
21                         ALLOW       Anywhere
20                         ALLOW       Anywhere
53                         ALLOW       Anywhere
110                        ALLOW       Anywhere
143                        ALLOW       Anywhere
993                        ALLOW       Anywhere
995                        ALLOW       Anywhere

 

Kérdésem, hogy ezek közül melyik portot érdemes törölni és bele tenni "/etc/ufw/before.rules" szabályokhoz? Esetleg erre van valakinek valami javaslata, gyakorlata?

Ez mind attól függ hogy mit fog "csinálni" a szervered:

- weboldalak kiszolgálása (nginx/apache)?
- levelező (mail) szerver?
- DNS szerver?
- FTP szerver?
- vagy?

Itt tudod megnézni melyik port mire való: https://hu.wikipedia.org/wiki/TCP_%C3%A9s_UDP_portsz%C3%A1mok_list%C3%A…

Fullstack webfejlesztő vagyok közepes rendszergazdai tapasztalattal, ezt kérem vedd figyelembe ha hülyeséget írok vagy esetleg kérdezek ;)

A netstat tulipán hogy néz ki? (netstat -tlpn) Egyébként meg döntsd el, hogy ufw-t használsz, vagy kézzel molyolod a csomagszűrő szabáűlyokat - ami egyébként lehet, hogy nem iptables, hanem már nft...

Szóval kezdjük az elején...
-Milyen disztribúció, melyik verziója?
-Milyen szolgáltatások futnak rajta?
Aztán jöhet a csomagszűrő beállítása, illetve a fail2ban kikalapálása, illetve az ssh-s bejelentkezés biztonságának tovább növelése: jelszó helyett csak kulcsos auth, megfejelve kétfaktoros azonosítással, mondjuk Google Authenticator használatával.

Szerkesztve: 2021. 11. 02., k – 22:30

Nem. A kérdésem arra irányult, hogy hozzá adni, mint kivételt így érdemes (ufw allow from 22), vagy inkább ide szúrjam be "/etc/ufw/before.rules" a leírtak szerint? Erre van-e valami "szabvány", protokol?

ufw allow 22 # 22-es portot engedélyezed

ufw allow ssh # ssh protokolhoz tartozó portot (22) engedélyezed

ufw allow from 8.8.8.8 # a 8.8.8.8 ip-ről érkező kéréseket engedélyezed

4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.

Ha az ufw-t használod, akkor "ufw ..." satöbbi parancsokkal operálj. Ha jól rémlik, a fail2ban az ufw-t használja ubuntun a csomagszűrő matatására (banaction ufw), ergo te se matasd "kézzel" a csomagszűrést, ez az egyik. A másik, hogy a fail2ban emlékeim szerint az INPUT lánc legelejére szúrja be magát, vagyis az "ufw allow..." által bepakolt szabályok előtt érvényesül a tiltás, úgyhogy tippre valóban a before.rules lesz a barátod akkor, ha egy adott IP-t szeretnél "megvédeni" attól, hogy a fail2ban ki3.14csázza :-)

"ha nincs engedélyzve az IP címem, akkor előbb utóbb kitilt a szerverem" - az a fail2ban, ami a csomagszűrőben tilt, ha sok sikertelen/elutasított/hibás kapcsolódás(i kísérlet) érkezik a fail2ban által figyelt szolgáltatásokra (pl. ssh-n 5 sikertelen login adott IP-ről - már megy is az IP a tiltólistára mindenestől.)

 

Nem! Pont ez a lényeg, hogy nem a fail2ban tilt ki! A fail2bannek, ehhez szerintem semmi köze nincs (szerintem)... Az UFW kezd el dolgozni. Kb. másodpercenként tesz valamilyen blokkot a logjába. Ahogyan annó írtam https://hup.hu/comment/2689323#comment-2689323 vagy itt is ltható https://askubuntu.com/questions/803276/ufw-block-syslog-tcp-ip-is-block… (nem az enyém).

Pl: Letiltja az IP-m, megnézem a fail2ban-t, de itt az IP-m nem találom:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

 

A az UWF logjában viszont igen és nem is egy helyen....

Ha az iptables-save kimenetében nem látod az IP-det, illetve a fail2ban lojában sem, akkor valóban nem ott történik a tiltás, bár a "kitilt a szerverem"-nél többet még nem tudtunk meg erről a problémádról - a "kitiltott" állapotban egy tcpdump kimenete a próbálkozás "mindkét végén" hasznos lehet...

Valóban nem fogalmaztam pontosan. Logikusan azt gondoltam, hogy valami "normális", érzékeny beállítás. Természetesen az "iptables -L -n" se hozza a letiltott IP címemet. Csak a jelzett UFW logban van. Ha lekapcsolom az UFW-t, akkor rendesen megy minden. Ezért nem értettem én se az egészet, hogy mi a fene ez.....