Intressant tips för att förbättra SSH-säkerhet

Den här gången får vi se a kort och enkelt tips som hjälper oss att förbättra säkerhet av våra fjärranslutningar med SSH.


OpenSSH, som är paketet som tillhandahålls av GNU / Linux-system för att hantera SSH-anslutningar, har ett brett utbud av alternativ. Läser boken SSH Det säkra skalet och manuella sidor hittade jag alternativet -F, som berättar för SSH-klienten att använda en annan konfigurationsfil än den som hittades i katalogen / etc / ssh.

Hur använder vi det här alternativet?

Som följer:

ssh -F / sökväg / till_din / konfiguration / filanvändare @ ip / värd

Om vi ​​till exempel har en anpassad konfigurationsfil med namnet my_config på skrivbordet och vi vill ansluta till användaren Carlos till datorn med ip 192.168.1.258, skulle vi använda kommandot enligt följande:

ssh -F ~ / Desktop / my_config carlos@192.168.1.258

Hur hjälper det säkerheten för anslutningen?

Kom ihåg att en angripare som är inne i vårt system omedelbart kommer att försöka få administratörsbehörighet om han inte redan har dem, så det skulle vara ganska enkelt för honom att köra ssh för att ansluta till resten av maskinerna i nätverket. För att undvika detta kan vi konfigurera filen / etc / ssh / ssh_config med felaktiga värden, och när vi vill ansluta via SSH använder vi konfigurationsfilen som vi kommer att ha sparat på en plats som bara vi känner (även på en extern lagringsenhet), det vill säga, vi skulle ha säkerhet genom mörker. På det här sättet skulle angriparen vara förbryllad över att finna att han inte kan ansluta med SSH och att han försöker skapa anslutningarna enligt vad som anges i standardkonfigurationsfilen, så det blir lite svårt för honom att inse vad som händer, och vi kommer att komplicera mycket. jobbet.

Detta läggs till för att ändra lyssningsporten på SSH-servern, inaktivera SSH1, ange vilka användare som kan ansluta till servern, uttryckligen tillåta vilken IP eller IP-intervall som kan ansluta till servern och andra tips som vi kan hitta i http://www.techtear.com/2007/04/08/trucos-y-consejos-para-asegurar-ssh-en-linux de gör det möjligt för oss att öka säkerheten för våra SSH-anslutningar.

Allt som beskrivs ovan kan göras i en rad. För min smak skulle det vara ganska tråkigt att behöva skriva en stor rad med flera alternativ varje gång vi försöker logga in via SSH till en fjärrdator, till exempel skulle följande vara ett exempel på vad jag säger:

ssh -p 1056 -c blowfish -C -l carlos -q-jag själv 192.168.1.258

-p Anger porten som ska anslutas till på fjärrvärden.
-c Anger hur sessionen ska krypteras.
-C Indikerar att sessionen ska komprimeras.
-l Anger användaren med vilken han / hon ska logga in på fjärrvärden.
-q Indikerar att diagnostiska meddelanden undertrycks.
-i Indikerar filen som ska identifieras med (privat nyckel)

Vi måste också komma ihåg att vi kan använda terminalens historia för att undvika att behöva skriva hela kommandot varje gång vi behöver det, något som en angripare också kan dra nytta av, så jag skulle inte rekommendera det, åtminstone vid användning av SSH-anslutningar.

Även om säkerhetsfrågan inte är den enda fördelen med det här alternativet kan jag tänka på andra, som att ha en konfigurationsfil för varje server vi vill ansluta till, så vi kommer att undvika att skriva alternativen varje gång vi vill ansluta till en server-SSH med en specifik konfiguration.

Att använda alternativet -F kan vara mycket användbart om du har flera servrar med olika konfiguration. Annars måste alla inställningar komma ihåg, vilket är praktiskt taget omöjligt. Lösningen skulle vara att ha en konfigurationsfil perfekt förberedd enligt kraven på varje server, underlätta och säkerställa åtkomst till dessa servrar.

I den här länken http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config Du kan ta reda på hur du redigerar SSH-klientens konfigurationsfil.

Kom ihåg att detta bara är ytterligare ett tips av hundratals som vi kan hitta för att säkerställa SSH, så om du vill ha säkra fjärranslutningar måste du kombinera de möjligheter som OpenSSH erbjuder oss.

Det är allt för nu, jag hoppas att den här informationen kommer att vara till någon nytta för dig och vänta på ett nytt inlägg om SSH-säkerhet nästa vecka.

Obs! Om du vill läsa boken "SSH The Secure Shell" se till att läsa manualsidorna för den version du har installerat, eftersom boken är ganska bakom när det gäller de alternativ som stöds av OpenSSH.
Tack Izkalotl för bidraget!
Intresserad av göra en insats?

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   HacKan & CuBa co. sade

    Vad? Jag tror att du hänvisar till ett annat inlägg, för jag förstår inte vad du nämner. Det här inlägget ger ett litet tips att tillämpa när du upprättar anslutningen till en dator, det hänvisar inte till att ändra någon konfiguration av det eller att lösa något om någon lyckas komma in. Tanken är att göra kommunikationen mellan datorer säker, kringgå standardparametrarna som kanske inte erbjuder lämplig säkerhetsnivå.
    Portknackning är intressant att begränsa attacker (det förhindrar inte dem helt, men det gör sin grej), även om jag tycker att det är lite obekvämt att använda ... Jag har bara inte mycket erfarenhet av det.
    Det finns flera program som skannar loggarna för att blockera åtkomst via ip när felaktiga inloggningar upptäcks.
    Det säkraste är att använda lösenordsfri inloggning med nyckelfiler.

    Hälsningar!

  2.   HacKan & CuBa co. sade

    Vad? Jag tror att du hänvisar till ett annat inlägg, för jag förstår inte vad du nämner. Det här inlägget ger ett litet tips att tillämpa när du upprättar anslutningen till en dator, det hänvisar inte till att ändra någon konfiguration av det eller att lösa något om någon lyckas komma in. Tanken är att göra kommunikationen mellan datorer säker, kringgå standardparametrarna som kanske inte erbjuder lämplig säkerhetsnivå.
    Portknackning är intressant att begränsa attacker (det förhindrar inte dem helt, men det gör sin grej), även om jag tycker att det är lite obekvämt att använda ... Jag har bara inte mycket erfarenhet av det.
    Det finns flera program som skannar loggarna för att blockera åtkomst via ip när felaktiga inloggningar upptäcks.
    Det säkraste är att använda lösenordsfri inloggning med nyckelfiler.

    Hälsningar!

  3.   HacKan & CuBa co. sade

    Också ssh kommer att leta efter standardanvändarkonfigurationen i ~ / .ssh / config
    Om inte demonen har konfigurerats för att inte, men som standard gör den det.
    Det är viktigt att ta hänsyn till algoritmen som används för hash, med alternativet -m; Jag rekommenderar hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 eftersom de erbjuder bästa säkerhet. Var försiktig, för som standard använder den MD5 (eller sha1 förhoppningsvis) !! är de saker som inte förstås….
    Hur som helst, en bra idé skulle vara att köra den med:
    ssh -p PORT -c aes256-ctr -m hmac-sha2-512 -C IP
    med -c anger du vilken krypteringsalgoritm som används, där ctr (räknarläge) är det mest rekommenderade (aes256-ctr och aes196-ctr), och om inte cbc (cipher-block chaining): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc

    Hälsningar!

  4.   HacKan & CuBa co. sade

    Också ssh kommer att leta efter standardanvändarkonfigurationen i ~ / .ssh / config
    Om inte demonen har konfigurerats för att inte, men som standard gör den det.
    Det är viktigt att ta hänsyn till algoritmen som används för hash, med alternativet -m; Jag rekommenderar hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 eftersom de erbjuder bästa säkerhet. Var försiktig, för som standard använder den MD5 (eller sha1 förhoppningsvis) !! är de saker som inte förstås….
    Hur som helst, en bra idé skulle vara att köra den med:
    ssh -p PORT -c aes256-ctr -m hmac-sha2-512 -C IP
    med -c anger du vilken krypteringsalgoritm som används, där ctr (räknarläge) är det mest rekommenderade (aes256-ctr och aes196-ctr), och om inte cbc (cipher-block chaining): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc

    Hälsningar!

  5.   ivaan11 sade

    vad jag ville är att ingen kunde komma åt min dator och fjärrstyra den
    sedan förstår jag av dina ord att om jag inte öppnar porten finns det åtkomst åtminstone på detta sätt

    mercii för att svara!

  6.   ivaan11 sade

    holaa
    Jag har följt några av knep och jag har en fråga! bland alternativen har jag också ändrat
    Porten för en annan som skiljer sig från den traditionella. Om jag inte öppnar den porten på routern, är det omöjligt för dem att ansluta till min dator? eller kommer den att omdirigeras till någon annan port?

    Jag behöver inte göra någon fjärranslutning så jag ville veta vad som skulle vara effektivare om jag öppnar porten eller låter den vara blockerad.

    Jag väntar på svar!

  7.   Serge Weizenegger sade

    > Det säkraste är att använda lösenordsfri inloggning med nyckelfiler.
    Det är precis vad jag tänkte säga ... att det enda sättet att logga in på olika datorer är med en nyckel som är på en pendrive hängande från nacken 😉
    Angriparen kan slösa hela sitt liv med att försöka brute-force en lösenordssprickning, och kommer aldrig att inse att han inte behöver ett lösenord utan en XD-fil.

  8.   linux izkalotl sade

    Jag är inte expert på säkerhet och nätverk men för att bryta mot ditt säkerhetssystem med passiv inloggning skulle det vara tillräckligt att helt enkelt skapa ett skript för att kopiera din nyckel lagrad på en pendrive när du monterar den, så på några sekunder skulle du ha tillgång med din egen nyckel till serverfjärrkontrollen (och naturligtvis utan att behöva lösenord), problemet med lösenordslöst är att det får dig att känna en falsk säkerhet, eftersom det som du kan se med några rader i ett skript skulle vara väldigt enkelt att ta kontroll över dina fjärrservrar. Kom ihåg att en angripare inte slösar bort tid eller resurser på att spricka lösenord om det finns ett kortare sätt att bryta din säkerhet. Jag rekommenderar att du använder minst 20 av alternativen som SSH gör att du kan konfigurera och lägga till något som TCP Wrappers, en bra brandvägg och även då skulle din server inte vara 100% skyddad, den värsta fienden i säkerhetsfrågor litar på.

  9.   gorlok sade

    Det är intressant, även om jag inte är säker på den verkliga fördelen, att vi pratar om att bara göra saker lite svåra när en angripare redan gick med i laget och lägga till mer komplexitet för administratörer.
    Jag tycker att en honeypot-teknik är mer användbar för att varna (och vidta åtgärder?) Om misstänkt aktivitet eller någon form av sandlåda som begränsar angriparens handlingar.
    Eller så skulle jag leta efter andra typer av tekniker som förhindrar inträde, till exempel hamnknackning.
    Tack också för att du delade det och öppnade debatten.