De flesta program måste interagera med användaren genom att ange vissa data, oavsett om det är ett namn, höjd, vikt för att göra en databas eller geometriska dimensioner av ett objekt för vilket du behöver beräkna något. Alla dessa data går in i användaren - en person, vilket innebär att allt kan komma som svar. Vad kommer programmet att visa om användaren skriver sitt ord istället för åldern? Mest sannolikt kommer programmet nödsituation att sluta eller hänger, men inte bara om det ger "lurskydd".
Varför kan programmet vara klart eller hänga? Programmet kommer att försöka översätta en uppsättning tecken i numret att det inte är möjligt att göra, vilket innebär att användningen av applikationen inte är definierad. Så det är väldigt viktigt att organisera programmets struktur så att när du kommer in oväntat För dataprogrammet (felaktigt ur det önskade formatet: Behöver du ett nummer, men ordet är inmatat), ansökan "faller inte", men rapporterade användaren om vad ett fel har inträffat och erbjöd sig att upprepa inmatning. Detta är "lurskydd".
Genomförande av skydd mot idiot i språk C
För att implementera gott skydd från dåren för att komma in i olika numeriska (int, dubbla ...) data är det nödvändigt att läsa siffrorna själva, men hela infogningslinjen och sedan analysera ingången. På C-språket finns det en mycket bra sscanf-funktion (Const Char *, Const Char *, Args), som fungerar på samma sätt som Scanf-funktionen (Const Char *, Args), som återlämnar antalet framgångsrikt läsargument, endast läser data uppstår från Ett standardinmatningsflöde, men från strängen som överförs till det första argumentet.
Tänk på flera exempel på funktioner som genomför en dårskontroll med hjälp av SSCANF-funktionen.
Ange ett heltal med en inspektion av felaktig inmatning
INT GET_INTEGER (Char Svar; // String för att läsa Int n; // Final Integer Printf ("% s", msg); // visa inbjudan för att komma in i fgets (svar, storlek av (svar), stdin); // läs String // Fram till heltalet medan (sscanf (svar,% d ", & n)! \u003d 1) (Printf (" Felaktig inmatning. Försök igen: "); // visa ett meddelande om fgetsfel (svar, storlek (Svar), stdin); // och återläsa strängen) return n; // returnera rätt heltal)För att läsa ett heltal läser algoritmen hela linjen och försöker sedan få ett heltal ut ur det. I händelse av att det misslyckades, visar funktionen ett felmeddelande med ett förslag om att upprepa ingången tills det korrekta värdet av ett heltal anges.
Ange ett riktigt nummer med en inspektion av felaktig inmatning
Dubbel Get_Double (Char * Msg) (Char Svar; // Row att läsa Dubbel X; // Final Real Number Printf ("% s", msg); // Displayinbjudan för att komma in i fets (svar, storlek av (svar), stdin ); // Läs strängen // tills det reella antalet medan (SSCANF (svar,% LF ", & X)! \u003d 1) (Printf (" Felaktig inmatning. Försök igen: "); // visa ett meddelande om Fets fel (svar, storlek av (svar), stdin); // och återläsa strängen) returnera x; // marknadsförbart korrekt reellt tal)Ange punkt på koordinatplanet (struktur med två riktiga fält)
// Beskrivning av strukturen av daterad typ av Struct Point_T (dubbel X; // Koordinera X dubbel Y; // Koordinat Y) Punkt_t; Point_t get_point (char svar; // sträng för att läsa punkt_t punkt; // Final Point Printf ("% s", msg); // visa inbjudan för att komma in i fgets (svar, storlek av (svar), stdin); // läs String // tills båda koordinater av stundpunkten (SSCANF (svar "(% LF,% LF)", & Point.x, & Point.y)! \u003d 2) (Printf ("Felaktig inmatning. Försök igen:" ); // visa ett felmeddelande fgeter (svar, storlek av (svar), stdin); // och återläsa strängen) returpunkten; // returnera rätt punkt)Som framgår av exempel kan funktionen att returnera SSCANF-funktionen av antalet läsargument att du kan styra korrektheten hos de angivna data i det angivna formatet, och läsningen av hela linjen skyddar mot det faktum att det kommer att förbli Ett utrymme eller överför symboler på linjen "\\ n" i ingångsströmmen, vilket ofta gör att du spenderar för att söka efter fel ingen timme eller till och med en dag.
Det är omöjligt att skydda servern från extern åtkomst en gång för alla, för varje dag är nya sårbarheter detekterade och nya sätt att hacka server. Vi kommer att berätta om att skydda servrar från obehörig åtkomst i den här artikeln.
Alla företagsservrar förr eller senare kan bli ett mål för hackning eller viral attack. Typiskt blir resultatet av en sådan attack förlusten av data, rykte eller ekonomisk skada, så säkerheten för serverns säkerhet är värt att uppmärksamma den första platsen.
Det bör förstås att skydd mot servrar hacking är en uppsättning åtgärder, inklusive den ständiga övervakningen av servern och arbetar med att förbättra skyddet. Det är omöjligt att skydda servern från extern åtkomst en gång för alla, för varje dag är nya sårbarheter detekterade och nya sätt att hacka server.
Vi kommer att berätta om att skydda servrar från obehörig åtkomst i den här artikeln.
Metoder och metoder för att skydda servrar från obehörig åtkomst
Fysisk skyddsserver
Fysiskt skydd. Det är önskvärt att servern är i ett skyddat datacenter, ett stängt och skyddat rum, den externa bör inte vara åtkomst till servern.
Ställ in ssh-autentisering
När du konfigurerar serverns åtkomst, använd ssh-nycklar-autentisering istället för ett lösenord, eftersom sådana nycklar är mycket mer komplicerade, och ibland är det helt enkelt omöjligt att hacka med hjälp av utföringsformen.
Om du tror att du fortfarande behöver ett lösenord, var noga med att begränsa antalet försök att komma in.
Observera om du anger följande meddelande när du anger:
Senast misslyckad inloggning: tis sep 28 12:42:35 MSK 2017 från 52.15.194.10 på ssh: alty
Det fanns 8243 misslyckade inloggningsförsök sedan den senaste framgångsrika inloggningen.
Det kan indikera att din server försökte hacka. Ändra i det här fallet för att konfigurera serverns säkerhet, ändra SSH-porten, begränsa IP-listan från vilken åtkomst till servern är möjlig eller ställ in programvaran automatiskt blockerar alltför frekvent och misstänkt aktivitet.
Installera regelbundet de senaste uppdateringarna
För att säkerställa serverns skydd, installera de senaste uppdateringarna och serverns programvara som du använder - operativ system, hypervisor, databasserver.
Det är lämpligt att kontrollera tillgängligheten av nya patchar, uppdateringar och meddelanden om fel / sårbarheter varje dag för att förhindra attacker med hjälp av nolldags sårbarheter. För att göra detta, prenumerera på nyheterna från mjukvaruutvecklingsföretaget, följ sidorna i sociala nätverk.
Skydda lösenord
Hittills är ett av deras vanligaste sätt att komma åt servern ett lösenord för break Server. Därför följer det välkända, men ändå relevanta rekommendationer för att inte lämna servern utan skydd:
- använd inte lösenord som är lätta att hämta, till exempel företagsnamn;
- om du fortfarande använder ett standardlösenord för administratörskonsolen - ändra omedelbart det;
- lösenord för olika tjänster bör vara olika;
- om du behöver skicka ett lösenord till någon, skicka aldrig en IP-adress, inloggning och lösenord i samma bokstav eller meddelande i budbäraren.
- du kan ställa in tvåstegsautentisering för att komma in i administratörens konto.
Brandvägg
- Se till att det finns en server, den är konfigurerad och det fungerar hela tiden.
- Skydda och inkommande och utgående trafik.
- Se upp vilka hamnar som är öppna och för vilka ändamål, öppna inte något överflödigt för att minska antalet sannolika sårbara säten för att hacka servern.
I synnerhet hjälper brandväggen själv att skydda servern från DDOS-attacker, för Du kan snabbt skapa förbjudna brandväggsregler och ta med IP-adresserna till dem, från vilka en attack kommer, eller blockerar åtkomst till specifika applikationer, enligt specifika protokoll.
Övervakning och intrångsdetektering
- Begränsa programvaran och tjänsterna som du arbetar på servern. Kontrollera regelbundet allt du har kört, och om vissa obekanta processer hittas, radera dem omedelbart och börja kontrollera om virus.
- Kontrollera periodiskt förekomsten av spår av hacking. Om hacking kan indikera ny konton Användare som du inte skapade, flyttade eller tar bort en fil /etc/syslog.conf., fjärrfiler / etc / shadow och / etc / passwrd.
- Övervaka din server, följ sin vanliga hastighet och genomströmningSå du kan märka avvikelser, till exempel när serverbelastningen har blivit mycket mer än vanligt.
Använda VPN och SSL / TLS-kryptering
Om nödvändigt fjärranslutning Till servern måste det endast tillåtas från specifika IP-adresser och förekommer av VPN.
Nästa säkerhetsfas kan upprättas SSL, vilket gör det möjligt för att inte bara kryptera data, utan också att kontrollera identiteten hos andra nätverksinfrastrukturdeltagare genom att utfärda relevanta certifikat till dem.
Säkerhetskontrollservern
En bra idé kommer att vara en oberoende säkerhetskontroll av servern med pentestmetoden, d.v.s. Attack modellering för att hitta potentiella sårbarheter och att likvidera dem i tid. Det är önskvärt att locka till dessa specialister på informationssäkerhetVissa test kan dock göras självständigt med hjälp av program för hackningsservrar.
Vad hotar servrar förutom hacking
Servern kan misslyckas med ett antal andra skäl, förutom hacking. Det kan till exempel vara en malwareinfektion eller helt enkelt en fysisk brottning av någon komponent.
Därför bör serverskyddshändelser innehålla:
- Installations- och uppdateringsprogram för serverskydd - Antivirus.
- Regelbundna krypterade kopior av data minst en gång i veckan, för, enligt statistik, hårddiskar Servrar i första hand i frekvensen av uppdelningar. Se till att säkerhetskopia Lagras i en fysiskt säker miljö.
- Säkerställa oavbruten strömförsörjningsserver.
- Tidig fysisk förebyggande av servrar, som inkluderar deras rengöring från damm och byt ut termisk pasta.
Erfarenheten av integrerade specialister berättar det för oss bästa försvaret Från denna typ av hot - detta är användningen av bästa praxis inom serverns skyddssystem.
För att säkerställa säkerheten hos våra kunder tillämpar vi en kombination av verktyg: brandväggar, antivirus, säkerhets- / evenemangshanteringsteknik (SIM / SEM), Intrusions- / skyddsdetekteringsteknik (IDS / IPS), Nätverksbetealteknik (NBA), Naturligtvis regelbundna förebyggande underhållsservrar och arrangemang av skyddad serverns nyckelfärdiga. Detta gör att du kan minska riskerna för hackning eller serverfel av andra skäl till ett minimum.
Klar att genomföra en säkerhetsrevision av dina företagsservrar, genomföra specialisters konsult, utföra alla typer av arbete på att konfigurera skydd av serverutrustning.