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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2017-04-21 12:36:24

  monter - Nowy użytkownik

monter
Nowy użytkownik
Zarejestrowany: 2017-04-21

Firewall z działającym ssh.Pomocy :)

cześć .

Postawiłem routerek wg opisu z https://dug.net.pl/tekst/31/udostepnienie_polaczenia_internetowego_(masq)/ 2 sieciowki eth0 net z dhcp i modem do niej wpięty  ,eth1 lan 10.0.0.1/24
i mam problem z odblokowaniem ssh na porcie 50123 żeby łączyć się z netu . (konfig sshd.conf skopiowałem z działającego )

Po dodaniu regułki dostęp do ssh po lan całkiem się wyłaczył a po wan też nie działa : iptables -A INPUT -p tcp --dport 50123 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 50123 -m conntrack --ctstate ESTABLISHED -j ACCEPT


Jaka reguła by była prawidłowa ? nie mogę zbytnio eksperymentować bo mam dostep fizyczny do routera raz na tydzień .

Dziękuje za fachową odpowiedź .Pozdrawiam monter

pod spodem firewall


# wlaczenie w kernelu forwardowania
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# Ochrona przed atakiem typu Smurf
/bin/echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Nie aktceptujemy pakietow "source route"
/bin/echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# Nie przyjmujemy pakietow ICMP rediect, ktore moga zmienic tablice routingu
/bin/echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
# Wlaczamy ochrone przed blednymi komunikatami ICMP error
/bin/echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Wlaczenie mechanizmu wykrywania oczywistych falszerstw
# (pakiety znajdujace sie tylko tablicy routingu)
/bin/echo 65536 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
/bin/echo 36024 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# zwiekszenie rozmaru tablicy ARP
/bin/echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
/bin/echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
/bin/echo 8192 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
# Blokada przed atakami typu SYN FLOODING
/bin/echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Właczenie proxy arp - dzieki temu serwer nie zdycha po kilku. Zahaszowałem bo błedy wywalało
#/bin/echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter                 
# Zwiekszenie rozmiarutablic routingu
/bin/echo "18192" > /proc/sys/net/ipv4/route/max_size

# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X

# ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP


# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

# ssh  dostęp z netu regułki
iptables -A INPUT -p tcp --dport 50123 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 50123 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# udostepniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT

Offline

 

#2  2017-04-21 13:30:44

  arecki - Użytkownik

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: Firewall z działającym ssh.Pomocy :)

Ogólnie taka budowa firewalla jest dla mnie trochę niespotykana (Polityki na ACCEPT)
Trochę to się kłóci z moim postrzeganiem budowy firewalla, gdzie powinno się na początku ustawić DROP w politykach a potem zezwalać tylko na to co potrzeba.

https://wiki.debian.org/DebianFirewall

Ostatnio edytowany przez arecki (2017-04-21 14:08:32)

Offline

 

#3  2017-04-21 14:11:44

  monter - Nowy użytkownik

monter
Nowy użytkownik
Zarejestrowany: 2017-04-21

Re: Firewall z działającym ssh.Pomocy :)

Ja nic nie tworzyłem to jest kopia z opisu z dug.net.pl bardzo chętnie bym gotowego firewalla wrzucił który by działał na routerze i nie robił problemów jak możesz podzielić się na zasadach gnu to bardzo chętnie .

A tymczasem wklejam edytowany wg Twoich wytycznych .Zgadza sie?



# ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP


# ssh  dostęp z netu regułki
iptables -A INPUT -p tcp --dport 50123 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 50123 -m conntrack --ctstate ESTABLISHED -j ACCEPT


# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED




# udostepniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT



Jakbym w tym umiał dodac logowanie z netu po ssh to bym wolał ten z linka co podales.
Example:
Basic gateway machine firewall



#!/bin/sh
# This is a more complex setup, for a home firewall:
# * One interface plug to the ISP conection (eth0). Using DHCP.
# * One interface plug to the local LAN switch (eth1). Using 192.168.0.0/24.
# * Traffic open from the LAN to the SSH in the firewall.
# * Traffic open and translated, from the local LAN to internet.
# * Traffic open from internet, to a local web server.
# * Logging of dropped traffic, using a specific ''log level'' to configure a separate file in syslog/rsyslog.

PATH='/sbin'

## INIT

# Flush previous rules, delete chains and reset counters
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

# Default policies
iptables -P INPUT   DROP
iptables -P OUTPUT  DROP
iptables -P FORWARD DROP

echo -n '1' > /proc/sys/net/ipv4/ip_forward
echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_source_route
echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_redirects
echo -n '1' > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo -n '1' > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Enable loopback traffic
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Enable statefull rules (after that, only need to allow NEW conections)
iptables -A INPUT   -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT  -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Drop invalid state packets
iptables -A INPUT   -m conntrack --ctstate INVALID -j DROP
iptables -A OUTPUT  -m conntrack --ctstate INVALID -j DROP
iptables -A FORWARD -m conntrack --ctstate INVALID -j DROP


## INPUT

# Incoming ssh from the LAN
iptables -A INPUT -i eth1 -s 192.168.0.0/24 \
                  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
# regulka do przychodzacych polaczen ssh z netu:



## OUTPUT

# Enable al outgoing traffic to internet
iptables -A OUTPUT -o eth0 -d 0.0.0.0/0      -j ACCEPT

# Enable access traffic, from the firewall to the LAN network
iptables -A OUTPUT -o eth1 -d 192.168.0.0/24 -j ACCEPT


## FORWARD

# We have dynamic IP (DHCP), so we've to masquerade
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables        -A FORWARD     -o eth0 -i eth1 -s 192.168.0.0/24 \
                               -m conntrack --ctstate NEW -j ACCEPT

# Redirect HTTP (tcp/80) to the web server (192.168.0.2)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
                              -j DNAT --to-destination 192.168.0.2:80

iptables        -A FORWARD    -i eth0 -p tcp --dport 80 \
                              -o eth1 -d 192.168.0.2    \
                              -m conntrack --ctstate NEW -j ACCEPT


## LOGGING

iptables -A INPUT   -j LOG --log-level DEBUG --log-prefix '[FW INPUT]:    '
iptables -A OUTPUT  -j LOG --log-level DEBUG --log-prefix '[FW OUTPUT]:   '
iptables -A FORWARD -j LOG --log-level DEBUG --log-prefix '[FW FORWARD ]: '

Ostatnio edytowany przez monter (2017-04-21 14:20:12)

Offline

 

#4  2017-04-21 14:52:42

  arecki - Użytkownik

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: Firewall z działającym ssh.Pomocy :)

W tym z linka wystarczy zmienić numer portu i dopisać analogiczną linijkę dla połączeń z zewnątrz.

Kod:

# Incoming ssh from the LAN
iptables -A INPUT -i eth1 -s 192.168.0.0/24 \
                  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
# Incoming ssh from the WAN
iptables -A INPUT -i eth0 -s Adres_IP_zew \
                  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT

Adresacja sieci LAN do zmiany jeśli takie wymaganie aby to była klasa 10.0.0.0.

Ostatnio edytowany przez arecki (2017-04-21 14:52:59)

Offline

 

#5  2017-05-09 20:20:02

  monter - Nowy użytkownik

monter
Nowy użytkownik
Zarejestrowany: 2017-04-21

Re: Firewall z działającym ssh.Pomocy :)

Dalej z tym walczę i dalej ssh z netu nie działa mógłbyś tą regułkę poprawić albo podpowiedzieć gdzie jeszcze szukać nie wiem co powinno być wpisane za " adres ip zewnetrzny bo mam przydzielany z modemu/routera przez dhcp (chello )


# Incoming ssh from the WAN
iptables -A INPUT -i eth0 -s Adres_IP_zew -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT

Offline

 

#6  2017-05-09 20:44:05

  arecki - Użytkownik

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: Firewall z działającym ssh.Pomocy :)

Najpierw upewnij się czy router ma adres publiczny i czy dostawca nie blokuje dostępu z zewnątrz.
Zauważ też, że używamy tutaj znaczników kodu.

Ostatnio edytowany przez arecki (2017-05-09 20:45:14)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00127 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.128.200.165' WHERE u.id=1
0.00099 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.128.200.165', 1732725364)
0.00042 SELECT * FROM punbb_online WHERE logged<1732725064
0.00036 SELECT topic_id FROM punbb_posts WHERE id=310187
0.00005 SELECT id FROM punbb_posts WHERE topic_id=29513 ORDER BY posted
0.00044 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=29513 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00114 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=29513 ORDER BY p.id LIMIT 0,25
0.00118 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29513
Total query time: 0.00607 s