ip-adres faken?
Weet iemand of een ip-adres kan worden gefaket?
Stel ik wil een bepaald gedeelte van mijn website alleen toegankelijk maken voor mijn computer, is een controle op ip-adres dan genoeg? Of kan een ip-adres gefaket worden?
Een controle of het ip 127.0.0.1 is, is veilig genoeg.
Alleen als je localhost draait neem ik aan? Maar dat doe ik niet...
Ik wil dus controleren op mijn normale ip-adres.
Stel mijn ip-adres is 70.12.345.123 en ik controleer daar op, kan dan niet iemand anders dit ip-adres faken waardoor hij ineens toegang krijg tot mijn afgeschermde pagina's?
Zet je dit in een session? Zo ja, pas dan op voor session hijacking.
Ik kan gewoon op ip-adres controleren via $_SERVER['REMOTE_ADDR'] of misschien dat ik het blokkeer vanuit de virtual host. Mijn enige vraag is of het te faken is? Kan iemand anders mijn ip-adres faken en op die manier de afgeschermde pagina's zien?
Hoewel dat dat je enige vraag is, denk ik even verder dan jij. :)
Je ipadres verandert niet vaak, maar kan dus wel, houd daar rekening mee.
Stel nou klant X heeft een probleem.
Jij bent niet op de locatie waarop dat ipadres beschikbaar is.
Hoe wil je klant X dan toch helpen?
Je ipadres tijdelijk veranderen kan natuurlijk altijd.
Dan hebben we nog zoiets als een "man in the middle".
Dus iemand die tussen tussen jou en je remote server mee luistert.
Heb je daar aan gedacht?
Ik weet niet of je over het lijntje tussen jou ip en je server zeer vertrouwelijke informatie gaat versturen, maar dan zou het denk ik wel gewenst zijn om iets van een versleutelde verbinding te hebben (https).
Daarvoor heb je 2 opties:
- Een SSL certificaat kopen.
- Een self signed certificaat genereren.
Optie 2 kan in dit geval.
Echter, omdat hij een eigen handtekening heeft zal waarschijnlijk je browser gaan lopen mekkeren dat hij niet juist is. Maar dan heb je i.i.g. een lijntje dat de informatie versleuteld word verstuurd.
Gewijzigd op 27/01/2013 04:12:23 door Bart V B
En nog iets: achter een IP-adres kan een netwerk schuilgaan. Mijn laptop, de iPad van mijn vrouw en de PlayStation van mijn zoon hebben alle drie tegelijk hetzelfde IP-adres. Achter één IP-adres kan bijvoorbeeld ook een bedrijfsverzamelgebouw met verschillende bedrijven schuilgaan.
Dus om gegevens te laten zien is dat niet z'n probleem maar voor het maken van wijzigingen wel.
Stel je voor ik heb een pagina deleteall.php die alles verwijderd. Als die alleen van ip 1.2.3.4 aangeroepen mag worden en dan alles verwijderd kan het ip gespoofd worden. Iemand die het ip spoofd kan dan deleteall.php aanroepen, hij krijgt geen response maar de acties worden wel uitgevoerd.
http://nl.wikipedia.org/wiki/Internet_protocol_spoofing
@Ozzie, het antwoord op je vraag kan een ipadres gefaked worden is JA en hier vind je de toelichting: Gewijzigd op 27/01/2013 13:05:32 door Aad B
Ik zal even uitleggen waarom ik het vraag. Momenteel ben ik bezig met het inrichten van mijn VPS en ik ga nu ook beginnen met programmeren. Ik heb nu in <Directory /home/xxx/public_html></Directory> ingesteld dat alle ip-adressen behalve mijn eigen ip-adres en de localhost geen toegang hebben. Ik kan nu rustig mijn gang gaan en lekker programmeren etc. zonder dat iemand van buitenaf kan zien wat ik doe en bijvoorbeeld allerlei error meldingen op z'n scherm krijgt.
Als straks alles klaar is gooi ik die controle op ip-adres eruit.
Echter, ik wil dan graag nog 1 website installeren op mijn VPS die ik kan gebruiken voor testdoeleinden. Bijvoorbeeld www.mijntest.nl Deze wil ik dan blokkeren aan de hand van het ip-adres zodat ik deze site kan gebruiken om te programmeren en voor testdoeleinden. Mijn idee was dan om enkel een controle op ip-adres te doen. Maar als dat inderdaad gespoofd kan worden zoals hierboven in de link van Aad B wordt omschreven, dan heb ik daar niet zo veel aan.
Wat misschien een betere optie is, is om een "fake website" te maken en dat ik die dan via het "hosts" bestand van Windows naar mijn VPS laat leiden. Is dat een beter idee?
Graag jullie reactie!
Als je het dan een keer aan klanten o.i.d. wilt laten zien geef je die een eigen username/password. De rest komt er niet.
Edit:
De htaccess metohode van Tjeerd vind ik wel de beste oplossing voor toegang. Geen gedoe met ipnummers.
Gewijzigd op 27/01/2013 14:52:02 door Aad B
@Aad: Thanks voor je toelichting. Daar heb je ook zeker een punt. Ik heb echter maar 1 VPS. En ik wil ook op die VPS ontwikkelen en niet op een lokale kopie of iets dergelijks. Dus ja, je hebt gelijkt, maar ik ben helaas niet in de luxe positie dat ik me (op dit moment) een aparte productie- en test-omgeving kan veroorloven. De vraag is wat dan de beste oplossing is.
Toevoeging op 27/01/2013 14:56:59:
Aad B op 27/01/2013 14:51:09:
Edit:
De htaccess metohode van Tjeerd vind ik wel de beste oplossing voor toegang. Geen gedoe met ipnummers.
[/quote]
Maar htaccess zit toch niet echt een beveiligingsmechaniek achter, bijv. dat je naar xxx pogingen voor xxx tijd geblockt wordt?
[/quote]
Maar htaccess zit toch niet echt een beveiligingsmechaniek achter, bijv. dat je naar xxx pogingen voor xxx tijd geblockt wordt?
Ozzie PHP op 27/01/2013 14:55:38:
@TJVB; Zou kunnen, maar ik heb het gebruik van .htaccess bestanden uitgeschakeld omdat dit niet zo gunstig is voor de performance.
Ik heb nog nooit gehoord dat het gebruik van een .htaccess bestand een significant verschil maakt in performance. Maar je kunt het ook in je httpd.conf regelen
Maar afgezien daarvan... .htaccess is toch geen goede manier van beveiligen? Want er wordt nergens op gecontroleerd en je wordt ook niet geblockt na xxx pogingen.
Ozzie PHP op 27/01/2013 15:05:59:
Dan kun je <Directory>...</Directory> gebruiken.Dan zou ik moeten kijken of dat wel kan. Ik heb namelijk AllowOverride overkoepelend op None gezet.
Hoi Ward, dat heb ik nu ook inderdaad zoals jij zegt. Echter, volgens de heren hierboven is dat geen goede beveiliging.
Een 404 Not Found is soms bijvoorbeeld eleganter, omdat je hier met een 403 Forbidden bevestigt dat de directory bestaat.