Vraag Ik verbied per ongeluk SSH-verbinding met een externe server ... Wat nu?


Laten we het nog een keer zeggen, we maken allemaal foutenen ik heb er zojuist een gemaakt.

Een korte geschiedenis: ik deed wat dingen op een VPS (Debian) die ik huurt, toen ik een vreemd gedrag merkte. De ... gebruiken netstat commando Ik zag een niet-geautoriseerde verbinding via SSH. Ik wist niet wat ik moest doen, dus besloot ik zijn verbinding te sluiten met iptables:

iptables -A INPUT -p tcp --dport ssh -s IP -j DROP

Maar ik ben moe en ik schreef

iptables -A INPUT -p tcp --dport ssh -j DROP

en ik trapte mezelf (en alle anderen) eruit ...

Hoe los ik dit op?


60
2018-04-22 14:42


oorsprong


mogelijk duplicaat van Is het mogelijk om SSH toegang te geven tot een server met een verkeerd geconfigureerd subnet? - kasperd
nee, omdat hij alle ssh-pakketten op de machine blokkeert. op een verkeerd geconfigureerd subnet zou je gewoon voor dat mac-adres tcpdumpen, het subnet ophalen waar het op aan het werken is en dan een virtuele nic in hetzelfde subnet configureren en ermee praten. - jfalcon aka Don Fanning
Nou ja, je hebt in elk geval de toegang voor het ongeautoriseerde individu verwijderd. - α CVn
Voor de volgende keer, misschien een dodemansknop zou handig zijn. - Wayne Conrad
Wie is jouw gastheer? Veel VM-hosts bieden een seriële console waarmee u SSH kunt gebruiken in gevallen waar u niet vanaf een externe locatie kunt komen. - Frank


antwoorden:


Er zijn verschillende alternatieven:

  • Kijk of ze IPMI / "KVM" / consoletoegang tot de server hebben waarmee je het kunt bedienen alsof er een fysiek toetsenbord op aangesloten was.
  • Als ze dat niet aanbieden, kijk dan of je de VM op een Linux-herstel-CD kunt booten (sommige providers bieden dit aan) en corrigeer dan de firewallregels op die manier en start het dan op zoals normaal.
  • Als je geen consoletoegang hebt, voordat je opstart naar herstel of het volume aan een andere VM koppelt (zoals in het Amazon-geval, antwoord van credit user3550767), kun je eerst het antwoord van Ankh2054 op reboot proberen als je de regels niet hebt opgeslagen ( waarschijnlijk het geval sinds je jezelf eruit schopte voordat je kans had om te sparen). Gebruik het bedieningspaneel of vraag iemand om het uit te zetten met een niet-gracieuze reset / poweroff (oftewel hard reboot of hard shutdown) voor het geval het init-script de regels automatisch opslaat wanneer hij netjes herstart (credit @jfalcon, @joshudson).

    Weeg de nadelen hiervan (zoals gegevens die worden geschreven tijdens het opnieuw opstarten mogelijk verloren en controle van het bestandssysteem kan nodig zijn bij het opstarten, dus langere opstarttijd, hoewel die vertraging mogelijk minder is dan opstarten naar herstel).


60
2018-04-22 14:44



afhankelijk van de vps-server, is er mogelijk geen externe toegang die hij kan bereiken. systemen zoals vmware, kvm, xen, etc .. hebben consoles maar zijn niet ingesteld voor publieke consumptie. sluit dat toestaat dat deze vorm van publieke controle openstack is. - jfalcon aka Don Fanning
dat gezegd hebbende, als het zich in amazone / google-ruimte bevindt, kan hij de drive een momentopname laten maken en deze vanaf een andere virtuele machine koppelen om de fix te maken. - jfalcon aka Don Fanning


Als u de IPtables-regel nog niet hebt opgeslagen, kunt u dit doen start de server opnieuw op VPS (indien beschikbaar) en de regel zou moeten verdwijnen.


47
2018-04-22 14:47



tenzij het init-script de iptables opslaat tijdens het afsluiten. - jfalcon aka Don Fanning
@jfalcon: daarom kun je ze vragen om de virtuele plug te trekken. - joshudson
@jfalcon Dat is ook waarom het een slecht idee is om automatisch op te slaan bij afsluiten ... maak de opslag een bewuste beslissing door de systeembeheerder, niet iets dat blindelings door het systeem wordt uitgevoerd. - α CVn
@joshudson: Je moet de reboot monkey precies vertellen wat je moet doen en de stroom uitschakelen. Niet alleen een afsluiting starten. - jfalcon aka Don Fanning
@ MichaelKjörling: deze filosofie is ook verkeerd. Dit is een VPS, dus waarschijnlijk sandboxeert hij zijn applicaties en heeft hij geen controle over wie de aan / uit-schakelaar aanraakt. En je hebt geen idee hoe de VPS-hosting hun builds heeft geconfigureerd. Er is niets mis met besparen op afsluiten. Zijn fout was zijn fout. De slimme zet was in de eerste plaats om SSH op een niet-standaard poort te zetten of fail2ban te gebruiken in plaats van te reageren met een paniekerige reactie. - jfalcon aka Don Fanning


Dit is waar menselijke hulplijnen voor zijn. Bel de serviceprovider en laat een van hun operators de regel voor u verwijderen.


30
2018-04-22 15:55





Een algemene manier om een ​​verbroken instantie te herstellen, is door deze uit te schakelen en het rootvolume aan een werkende instantie te koppelen. U kunt het volume vervolgens daar koppelen en logboeken bekijken of configuratiebestanden bewerken. U kunt dan het volume loskoppelen en het in zijn eigen instantie opstarten.


3
2018-04-22 23:14



Waar voor AWS VPS's; over het algemeen niet waar. - MadHatter
@MadHatter De exacte details kunnen verschillen, maar als een VPS-provider geen methode biedt om op te starten met een bekende werkafbeelding van waaruit u uw rootbestandssysteem kunt mounten en repareren, zou ik verwachten dat ze hun werk gaan doen zodra klanten geleerd over die beperking. - kasperd
Gewoonlijk doen ze dit door consoletoegang te bieden, zodat u kunt opstarten in de modus voor één gebruiker of van rescue-media (meestal geabstraheerd als een ISO). Ik beweer dat dat in feite veel normaler is dan de vreemde manier van AWS om het probleem aan te pakken, waarbij een tweede VPS (tijdelijk) een vereiste is. - MadHatter
@MadHatter Welke van de twee benaderingen er vreemd uitziet, hangt waarschijnlijk af van waar je het meest vertrouwd mee bent. En met elke aanpak wordt de klus geklaard. Dat is de meest voorkomende waar ik niet echt commentaar op kan geven, omdat ik tot nu toe alleen die toegang nodig heb op een enkele VPS-provider. - kasperd
@kasperd: Nee, wat u gebruikt hangt af van wat een bepaalde VPS-provider ondersteunt; het is geen kwestie van kiezen. Als u AWS gebruikt, koppelt u het volume aan een ander VPS; als je een meer normale VPS-provider gebruikt, start je een enkele gebruiker of een van de reddingsmedia op. Ik maak dit punt niet als een lul (nou, niet helemaal) maar omdat het belangrijk is om te weten dat je moet weten wat de door een provider ondersteunde methode (s) zijn, en deze dan gebruiken. Probeert de AWS-methode te gebruiken met bijvoorbeeld Hetzner zal gewoon niet werken, omdat de ene Hetzner vserver de FS (afaik) van een ander niet kan zien. - MadHatter


Formeel antwoord: ga naar VPS-beheerpaneel, krijg op de een of andere manier lokale toegang (virtuele KVM) of bel ze.

Uitleg van stappen / regels om te voorkomen dat je er weer voor valt:

  1. Er zijn wijzigingen in de ip-, routerings- en firewallregels die slecht kunnen zijn en uw toegang blokkeren.
  2. en het is ook van toepassing op de configuratie van specifieke netwerkapparaten, niet alleen op VPS's

Dus tenzij je er 100% zeker van bent dat je kunt herstellen. Ik raad aan om altijd een manier te vinden om netwerkconfiguratie terug te zetten naar de vorige staat .. zoals, open achtergrondsessie met een van beide screen, nohupof tmux, zelfs cron kan hiervoor werken en toevoegen iptables -F of andere gewenste middelen om iets terug te zetten naar de vorige toestand.


3
2018-04-23 10:33