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/.
Strony: 1
Witam moze moje pytanie jest tendencyjne bo wiem jak zabezpieczyc serwer lecz denerwuje mnie to ze za kazdym razem musze wpisywac ip ktore sie laduje na moj serwer.
Zazwyczaj sa to ip z chin jak stworzyc sobie liste np w osobnym pliku z zakresami ip zeby w moim firewalu przez iptables blokowac te ip z osobnego pliku.
I jaki zakres ip wpisac dla tych chin bo juz mnie to zaczyna denerwowac. Moj firewal teraz wyglada jak ksiega ip a nie jak firewal bo caly plik to iptables .........ip -j DROP
Moze macie jakies ciekawe proste rozwiazania.
Offline
while read ip; do iptables .... $ip ..... -j DROP; done < plik_z_blokowanymi_adresami_IP
Offline
[quote=bercik]
while read ip; do iptables .... $ip ..... -j DROP; done < plik_z_blokowanymi_adresami_IP
[/quote]
nie dziala to co podales.
Offline
dodaje regulki i one nie dzialaja czy tez zwraca jakis blad przy samym wywolaniu?
(rozumiem ze uzupelniles .... odpowiednia skladnia iptables i wstawiles w odpowiednim miejscu skryptu firewalla ...)
Offline
dodaje uruchamia sie ale nie dziala wstawilem ip kolegi i on moze sie laczyc z moim serwerem bez problemu
Offline
a wstawiles w odpowiednim miejscu ... przeanalizuj/pokaz moze wynik iptables -L -n
Offline
ok prosze jeszcze podaj mi cala skladnie jak to ma wygladac bez kropek bo moze ja tam cos zle wpisuje
bo ja wpisuje tak
while read ip; do iptables -A INPUT -s $ip -j DROP; done < plik_z_blokowanymi_adresami_IP
Czy cos jeszcze dopisuje po $ip?
Offline
to wyglada ok, jest jeszcze kwestia w ktorym miejscu masz to wstawione (iptables jest wrazliwe na kolejnosc regol) ... dlatego prosilem o wyik iptables -L -n
Offline
Może po prostu użyj geoip z xtables-addons([url=http://people.netfilter.org/acidfu/geoip/howto/]1[/url] i [url=http://xtables-addons.sourceforge.net/]2[/url]) albo coś od firmy MAXMIND([url=http://nfsec.pl/techblog/56]1[/url] i [url=http://geolite.maxmind.com/download/geoip/]2[/url]). Ja użyłbym pierwszego rozwiązania, drugie musisz jeszcze oskryptować.
Offline
[quote=bercik]to wyglada ok, jest jeszcze kwestia w ktorym miejscu masz to wstawione (iptables jest wrazliwe na kolejnosc regol) ... dlatego prosilem o wyik iptables -L -n[/quote]
Mam tak
#!/bin/sh # interfejsy LO_IFACE="lo" WAN_IFACE="eth1" LAN_IFACE="eth0" WAN_IP=`ifconfig $WAN_IFACE | grep inet | cut -d : -f 2 | cut -d ' ' -f 1` LAN_IP=`ifconfig $LAN_IFACE | grep inet | cut -d : -f 2 | cut -d ' ' -f 1` #adresy IP LO_IP="127.0.0.1" # Åcieżka do iptables IPTABLES="/usr/sbin/iptables" # Wlaczenie mechanizmu wykrywania oczywistych falszerstw echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter # Ochrona przed atakiem typu Smurf echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Nie aktceptujemy pakietow "source route" echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route # Nie przyjmujemy pakietow ICMP rediect, ktore moga zmienic tablice routingu echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects # Wlaczamy ochrone przed blednymi komunikatami ICMP error echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses # Wlacza logowanie dziwnych (spoofed, source routed, redirects) pakietow echo "1" > /proc/sys/net/ipv4/conf/all/log_martians # Limitowanie sesji tcp echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout echo "2400" > /proc/sys/net/ipv4/tcp_keepalive_time echo "0" > /proc/sys/net/ipv4/tcp_window_scaling echo "0" > /proc/sys/net/ipv4/tcp_sack echo "20" > /proc/sys/net/ipv4/ipfrag_time echo "1280" > /proc/sys/net/ipv4/tcp_max_syn_backlog # TCP timestamps protection echo "1" > /proc/sys/net/ipv4/tcp_timestamps # Ignore redirected packets echo "0" > /proc/sys/net/ipv4/conf/all/send_redirects # uruchomienie przekazywania pakietow IP miedzy interfejsami echo "1" > /proc/sys/net/ipv4/ip_forward # uniemożliwia udostepnianie netu dalej echo "1" > /proc/sys/net/ipv4/ip_default_ttl #$IPTABLES -t mangle -A PREROUTING -i ${LAN_IFACE} -j TTL --ttl-set 1 # czyszczenie regul iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -t nat -X iptables -t mangle -X #iptables -F -t nat #iptables -X -t nat #iptables -F -t filter #iptables -X -t filter # ustawienie polityk na DROP iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i ${LO_IFACE} -j ACCEPT iptables -A FORWARD -o ${LO_IFACE} -j ACCEPT #blokowanie ip while read ip; do iptables -A INPUT -s $ip -j DROP; done < blok_ip
I nie działa
Offline
1. lepiej podac pelna sciezke do blok_ip
2. jaka zawartosc ma ten plik
3. tutaj widac co powinno byc ... a 'iptables -L -n' pokazuje co jest ...
Offline
Witam
Wielkim ekspertem nie jestem - ale kiedy kombinowałem z patch-o-matic-ng - to tam był moduł geoip do firewalla.
http://people.netfilter.org/peejix/geoip/howto/geoip-HOWTO.html
Natomiast Fali2ban jest niezły - lecz zżera moc obliczeniową procka - której na ogół trochę brakuje.
Radzę ssh i inne "delikatne" usługi - które mają być ukryte- przenieść na inne porty, do tego kilka reguł z użyciem [b]ipt_recent[/b] - analogicznie do sposobu na ssh z FAQ - lecz nie dla samego ssh - ale do zakresu portów - najlepiej wszystkich - z wyjątkiem http.
Lista adresów IP ze skryptu trochę niepraktyczne - kilka tysięcy pozycji - wtedy firewall ma trochę za dużo sprawdzania - inaczej trwa sprawdzanie 200 reguł - inaczej 5000 reguł.
Analogicznie do failbana - obciążenie procka.
Lepiej zrób osobny łańcuch do usługi smtp - i wrzuć do niego RBL ze spamhausu - nie jest zbyt ogromna - za to oszczędza masę roboty serwerowi smtp (sprawdzanie RBL) - http://www.spamhaus.org/faq/answers.lasso?section=DROP%20FAQ
Dla HTTP - jeśli masz apacha - to jest moduł security - który można spiąć z firewallem przez httpd-guardian,
jeśli nginx lub lighthttpd - to też możesz pokombinować z firewallem ( [b]limit[/b], [b]ACCOUNT[/b], itp)
Do tego - ewentulanie - na skanery portów[b] ipt_TARPIT[/b] (też z p-o-m) - i powinno być ok.
Pozdr.
Ostatnio edytowany przez Jacekalex (2009-10-25 21:46:16)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00101 | 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.145.33.244' WHERE u.id=1 |
0.00069 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.33.244', 1732529037) |
0.00045 | SELECT * FROM punbb_online WHERE logged<1732528737 |
0.00223 | DELETE FROM punbb_online WHERE ident='18.222.78.65' |
0.00059 | DELETE FROM punbb_online WHERE ident='3.129.216.15' |
0.00060 | DELETE FROM punbb_online WHERE ident='3.144.42.233' |
0.00065 | DELETE FROM punbb_online WHERE ident='85.208.96.199' |
0.00020 | SELECT topic_id FROM punbb_posts WHERE id=130450 |
0.00143 | SELECT id FROM punbb_posts WHERE topic_id=15195 ORDER BY posted |
0.00095 | 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=15195 AND t.moved_to IS NULL |
0.00004 | SELECT search_for, replace_with FROM punbb_censoring |
0.00107 | 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=15195 ORDER BY p.id LIMIT 0,25 |
0.00072 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=15195 |
Total query time: 0.01079 s |