Raspberry Pi + Owncloud + Iptables

1

Mam Raspberry Pi, którego używam do przechowywania prywatnych plików w chmurze (np. Dropbox)

Użyłem tego całego samouczka do konfiguracji Pi https://www.pestmeester.nl/

tabele IP zostały skonfigurowane zgodnie z samouczkiem:

*filter 
#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Allows SMTP access
-A INPUT -p tcp --dport 25 -j ACCEPT
-A INPUT -p tcp --dport 465 -j ACCEPT
-A INPUT -p tcp --dport 587 -j ACCEPT

# Allows pop and pops connections
# -A INPUT -p tcp --dport 110 -j ACCEPT
# -A INPUT -p tcp --dport 995 -j ACCEPT

# Allows imap and imaps connections
-A INPUT -p tcp --dport 143 -j ACCEPT
-A INPUT -p tcp --dport 993 -j ACCEPT

#  Allow SSH connections
#  The -dport number should be the same port number you set in     sshd_config
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

Iptables -L pokazuje     Chain INPUT (polityka ACCEPT)     cel prot opt ​​miejsce docelowe źródła     fail2ban-ssh tcp - gdziekolwiek w dowolnym miejscu multiport dports ssh     AKCEPTUJ wszystko - w dowolnym miejscu     REJECT all-anywhere loopback / 8 reject-with icmp-port-unreachable     AKCEPTUJ wszystko - wszędzie w dowolnym miejscu POWIĄZANE, USTANOWIONE     ACCEPT tcp - wszędzie gdziekolwiek tcp dpt: http     ACCEPT tcp - wszędzie gdziekolwiek tcp dpt: https     ACCEPT tcp - wszędzie gdziekolwiek tcp dpt: smtp     ACCEPT tcp - wszędzie gdziekolwiek tcp dpt: urd     ACCEPT tcp - gdziekolwiek w dowolnym miejscu tcp dpt: submission     ACCEPT tcp - w dowolnym miejscu tcp dpt: imap2     ACCEPT tcp - gdziekolwiek gdziekolwiek tcp dpt: imaps     ACCEPT tcp - wszędzie gdziekolwiek stan NEW tcp dpt: ssh     ACCEPT icmp - gdziekolwiek nigdzie icmp echo-request     LOG all - limit gdziekolwiek w dowolnym miejscu: avg 5 / min burst 5 prefiksów debugowania poziomu LOG ​​"iptables odmówiono:"     DROP all - w dowolnym miejscu

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

i iptables-save

# Generated by iptables-save v1.4.21 on Fri Jun 30 12:43:24 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: "                     --log-level 7
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -j ACCEPT
-A fail2ban-ssh -j RETURN
COMMIT

teraz do mojego problemu: w syslog mam wiele takich wpisów: Jun 30 12:00:46 raspberrypi kernel: [6978137.058941] iptables denied: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:c8:1f:66:21:0d:62:08:00:45:00:01:9b:16:66:00:00:80:11:af:dc SRC=192.168.178.103 DST=255.255.255.255 LEN=411 TOS=0x00 PREC=0x00 TTL=128 ID=5734 PROTO=UDP SPT=17500 DPT=17500 LEN=391 Jun 30 12:01:10 raspberrypi kernel: [6978160.864968] iptables denied: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:19:99:b5:ec:e0:08:00:45:00:01:9b:47:8b:00:00:80:11:7f:06 SRC=192.168.178.24 DST=255.255.255.255 LEN=411 TOS=0x00 PREC=0x00 TTL=128 ID=18315 PROTO=UDP SPT=17500 DPT=17500 LEN=391 Jun 30 12:01:10 raspberrypi kernel: [6978160.865463] iptables denied: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:19:99:b5:ec:e0:08:00:45:00:01:9b:6f:9b:00:00:80:11:e3:4d SRC=192.168.178.24 DST=192.168.178.255 LEN=411 TOS=0x00 PREC=0x00 TTL=128 ID=28571 PROTO=UDP SPT=17500 DPT=17500 LEN=391 Jun 30 12:01:40 raspberrypi kernel: [6978190.866330] iptables denied: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:19:99:b5:ec:e0:08:00:45:00:01:9b:47:8c:00:00:80:11:7f:05 SRC=192.168.178.24 DST=255.255.255.255 LEN=411 TOS=0x00 PREC=0x00 TTL=128 ID=18316 PROTO=UDP SPT=17500 DPT=17500 LEN=391 Jun 30 12:01:40 raspberrypi kernel: [6978190.866884] iptables denied: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:19:99:b5:ec:e0:08:00:45:00:01:9b:6f:ae:00:00:80:11:e3:3a SRC=192.168.178.24 DST=192.168.178.255 LEN=411 TOS=0x00 PREC=0x00 TTL=128 ID=28590 PROTO=UDP SPT=17500 DPT=17500 LEN=391 Jun 30 12:01:46 raspberrypi kernel: [6978197.138692] iptables denied: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:c8:1f:66:21:0d:62:08:00:45:00:01:9b:16:6e:00:00:80:11:af:d4 SRC=192.168.178.103 DST=255.255.255.255 LEN=411 TOS=0x00 PREC=0x00 TTL=128 ID=5742 PROTO=UDP SPT=17500 DPT=17500 LEN=391 Jun 30 12:02:10 raspberrypi kernel: [6978220.883154] iptables denied: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:19:99:b5:ec:e0:08:00:45:00:01:9b:47:8d:00:00:80:11:7f:04 SRC=192.168.178.24 DST=255.255.255.255 LEN=411 TOS=0x00 PREC=0x00 TTL=128 ID=18317 PROTO=UDP SPT=17500 DPT=17500 LEN=391

od czasu do czasu pi traci połączenie, a jedyną rzeczą, która przywraca połączenie, jest ponowne uruchomienie nadzorcy usługi czy te 2 problemy mogą być ze sobą połączone? Co mogę zrobić, aby poprawnie skonfigurować tabele IP? Dzięki dziennikowi z wieloma wpisami nie jestem w stanie wykryć problemu, który ma owncloud.

Naprawdę mam nadzieję, że ktoś będzie mógł mi pomóc

user9821
źródło

Odpowiedzi:

1

Możesz odmówić transmisji Dropbox w Raspi. Port 17500 jest używany przez Dropbox na innym komputerze.

Dodaj więc przed regułą LOG: -A INPUT -p udp --dport 17500 -j DROP

Następnie raspi usunie połączenie bez ich logowania.

Dom
źródło
ohhh dziękuję bardzo! Nigdy bym nie pomyślał o dropboxie ... ale prawdopodobnie dwa problemy nie są połączone. Czy może masz pomysł, jak poradzić sobie z utratą łączności, która pojawia się od czasu do czasu? Jest naprawdę źle, jeśli jestem na wakacjach i muszę mieć dostęp do moich plików, które są zapisywane na własnej liście w biurze
user9821
Nie, przepraszam, nie podajesz wystarczających informacji. Musisz sprawdzić dzienniki, gdy Pi utraci połączenie.
Dom
Ok, przyjrzę się dziennikom następnym razem, kiedy będę w moim biurze. Problem polega na tym, że nie jestem w stanie zrestartować połączenia, nie będąc w biurze komputera, i nie wydaje mi się, aby ponowne uruchomienie usługodawcy w cronjob było pomocne. Czy wiesz, w jaki sposób mogę ponownie uruchomić usługę za pomocą cronjob? Ponowne uruchomienie usługi co 20 minut nie pomaga w przypadku utraty połączenia, ale ręczne wpisanie polecenia nie
user9821
Myślę, że w twoim problemie kryje się coś ważniejszego. Musisz poczekać i sprawdzić dzienniki. Może z braku pamięci, może coś innego, ale zobaczysz w dziennikach. Czy po ponownym uruchomieniu usługi przez cron masz błędy?
Dom