Website veiligheid

Status
Niet open voor verdere reacties.

aron5000

Gebruiker
Lid geworden
28 jul 2012
Berichten
54
Beste leden,

Ik ben bezig met een eigen website.
Alleen ik wil weten of mij alghortime voor mijn wachtwoorden wel goed is.
Daarom wil ik dat testen.
Ik had gelezen dat je je dat me een brute-force attack kon doen.
Alleen hoe maak je dan zo'n soort programma
Ik wil het volledig voor legale doeleinden gebruiken niet voor illigale.

Mvg, aron5000
 
Ik neem aan dat je algoritme een hash produceert
Je programmatje moet verschillende letter-, cijfercombinaties maken (alle mogelijke) en die dan hashen met jou algoritme, totdat een geproduceerde hash overeenkomt met de hash die je probeert te bruteforcen

TIP: zoek op google naar 'hashcat'
 
Hallo Aron5000,

Een brute-force heeft niks te maken met een alghoritme. Brute-force is een methode die wachtwoorden gewoon raadt, dus hij begint met 0, 1, 2, 3, 4, 5 en na 6 uur ofzo heeft hij a5t bijvoorbeeld. Daarbij is het als je dus eigen PHP applicaties bouwt belangrijker om MySQL injection, XSS, etc. te beveiligen. Hier bereik je veel meer mee dan een brute-force aanval. Daarbij kan een brute-force aanval eigenlijk bijna geen kwaad als je een sterk wachtwoord hebt.

Denk aan dat je het best een wachtwoord kan kiezen met hoofdletters, cijfers, tekens en moeilijk te achterhalen. Als je uit 1986 komt en je heet Aron is het niet verstandig om je wachtwoord als volgt te hebben: Aron1986.

Succes!
 
controleren of een systeem waterdicht is...is: Weten welk systeem je gebruikt en dan op internet gaan wat de veiligheids waarden zijn.
MD5 heeft bijvoorbeeld zo zijn eigenschappen. Hash is een veel gebruikte werkwijze maar zegt niks over het systeem. CRC en PGP Hashen ook.
Als je PHP gebruikt moet je dus kijken naar welke versie je van php gebruikt. Welke veiligheidssystemen zitten er in de versie en hoe heeft je provider (of jijzelf) die ingesteld staan. Dan als je weet welk systeem je gebruikt en onder welke voorwaarden. Kun je gaan kijken wat de kans is om gehackt te worden.

P.S. Veel mensen die een joomla/drupal/wordpress site draaien vergeten deze te updaten. Oudere versies barsten van de veiligheidsgaten. Bewustzijn is de grootste stap die je kan maken.
M.
 
De host provider heeft als het goed is het nodige aan apache, php en mysql gedaan.
Zet het volgende in je eigen .htaccess
Code:
RewriteEngine On

# remove directory listing
Options -Indexes

# Deny access to your config
<Files "zet hier de naam van je config file">
  order allow,deny
  deny from all
</Files>

# IF the URI contains http:
RewriteCond %{QUERY_STRING} http\: [OR]
# OR if the URI contains [ or ]
RewriteCond %{QUERY_STRING} \[ [OR]
RewriteCond %{QUERY_STRING} \] [OR]
# OR if the URI contains <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# OR if the script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# OR if any script is trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
# OR if the URI contains UNION
RewriteCond %{QUERY_STRING} UNION [OR]
# OR if the URI contains double slash
RewriteCond %{QUERY_STRING} // [OR]
# OR the request contains /proc/self/environ (LFI hack)
RewriteCond %{QUERY_STRING} proc\/self\/environ [OR]
# OR if the URI contains asterisk
RewriteCond %{QUERY_STRING} \*
# THEN deny the request 403
RewriteRule ^.*$ - [F,L]

# No advertising what you are running
ServerSignature Off
bron: CMSMS

...en de anderen gaven al aan : maak een sterk (lang) wachtwoord met hoofd- en kleine letters, cijfers en leestekens.

100% veilig zal het nooit worden. Het enige wat je kunt doen is het zo moeilijk mogelijk maken.

**Aanvulling**
Zorg in ieder geval ook dat het control panel en de FTP van je provider een ander (sterk) wachtwoord hebben.

**Aanvulling 2**
Zet alle bestandspermissies op 444 (tenzij dit bij sommige bestanden niet kan vanwege de werking)
 
Laatst bewerkt:
De host provider heeft als het goed is het nodige aan apache, php en mysql gedaan.
Zet het volgende in je eigen .htaccess
Code:
RewriteEngine On

# remove directory listing
Options -Indexes

# Deny access to your config
<Files "zet hier de naam van je config file">
  order allow,deny
  deny from all
</Files>

# IF the URI contains http:
RewriteCond %{QUERY_STRING} http\: [OR]
# OR if the URI contains [ or ]
RewriteCond %{QUERY_STRING} \[ [OR]
RewriteCond %{QUERY_STRING} \] [OR]
# OR if the URI contains <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# OR if the script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# OR if any script is trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
# OR if the URI contains UNION
RewriteCond %{QUERY_STRING} UNION [OR]
# OR if the URI contains double slash
RewriteCond %{QUERY_STRING} // [OR]
# OR the request contains /proc/self/environ (LFI hack)
RewriteCond %{QUERY_STRING} proc\/self\/environ [OR]
# OR if the URI contains asterisk
RewriteCond %{QUERY_STRING} \*
# THEN deny the request 403
RewriteRule ^.*$ - [F,L]

# No advertising what you are running
ServerSignature Off

Waarom heb ik hier nog nooit aan gedacht? Ik denk dat dit stukje heel veel mensen kan gaan helpen. Bedankt!
 
@bron: Perfecte reactie. Ik heb IIS maar kan dit makkelijk omschrijven naar web.config.
M.
 
@...thinker. Heel smart :d en suc6 met je config. Misschien kun je de code daarna delen?
 
Voor de liefhebber... 10 security tips op een rij.

1. Zorg dat de website en de uitbreidingen up-to-date zijn.
bekende bugs zijn verholpen, maar onbekende niet (website is nooit 100% waterdicht).

2. Controleer bij je provider of je de laatste php versie gebruikt die zij aanbieden.
Dit kun je bij sommige providers in htaccess instellen.

3. Neem verschillende sterke wachtwoorden voor je control panel (provider), website beheer (backend), database user, FTP user, en mailbox die je website gebruikt.

4. Gebruik geen 'admin' als gebruikersnaam voor het beheer!

5. Wijzig de naam van de map van je backend beheer.
www.domein.nl/wp-admin of www.domein.nl/admin zijn zo voorspelbaar.

6. Permissies: mappen maximaal 755, bestanden 444, tenzij het echt niet anders kan. Als je toch writable mappen/bestanden moet gebruiken, probeer deze dan voor de buitenwereld af te schermen (htaccess) met een "deny from all" voor deze mappen/bestanden.

7. Gebruik je een php/html website, blokkeer dan de rest.
Code:
# block access to cgi,perl,python,txt except robots.txt
<FilesMatch “.(cgi|pl|py|txt)”>
Deny from all
</FilesMatch>
<FilesMatch robots.txt>
Allow from all
</FilesMatch>

8. Perl bots kunnen een backdoor achterlaten en daarna weer makkelijk hacken.
Code:
# block perl bots
SetEnvIfNoCase User-Agent libwww-perl bad_bots
order deny,allow
deny from env=bad_bots

9. Natuurlijk de "Pagina niet gevonden"...
Code:
# Page not found
ErrorDocument 404 http://www.domein.nl/404.html

10. Zorg voor een goede beveilinging in je htaccess.
Zie de htaccess code in mijn vorige berichtje.

Veel succes. Heb je tips, verbeteringen of aanvullingen? Laat het dan graag weten.

**aanvulling**
11. Zet in mapjes die geen "index.__" bestand hebben een dummy "index.html"
In dit bestand staat geen html, alleen maar <!--dummy-->
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan