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-networking-3/determining-inbound-vs-outbound-868549/
ktos ma takie same problemy.
Tutaj: https://russellrockefeller.wordpress.com/2014/10/23/linux-check-number-of-outbound-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.[/quote]
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-sockets-network-connections.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)
------------------------------------------------------------------------------------
"Inveniam viam aut faciam" : I will either find a way, or I shall make one
"Złoto to pieniądz królów, srebro to pieniądz dżentelmenów, barter to pieniądz chłopów ale dług to pieniądz niewolników."
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:
[img]https://nmap.org/book/images/hdr/MJB-TCP-Header-800x564.png[/img]
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[/quote]
To tylko pomysl, wolna wymiana mysli# netstat -tupan | grep -i established[/quote]
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)
------------------------------------------------------------------------------------
"Inveniam viam aut faciam" : I will either find a way, or I shall make one
"Złoto to pieniądz królów, srebro to pieniądz dżentelmenów, barter to pieniądz chłopów ale dług to pieniądz niewolników."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/63539508700411522956006/logging-outgoing-connections-as-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 )[/quote]
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. xDOstatnio 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[/quote]
To sie zgadza, tylko, ze jest juz po konfigu zaporySYN w łańcuchu OUTPUT[/quote]
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)
------------------------------------------------------------------------------------
"Inveniam viam aut faciam" : I will either find a way, or I shall make one
"Złoto to pieniądz królów, srebro to pieniądz dżentelmenów, barter to pieniądz chłopów ale dług to pieniądz niewolników."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[/quote]
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:Kod:
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 REJECTA z CLI bedzie trzeba sie pozegnac?
Ostatnio edytowany przez Novi-cjusz (2016-01-23 14:41:27)
------------------------------------------------------------------------------------
"Inveniam viam aut faciam" : I will either find a way, or I shall make one
"Złoto to pieniądz królów, srebro to pieniądz dżentelmenów, barter to pieniądz chłopów ale dług to pieniądz niewolników."
Offline
[quote=Novi-cjusz]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.
....[/quote]
Monitoringu potrzebujesz?
bezpośrednio na konsoli w ładnych kolorkach może być?
Wychodzące ([b]cat `which sport`[/b]):
#!/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([b]cat `which dport`[/b]):
#!/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
[quote=Novi-cjusz]@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.[/quote]
To nie jest tutek.
Instalujesz [b]sudo[/b], [b]iptstate[/b] z repo, wrzucasz te skrypty do [b]/usr/local/bin/[/b], uprawnienia do wykonania i gotowe.
Programik: https://packages.debian.org/jessie/iptstate
Musisz tylko dla [b]iptstate[/b] dać regułkę w [b]/etc/sudoers[/b] (edycja tylko poleceniem [b]visudo[/b]), żeby [b]sudo[/b] odpalało go bez autoryzacji, bo [b]iptstate[/b] 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
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00006 | SET NAMES latin2 |
0.00162 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.147.80.100' WHERE u.id=1 |
0.00081 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.80.100', 1728060795) |
0.00043 | SELECT * FROM punbb_online WHERE logged<1728060495 |
0.00060 | SELECT topic_id FROM punbb_posts WHERE id=296200 |
0.00007 | SELECT id FROM punbb_posts WHERE topic_id=28170 ORDER BY posted |
0.00067 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28170 AND t.moved_to IS NULL |
0.00024 | SELECT search_for, replace_with FROM punbb_censoring |
0.00179 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28170 ORDER BY p.id LIMIT 0,25 |
0.00098 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28170 |
Total query time: 0.00741 s |