Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Przyszla mi dzis do glowy mysl, ze byloby dobrze znac komende sieciowa, ktora uporzadkowuje polaczenia/traffic wg kryterium IN i OUT, np:
IN:
Port. Protokol. Aplikacja Inne
.... ..... ...... ......
.... .... ..... ......
OUT:
jw.
Szukalem w Necie, ale takiego rozwiazania nie znalazlem. (netstat -tulpn, netstat -a, netstat -nputw, netstat -antup , netstat -an | less,netstat -an | grep -i tcp | grep ESTABLISHED | less, i podobne) http://www.binarytides.com/linux-netstat-command-examples/
Chcialbym miec wydzielone wszystkie polaczenia wychodzace.
Pozdrawiam.
Ostatnio edytowany przez Novi-cjusz (2016-01-23 13:30:18)
Offline
Tak de facto połączenia IN OUT właściwie nie istnieją, Zwróc uwagę np. na SSH - klient inicjuje połączenie ale jest ono dwukierunkowe. Pod jakąś kategorię podpiąć ssh po stronie klienta? OUT? Bo ruch wychodzi-on inicjuje połączenie? Ale de facto więcej pakietów leci z serwera do klienta niż odwrotnie.
Offline
Odpowiem pytaniem, to na jakiej zasadzie firewall zablokuje wszystkie wychodzace polaczenia z klienta SSH?
A jednak to robi.
Mysle, ze problem jest w semantyce.
Jaka komenda wylistowac wszystkie!! tylko wychodzace polaczenia?
Wszystkie polaczenia (kontynuowane, forwardowane, zainicjowane) opuszczajace nasz komputer.
Jestem pewien ze ma to fundamentalne znaczenie dla bezpieczenstwa.
Ostatnio edytowany przez Novi-cjusz (2016-01-23 10:08:31)
Offline
Firewall blokuje pakiety. Tzn jak pakiet próbuje opuścić nasz komputer albo jak próbuje się do niego dostać. W przypadku połączeń ciężko jest rozdzielić IN, OUT. W przypadku pakietów wewnątrz połączenia jest już łatwiej rozróżnić IN-OUT. Bo pakiet idzie w jedną albo w drugą stronę.
Ale oczywiście ktoś mądrzejszy może znać prawdziwszą prawdę ;)
Offline
Rozumiem, dziekuje, czekamy;)
Tutaj: http://www.linuxquestions.org/questions/linux-netwo … bound-868549/
ktos ma takie same problemy.
Tutaj: https://russellrockefeller.wordpress.com/2014/10/23 … -connections/
o liczbie polaczen.
Niestety bez wydzielenia "wychodzacych"
Ostatnio edytowany przez Novi-cjusz (2016-01-23 10:39:43)
Offline
2598
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:32:03)
Offline
Kombinuje.
Polaczenie to ciag pakietow, kazdy pakiet kazdego protokolu/polaczenia ma naglowek z danymi.
Jaka komenda pogrupowac te same pakiety (z tymi samymi naglowkami) aby z milionow pakietow utworzyc kilkaset polaczen?
A skoro:
Jeśli pakiet pochodzi z PC i wychodzi przez interfejs sieciowy, to jest to pakiet wyjściowy.
to majac dane pakietu ma sie rowniez dane polaczenia.
Moze to jest rozwiazanie za pomoca Conky? http://forums.linuxmint.com/viewtopic.php?p=1081813
Listowanie polaczen sieciowych wg roznych kryteriow: http://www.binarytides.com/linux-ss-command/
http://www.cyberciti.biz/tips/linux-investigate-soc … nections.html
Tak sobie mysle, ze bez kontroli ruchu wychodzacego w ogole nie mozna mowic o bezpieczenstwie kompa.
Bezsensowny pobyt w swiecie zludzen o bezpieczenstwie.
Ostatnio edytowany przez Novi-cjusz (2016-01-23 12:41:27)
Offline
To generalnie zależy od tego czy zapora jest stanowa czy bezstanowa. Ta pierwsza ma moduł conntrack, który umożliwia dopasowanie pakietów w oparciu o ich stany. A stanów mamy 3: NEW, ESTABLISHED, RELATED. Są jeszcze UNTRACKED i INVALID i chyba coś tam jeszcze. W każdym razie, zwykle są używane te dwa pierwsze, a wszystko pozostałe leci do ostatniego. Oczywiście to dotyczy TCP. Stany są rozpoznawane po nagłówku pakietu, w których są flagi i te powyższe stany identyfikują konkretne ustawienia flagi:
Za nowe połączenia odpowiada NEW i te pakiety mają ustawioną flagę SYN. I w sumie wystarczy zaporę pod te pakiety sobie dobrać, tak by zarządzać połączeniami w protokole TCP. Reszta nie ma znaczenia, bo jak się zablokuje te pojedyncze pakiety SYN, to komunikacja nigdy nie zostanie nawiązana, a jak się przepuszcza pakiety w stanie SYN, to i też wypadałoby przepuścić ESTABLISHED i RELATED, bo to chyba oczywiste. xD Dlatego zwykle są dwie reguły, jedną od ESTABLISHED i RELATED, druga od konkretnych pakietów SYN, np. połączenia na port 80, z adresu x.x.x.x należy przepuścić, itp.
Offline
To jest swietny material pogladowy, alee dot glownie zapor stanowych z modulem conntrack.
Techniczny aspekt polityki obronnej.
Natomiast ja mialem na mysli prostsza sytuacje (jeszcze przed konfigiem zapory).
Otwieram konsole, wklepuje komende i .... mam liste polaczen OUTbund (ciekawa komenda: ss -tn state established dst :*), widze co mi wycieka z kompa, dokad idzie i co dalej z tym robic, to juz inna sprawa;)
Chce zobaczyc wszystkie wychodzace polaczenia, a dopiero nastepnie dokonac selekcji na: niezbedne i "szkodniki"
Ostatnio edytowany przez Novi-cjusz (2016-01-23 12:54:38)
Offline
Można też w netstat:
# netstat -tupan | grep -i established Active Internet connections (servers and established) tcp 0 40880 192.168.1.150:12345 89.252.16.43:60226 ESTABLISHED 1601/qbittorrent-no tcp 0 0 192.168.1.150:56060 64.233.161.16:993 ESTABLISHED 2055/thunderbird
Można po procesach jechać, niekoniecznie po stanach. xD
Ostatnio edytowany przez morfik (2016-01-23 13:11:21)
Offline
W pierwszym wpisie podalem kilka podobnych:
netstat -tulpn, netstat -a, netstat -nputw, netstat -antup , netstat -an | less,netstat -an | grep -i tcp | grep ESTABLISHED | less
To tylko pomysl, wolna wymiana mysli
# netstat -tupan | grep -i established
Jak zrobic, zeby w tej komendzie "established" dotyczylo wylacznie OUTgoing?
Sam fakt, ze monitoring ruchu wychodzacego jest "dyskretna wiedza tajemna " daje wiele do myslenia.
Ostatnio edytowany przez Novi-cjusz (2016-01-23 13:32:19)
Offline
Przecie napisali ci wyżej. xD Established znaczy połączenie ustanowione, a ustanowione połączenie wiążę ze sobą da punkty. Co najwyżej to możesz próbować łapać SYN_SENT, bo to oznacza, że twój komp wysłał gdzieś pakiet SYN, czyli próbował nawiązać połączenie. Ale to się odbywa tak szybko, że raczej większości prób połączeń w ten manualny sposób nie wyłapiesz. xD Podobnie z tymi pakietami SYN, które docierają do kompa. Jak chcesz się to bawić, to log w iptables, tam wyłapie wszystkie pakiety SYN w obu kierunkach.
Offline
Oczywiscie, to prawda, ale " established " moze obejmowac zarowno "input" jak rowniez "outgoing"
A mnie interesuje w tym wypadku wylacznie Egress.
Ciekawa sugestia: http://unix.findincity.net/view/6353950870041152295 … s-they-happen
Ostatnio edytowany przez Novi-cjusz (2016-01-23 13:39:39)
Offline
Interesują cię pakiety wychodzące, które zostały przypisane do jakiegoś otwartego połączenia (stan established). Mogę zapytać dlaczego? xD
No i co ci po takim wpisie?:
tcp 6 28326 ESTABLISHED src=192.168.1.150 dst=64.233.161.16 sport=56060 dport=993 src=64.233.161.16 dst=192.168.1.150 sport=993 dport=56060 [ASSURED] mark=2 use=2
Ostatnio edytowany przez morfik (2016-01-23 13:47:50)
Offline
Bardziej niz detale pakietow interesuja mnie wszystkie polaczenia wychodzace z mojego kompa.
Czyli: all connections + established + outgoing + src (moje IP )
Offline
Czyli: all connections + established + outgoing + src (moje IP )
Nie wiem co to jest. xD
Jeśli cię interesują połączenia wychodzące, to loguj sobie na zaporze pakiety w stanie SYN w łańcuchu OUTPUT i będziesz miał "połączenia wychodzące" z twojego kompa. xD
Ostatnio edytowany przez morfik (2016-01-23 14:06:36)
Offline
Jeśli cię interesują połączenia wychodzące, to loguj sobie na zaporze pakiety w stanie SYN w łańcuchu OUTPUT i będziesz miał "połączenia wychodzące" z twojego kompa. xD
To sie zgadza, tylko, ze jest juz po konfigu zapory
SYN w łańcuchu OUTPUT
Ja myslalem prosciej tzn: konsola + komenda i dopiero w oparciu o uzyskana liste polaczen wychodzacych - selektywna konfiguracja zapory.
Nie udalo mi sie tego uzyskac za pomoca komendy " netstat + opcje "
Przy okazji: ktore porty musza byc zawsze otwarte, zeby sie nie "odciac" od Internetu? Ta komenda: egrep '(your|list|items|here)' /etc/services | awk '{print $2}' podaje podaje wylacznie 372 dla TCP i UDP, a gdzie DHCP, DNS,HTTP, inne?
Ostatnio edytowany przez Novi-cjusz (2016-01-23 14:23:29)
Offline
A z logów firewalla nie możesz budować regułek dla niego?
Offline
Tak na dobrą sprawę to "połączenie" oznacza, jak nazwa wskazuje, że coś ze sobą się łączy. Dlatego określenia "połączenie wychodzące" i "połączenie przychodzące" są bez sensu. Co najwyżej to może być ruch przychodzący i wychodzący, a ruch oznacza pakiety, które są przesyłane między dwoma punktami w połączeniu. Połączenie albo jest albo go nie ma, a przy założeniu, że go nie ma, to trzeba je utworzyć i za to odpowiadają pojedyncze pakiety SYN.
Netfilter, to jest filtr pakietów, on potrafi zalogować ci każdy pakiet w oparciu o to jakie mu podasz opcje. Jeśli ma zalogować pakiet SYN w łańcuchu OUTPUT w tablicy filter, to to zrobi i przy okazji poda ci dodatkowe info min. o adresach i portach i będziesz widział, z czym ci się komp próbuje połączyć, tj. gdzie wysyła pakiety SYN.
Ostatnio edytowany przez morfik (2016-01-23 14:26:20)
Offline
Moge, to sposob podany przez "morfika" jest O,k.
Natomiast ja szukalem i szukam prostego sposobu monitoringu i administracji ustanowionego ruchu wychodzacego za pomoca CLI.
Mysle, ze to ciekawa sprawa.
@morfik
Co najwyżej to może być ruch przychodzący i wychodzący
Mysle, ze tak jest precyzyjniej, a w konsekwencji wracamy do punktu wyjscia, ze analize ruchu wychodzacego musimy zaczac od modulu conntrack i logowaniu pakietow z flaga SYN w lancuchu OUTPUT, lub restrykcyjne regoly iptables np:
iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A OUTPUT -j REJECT
A z CLI bedzie trzeba sie pozegnac?
Ostatnio edytowany przez Novi-cjusz (2016-01-23 14:41:27)
Offline
Novi-cjusz napisał(-a):
Moge, to sposob podany przez "morfika" jest O,k.
Natomiast ja szukalem i szukam prostego sposobu monitoringu i administracji ustanowionego ruchu wychodzacego za pomoca CLI.
Mysle, ze to ciekawa sprawa.
....
Monitoringu potrzebujesz?
bezpośrednio na konsoli w ładnych kolorkach może być?
Wychodzące (cat `which sport`):
#!/bin/bash declare ROUTEIP=$(which ip); declare GAWK=$(which awk); declare ADRES=$(for karta in `$ROUTEIP r s | $GAWK '$1 == "default" {print $5}'`; do $ROUTEIP r s |$GAWK -v DUPA=$karta '$3==DUPA {print $9}'; done;); ### sleep 1; ### echo "Moje IP to $ADRES"; /usr/bin/sudo /usr/sbin/iptstate -f -s ${ADRES}; exit 0;
Przychodzące(cat `which dport`):
#!/bin/bash declare ROUTEIP=$(which ip); declare GAWK=$(which awk); declare ADRES=$(for karta in `$ROUTEIP r s | $GAWK '$1 == "default" {print $5}'`; do $ROUTEIP r s |$GAWK -v DUPA=$karta '$3==DUPA {print $9}'; done;); ### sleep 1; ### echo "Moje IP to $ADRES"; /usr/bin/sudo /usr/sbin/iptstate -f -d ${ADRES}; exit 0;
Co do CLI, to to nftables ma tryb CLI, ale używa się chooojowo, jak wszystkie CLI, bo stosunkowo łatwo o literówkę.
Ja wolę klepać skrypty i konfigi.
Ostatnio edytowany przez Jacekalex (2016-01-23 15:38:15)
Offline
@Jacekalex
Za wysokie progi jak na moje nogi, niestety nie potrafie wlasciwie wprowadzic moich indywidualnych danych sieciowych do podanego przez ciebie skryptu.
Prosze o maly tutek.
Offline
2600
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:32:06)
Offline
@uzytkownikubunt
Jestes w wielokrotnym bledzie:
- nie mam z tego nawet 1 grosza i pewnie nie bede mial.
- chce miec wyzszy poziom bezpieczenstwa, bo mi sie wiele rzeczy w Internecie nie podoba
- odnosnie zaplaty to docieraja sprzeczne sygnaly, w tej chwili to juz naprawde nie wiem co myslec.
- bardzo sobie cenie mozliwosc korespondencji z inteligientnymi ludzmi, dzieki ktorym moge sie czegos nowego nauczyc!!! Wole rozwiazywac z Wami jakis problem, niz ogladac TV, to jest znacznie ciekawsze..
- forum DUG stalo sie czescia mojej codziennosci i czesto w nocy wymyslam problem (na moja skale) zastanawiajac sie jak Wy byscie go rozwiazali.
- Jezeli chodzi o nauke to dzieki Wam zrobilem ogromne postepy, poniewaz jeszcze niedawno nie wiedzialem nic
- Wlozylem bardzo wiele pracy, zeby przeniesc sie z Windows na Debiana. samo nie przyszlo, wiele rzeczy jest trudniejszych a ja mam stare nawyki. Moge uczciwie powiedziec, ze jak sie sam ucze to zabiera ok 10x wiecej czasu, niz z Wasza pomoca, a efekt ten sam.
czesto nawet nie wiem czy to czego sie ucze jest aktualne i wlasciwe. To co jest latwe dla adminow dla samouka jest droga cierniowa. Gdybym mial mozliwosc isc na kurs z wykladowcami, ale nawet tam nie wszyscy wszystko rozumieja i ciagle pytaja.
- Bezpieczenstwo Sieci to bardzo rozlegly i obszerny temat na ktory napisano wiele madrych ksiag np "Sieciowy wojownik" Temat ktory ciagle ewoluuje, nikt nie urodzil sie geniuszem sieciowym, wszyscy na poczatku dostali ta wiedze od kogos, a nastepnie
z takich czy innych motywow ja juz sami dalej rozwijali. Ty tez zawdzieczasz swoje umiejetnosci najpierw temu kto ciebie nauczyl podstaw, a nastepnie wlasnej domyslam sie, ze wieloletniej pracy.
- Na nauke Debian (systemu niszowego z dobrymi perspektywami - ponizej 1% rynku) mam rzeczywiscie ograniczony czas, ale wykorzystuje kazda chwile, bo to autentycznie polubilem i doprowadze do konca. Bez Was byloby 10x trudniej.
- Swoja droga mysle, ze dzielenie sie widza powinno sprawiac przyjemnosc, a nie byc wylacznie siermieznym obowiazkiem.
Offline
Novi-cjusz napisał(-a):
@Jacekalex
Za wysokie progi jak na moje nogi, niestety nie potrafie wlasciwie wprowadzic moich indywidualnych danych sieciowych do podanego przez ciebie skryptu.
Prosze o maly tutek.
To nie jest tutek.
Instalujesz sudo, iptstate z repo, wrzucasz te skrypty do /usr/local/bin/, uprawnienia do wykonania i gotowe.
Programik: https://packages.debian.org/jessie/iptstate
Musisz tylko dla iptstate dać regułkę w /etc/sudoers (edycja tylko poleceniem visudo), żeby sudo odpalało go bez autoryzacji, bo iptstate do monitorowania połączeń musi mieć uprawnienia roota, np:
TWÓJ_LOGIN localhost=(root) NOPASSWD: /usr/sbin/iptstate
albo, jak potrzebujesz różne nazwy hostów:
Host_Alias HOSTY = localhost, host2, innyhost ... ... TWÓJ_LOGIN HOSTY =(root) NOPASSWD: /usr/sbin/iptstate
SOA#1
Pozdro
Ostatnio edytowany przez Jacekalex (2016-01-23 17:26:20)
Offline