---
title: "Banna tillfälligt ip från ssh med iptables"
type: "forum-thread"
url: "https://www.webforum.nu/amne/linux-bsd/135676-banna-tillfälligt-ip-från-ssh-med-iptables"
topic: "Linux & BSD"
topic_url: "https://www.webforum.nu/amne/linux-bsd"
author: "Jontto"
published: "2005-10-13T14:17:23.000Z"
updated: "2005-11-04T15:28:53.000Z"
replies: 10
views: 815
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/linux-bsd/135676-banna-tillfälligt-ip-från-ssh-med-iptables"
---

# Banna tillfälligt ip från ssh med iptables

## #1 — Jontto, 2005-10-13T14:17Z

Hej!

Har en debian som ligger snällt och snurrar i all skens ro i skrubben dagarna i ända. Nu undrade jag om jag skulle göra ngt åt alla som försöker komma in via ssh på port 22 till servern (och givetvis inte har mycket där att göra). 

Går det att med iptables kolla om samma ip försöker ta / tar kontakt typ 5 ggr på fem minuter, men inte kommer in och sedan banna den IP:n temporärt typ 30 min?  Tanken var att dom inte skulle kunna slutföra sin påbörjade scan på dåliga lösen. Tror inte att ngn kommer in, men auth.log börjar bli lite fullt med sådant.

Ifall ngn vet svaret med ja/nej, så bra och ifall ngn t.o.m. har lite tips om kod, så ännu mera tjohej   :birp 

Inget annat nytt från öster,
Jontto

Permalänk: https://www.webforum.nu/p/135676

## #2 — Robban, 2005-10-14T11:23Z

Följande rader tillåter 3 försök under en 60-sekundersperiod och spärrar efter det IP-adressen tills en minut har gått. Använder den själv med framgång. De flesta scriptkiddies ger upp efter tre inloggningsförsök.

```
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 3 -j DROP
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT
```

Permalänk: https://www.webforum.nu/p/1687593

## #3 — Robban, 2005-10-14T11:24Z

> **Robban skrev:**
>
> Följande rader tillåter 3 försök under en 60-sekundersperiod och spärrar efter det IP-adressen tills en minut har gått. Använder den själv med framgång. De flesta scriptkiddies ger upp efter tre inloggningsförsök.
> 
>
>
> ```
> iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 3 -j DROP
> iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT
> ```

Du vill inte låsa ute en IP-adress för länge, för då öppnar du upp för en DoS-attack (att någon spoofar din IP-adress så att du blir utelåst från din egen server, t.ex.).

Permalänk: https://www.webforum.nu/p/1687594

## #4 — Jontto, 2005-10-14T14:56Z

tackar ska ta å testa

Permalänk: https://www.webforum.nu/p/1687692

## #5 — Jontto, 2005-10-17T07:20Z

har inte haft ngn som försökt komma in på servern nu på en stund, men märkte att när jag kör dessa så krånglar min putty till ssh oxå. När jag öppnat en terminal så får jag inte igång en till av ngn anledning. Detta trots att jag väntar länge och väl och inte skriver fel lösen...
Är det jag som inte vet vad jag håller på med?

Kan väl tillägga att nrä jag sedan flushar min iptables, så fungerar det ok. Flushade också före jag skrev ovannämnda kommandon.

// Jontto

Permalänk: https://www.webforum.nu/p/1688519

## #6 — Robban, 2005-10-17T07:52Z

Sorry. Ryckte bara ut raderna ur mitt iptables-skript utan att tänka. Det räcker inte med dessa två rader för att få ett fungerande iptables-skript. De använder stateful inspection så du måste ha med en rad liknande denna också:

```
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
```

Denna rad släpper igenom redan etablerade anslutningar.

Permalänk: https://www.webforum.nu/p/1688526

## #7 — Jontto, 2005-10-17T08:04Z

Vill inte ännu heller ge en till terminal åt mig. Anslutningen timear out från min sida bara. En kommer igång nog och fungerar hur bra som helst.

Såhär ser det ut nu alltså.

```
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh recent: UPDATE seconds: 60 hit_count: 3 name: DEFAULT side: source
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh recent: SET name: DEFAULT side: source
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
```

MVH,
Jontto

Permalänk: https://www.webforum.nu/p/1688527

## #8 — Robban, 2005-10-17T21:37Z

Hmm, märkligt. Ser, efter vad jag kan avgöra, ut som hos mig (förutom att jag har policy DROP, men det borde inte inverka) och där fungerar det. Kan logga in 3 ggr från samma IP inom en 60-sekundersperiod men inloggningsförsök utöver det droppas.

Du kan ju tillfälligt byta ut -j DROP mot -j LOG. Borde ge lite information i loggarna om vad som händer.

recent-modulen finns f.ö. dokumenterad här:

<http://www.netfilter.org/documentation/HOWTO//netfilter-extensions-HOWTO-3.html#ss3.16>

Permalänk: https://www.webforum.nu/p/1688816

## #9 — Robban, 2005-10-24T10:57Z

Verkar som om ditt problem kan bero på en bugg i recent-modulen.

<http://bugs.centos.org/view.php?id=1048>

Permalänk: https://www.webforum.nu/p/1694320

## #10 — Jontto, 2005-11-03T08:06Z

Jo, har 2.6.8-2 på servern, så kanske man borde uppdatera.

Lite mera att läsa om ämnet: 
<http://blog.blackdown.de/2005/05/09/fixing-the-ipt_recent-netfilter-module/>
samt
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=322237>

Tack och adjö,
Jontto

Permalänk: https://www.webforum.nu/p/1698442

## #11 — Jontto, 2005-11-04T15:28Z

uppdaterade till 2.6.12 och där verkar det fungera.

Tackar robban!

Permalänk: https://www.webforum.nu/p/1702185

---

Tråden på webben: https://www.webforum.nu/amne/linux-bsd/135676-banna-tillfälligt-ip-från-ssh-med-iptables
