altRobots
/robotigs/icons/actuator.pngActuatoren
/robotigs/icons/printboards.pngAlgemeen
/robotigs/icons/chassis.pngChassis
/robotigs/icons/florigs.pngFlorigs
/robotigs/icons/interfacing.gifInterfacing
/robotigs/icons/microphone_icon.pngMuziek
/robotigs/icons/musicKey_icon.pngMuzikanten
/robotigs/icons/shield.pngSchildjes
/sys/icons/sensors.pngSensors
/robotigs/icons/languages.pngTalen
/robotigs/icons/battery.pngVoedingen
/sys/icons/microController.pngµControllers
altContact
Veiligheid"); echo ("  "); } ?>  "); /* echo (""); echo (" "); //Show pencil as button */ ?> alt  

Deze pagina is verouderd. Ga naar de vernieuwde pagina.

"); $counter = 0; $aantal = str_word_count($pict_list, 0, "0123456789"); $lijst = str_word_count($pict_list, 1, "0123456789"); while($counter < $aantal){ $pictkey = $lijst[$counter]; $qryy1 = ("SELECT * FROM illustrations WHERE ill_id = $pictkey ;"); $resulty1 = pg_query($con1, $qryy1); while($row = pg_fetch_array($resulty1)){ //Fields accesible by their name foreach( $row AS $key => $val ){ $$key = stripslashes( $val ); } } $image = ("/robotigs/documentatie/plaatjes/$ill_name"); $pictfull = str_replace('_small', '', $image); //Pictfull=biggest version $alt = ("Just wait till your 57...."); $txtname = get_txt($con1, 18, $koekje[2], $ill_id); //Robot illustrations subtitles echo (""); echo (''. $alt .'
'); $nummer = $counter + 1; $txtAfb = get_txt($con1, 9, $koekje[2], 3865); //Pic Afb if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo ("$txtAfb $nummer: "); echo ("$txtname"); echo ("
"); echo ("Ontkoppelen "); if ($counter==0){ echo ("Up "); }else{ echo ("Up "); } if ($nummer == $aantal){ echo ("Down"); }else{ echo ("Down"); } }else{ //Else of if Meaning the current useer is logged in echo ("$txtAfb $nummer: $txtname"); } echo ('

'); //End of this picture $counter++; //Prepair for next picture } echo (''); //All pictures are printed } //End of if there are 1 or more pictures to be printed ---------------------- ?>

Zie ook Aanmelden

Internetveiligheid komt in vele soorten en maten. Met veiligheid wordt hier bedoeld het beschermen van data en de continuïteit van het gehele systeem. Het verdient aanbeveling om uw systeem regelmatig te toetsen aan dit veiligheidsoverzicht en het is zeker verstandig om met alle gevallen rekening te houden. Daarom hieronder een overzicht van veiligheidsrisico`s met mogelijke oplossingen. Natuurlijk kan er ook geprobeerd worden om de eigen server te hacken om gaten te ontdekken.

  1. ZIP hack yourself
  2. Passwords
  3. Backup en Restore
  • Backup en Restore
  • Passwords zijn bijzonder belangrijk. Iemand in het bezit van een geldig password kan in principe het systeem hacken en onklaar maken of misbruik maken van data. Iemand die geen geldig password heeft, kan talloze trucjes uitproberen om toch een geldig password uit te vinden. Echter als een password aan onderstaande regels voldoet, dan wordt het bijna onmogelijk om een password te ontcijferen door een programma.

    • Toegestane tekens
    • De toegestane tekens voor een password zijn minimaal:
      abcdefghijklmnopqrstuvwxyz (alle kleine alfa tekens)
      ABCDEFGHIJKLMNOPQRSTUVWXYZ (alle grote alfa tekens)
      0123456789 (alle numerieke tekens)
      Er zijn nog vele andere karakters die ook toegestaan zijn, maar dit moet expliciet worden uitgezocht.

    • Niet toegestaan
    • Belangrijk is ook nog dat er een lijstje komt met karakters die niet toegestaan zijn en de verklaring daarvoor.
      Een veilig password mag nooit beginnen met @.

  • Zelfonderzoek Internetveiligheid Protocol
  • Het ZIP is in het leven geroepen om enkele basic controles uit te voeren die onze veiligheid op het internet moeten garanderen. Afgezien van common sense tijdens het gebruik van een servercomputer is het verstandig om ons bijvoorbeeld te wapenen tegen onze crackende broeders. Of onze luisterende broeders. Deze criminelen hebben vele (geautomatiseerde) tools tot hun beschikking, ondanks dat het in Nederland verboden is om dergelijke tools zelfs maar op je computer te hebben staan. Maar ja, crackers kunnen overal ter wereld zitten. Waar kunnen we eigenlijk aangevallen worden? Dat is helaas op meerdere manieren.

    • Crackers
    • Dit is de makkelijkste manier om te proberen. Vrijwel iedereen met een beetje netwerkkennis heeft wel toegang tot het internet. Die kan heel wat op u loslaten, maar u kunt zich er ook heel redelijk tegen wapenen. Zet op uw server gewoon geen poorten open. En controleer degene die u openzet wel nauwkeurig. Let er ook op dat al uw met internet verbonden hardware een password heeft. In onze huidige configuratie staat enkel poort 80 open.

    • Internettap
    • Een internettap (wiki) is een illegale manier om te proberen binnen te komen. Er is ook speciale hardware voor nodig. Zo moet u wel met een password inloggen op uw router, maar als u vervolgens alles via een niet versleutelde verbinding verstuurd dan kunt u er vrijwel zeker van zijn dat het mogelijk is om bijv. passwords te onderscheppen. Dit kan ook door bijv. het wifi radio-signaal te onderscheppen. Die kan dus heel wat afluisteren, maar hier helpt encryptie.

    • PING
    • Allereerst gaat een cracker je computer opzoeken. Ping wordt vooral gebruikt om netwerkverbindingen te controleren. Ping bekijkt of een ipadres of URL bestaat en on-air is en meet vervolgens de tijd die nodig is voor een antwoord van het aangeroepen apparaat. Om ons netwerk te testen doe:
      ping 145.132.86.92
      Ping is niet erg spectaculair, maar wel erg handig om netwerkverbindingen te testen. Ping bestaat dan ook onder ieder OS en het is zo simpel dat het ook veilig wordt geacht onder ieder OS. Het staat standaard dan ook vrijgegeven op alle apparatuur die ik ken. Maar het wordt ook gebruikt om bestaande IP adressen op te sporen. Ping kan worden uitgezet in onze router, onder DATA / FIREWALL. Doe dit.

    • nslookup
    • Een NameServer lookup laat alle info zien die er bekend is in de nameservers op het internet. Doe:
      nslookup robotigs.nl of
      nslookup -type=soa robotigs.nl

    • nmap
    • Neem van mij aan dat iedere cracker dit programma kent en het ook zal gebruiken. Hij gaat op die manier bergen informatie verzamelen over uw systeem. Zo gaat hij met:
      sudo nmap -O localhost
      kijken welke poorten er bij u openstaan. Iedere poort die openstaat geeft hem een potentiële kans op inbreken. Het nummer van de poort vertelt hem precies welk programma er draait en in combinatie met het OS weet hij of hij u kan aanvallen. Des te minder poorten er open staan des te minder risico u loopt. De veiligste weg is dan ook om altijd eerst te kijken op de server zelf wat er aan poorten openstaat en pas daarna te kijken wat de router daarvan ook nog eens doorlaat naar de buitenwereld. Een server heeft altijd poorten openstaan voor inkomend verkeer. Dat wil zeggen dat deze poorten data zullen verwerken als iemand ze daar naartoe stuurt. Het zijn natuurlijk niet de poorten zelf die het dataverkeer verwerken, maar de deamons die daartoe zijn opgestart door de server. De deamons bieden vervolgens een bepaalde service. Dat wil nog niet zeggen dat alle data wordt geaccepteerd, want het kan bij bepaalde service ook noodzakelijk zijn om bijv. te moeten inloggen. Daarom is een goede configuratie van de deamons erg belangrijk. Nmap is een programma dat wordt gebruikt om te kijken welke poorten er open staan op een bepaald IP-adres. Dat is vooral handig voor de systeembeheerder die zich wil wapenen tegen crackers. Des te minder poorten er open staan, des te minder aanvallen er mogelijk zijn. Aan de andere kant is het wel nodig om bepaalde poorten open te zetten, anders is er geen communicatie mogelijk. Maar zet ze gecontroleerd open. Nmap kan via Ubuntu installer worden geïnstalleerd.

    • Poorten
    • De volgende stap die een cracker onderneemt is het bekijken van de poorten. Laten wij dat als eerste doen en zorgen dat er zo min mogelijk poorten openstaan. Laten we bij het begin beginnen en dat is bij de programma s die de poorten openen en de reden waarom ze worden geopend.

      1. 21/tcp ftp
      2. Deze poort bedient de file transfer protocol aanvragen die binnenkomen via een niet beveiligde aanvraag (wiki). U kunt de status van deze poort controleren met: portprobe. Deze staat open op alle niveaus, dus zowel naar buiten, als binnen het thuisnetwerk alsook op localhost staat deze poort open. En dat willen we ook want dit is de poort waarmee we op afstand onze website kunnen bewerken. Doe nooit anonymus maar altijd dat een gebruiker moet inloggen. Zie ook vsftp set-up.

      3. 25/tcp smtp
      4. Deze poort bedient de Simple Mail Transfer Protocol aanvragen die binnenkomen via een niet beveiligde aanvraag (wiki) en geeft als status: stealth. Dat is uitstekend.. U kunt de status van deze poort controleren met: portprobe. Deze staat open op alle niveaus, dus zowel naar buiten, als binnen het thuisnetwerk alsook op localhost staat deze poort open. En dat willen we ook want we willen mail kunnen ontvangen en zenden.

      5. 80/tcp http
      6. Deze poort bedient de Hypertext Transfer Protocol aanvragen die binnenkomen via een niet beveiligde aanvraag (wiki). U kunt de status van deze poort controleren met: portprobe. Deze staat open op alle niveaus, dus zowel naar buiten, als binnen het thuisnetwerk alsook op localhost staat deze poort open. En dat willen we ook want dit is de poort die onze website aanbiedt, oftewel onze internet server. Omdat hij openstaat verdient de configuratie van Apache aandacht m.b.t. tot de veiligheid. Ditzelfde geldt natuurlijk ook voor alle modules van Apache zoals PHP.

      7. 139/tcp netbios-ssn
      8. Deze poort bedient de Network Basic Input Output System aanvragen die binnenkomen via een niet beveiligde aanvraag (wiki). Dit is te checken met: portprobe en geeft als status: stealth. Dat is uitstekend. Dit is de poort die Samba aanbiedt, oftewel de netwerkschijven. Deze poort zal niet mogen werken voor gebruikers buiten ons lokale netwerk en mag dus ook niet geforward worden via de router. Deze poort is namelijk vatbaar voor een dDos aanval. En die willen we niet. Echter op ons lokale netwerk willen we ook een fileserver hebben waar we centraal bestanden op kunnen wegleggen en back-uppen. Blokken in de router is niet nodig, want hij wordt gewoonweg niet geopend en is dus closed. Kijk ook bij de Samba installatie.

      9. 445/tcp microsoft-ds
      10. Deze poort bedient de Server Message Block aanvragen die binnenkomen via een niet beveiligde aanvraag (wiki). Dit is te checken met: portprobe en geeft als status: stealth. Dat is uitstekend. Dit is de vernieuwde port voor Samba. Is erg gevoelig voor wormen. Helaas is de poort nodig voor DHCP communicatie binnen een netwerk. Gelukkig heeft de provider hem voor ons van buitenaf geblokkeerd. Zou geen kwaad mogen kunnen omdat dit op een Linux machine draait. Blokken in router geeft zekerheid en is eleganter en gebeurt tegenwoordig dus ook default.

      11. 631/tcp ipp
      12. Deze poort bedient de Internet Printing Protocol aanvragen die binnenkomen via een niet beveiligde aanvraag (wiki). Dit is te checken met: portprobe en geeft als status: stealth. Dat is uitstekend. Deze poort staat open vanwege cups: http://localhost:631/admin/. Dit staat enkel open op de localhost en wordt dus lokaal gebruikt om prints verzonden te krijgen.

      13. 5432/tcp postgresql
      14. Deze poort bedient de PostgreSQL aanvragen die binnenkomen via een niet beveiligde aanvraag (wiki). Dit is te checken met: portprobe en geeft als status: stealth. Dat is op zich uitstekend, maar betekend ook dat ik niet van buitenaf met PgAdmin3 kan werken. Beter is dan ook om PgAdmin4 lopend te krijgen, zodat de opening sowieso beperkt kan blijven tot localhost.

  • Passwords
  • Passwords zijn bijzonder belangrijk. Iemand in het bezit van een geldig password kan in principe het systeem hacken en onklaar maken of misbruik maken van data. Iemand die geen geldig password heeft, kan talloze trucjes uitproberen om toch een geldig password uit te vinden. Echter als een password aan onderstaande regels voldoet, dan wordt het bijna onmogelijk om een password te ontcijferen door een programma.

    Kraakbaar zijn al die passwords die door vergelijkend proberen kunnen worden getest, dwz: datums, eigen-namen, woorden uit woordenboeken, toetsenbordsequenties. Het beste is een acroniem (te onthouden), voorzien van een niet-alfa-numeriek teken met een lengte van 8 posities. Deze voorwaarden zorgen ervoor dat een password bijna onkraakbaar wordt door bijna alle automatische password krakers. Zij hebben de beschikking over programma`s die dit rustig voor hen uitzoeken!

    Goede passwords zijn een mix van nummers en letters (waarbij de letters zowel groot als klein moeten zijn) en 1 letterteken zoals het verbindingsstreepje. Een goed password heeft minimaal 8 tekens. Het is voorlopig makkelijk om gebruikersnaam en password gelijk te houden aan de windows inloggegevens. Maak een gebruikersnaam niet langer dan 8 posities, ivm Windows? Access? Novell? Linux? Samba?

    Zodra een medewerker de organisatie verlaat, moeten zijn passwords worden gewijzigd/verwijderd. Er zou eigenlijk een boomstructuur moeten bestaan, met bovenaan de projectleider. Passwords kunnen geheim gehouden worden dmv enveloppen. Af en toe (per kwartaal?) zal er een controle ronde gehouden moeten worden. Dwz in het bijzijn van de gebruiker eerst enveloppen openen, vervolgens controleren en dan een nieuw password instellen en dit testcracken. Let in deze controleronde ook op de autorisaties van de users.

    • Toegestane tekens
    • De toegestane tekens voor een password zijn minimaal:
      abcdefghijklmnopqrstuvwxyz (alle kleine alfa tekens)
      ABCDEFGHIJKLMNOPQRSTUVWXYZ (alle grote alfa tekens)
      0123456789 (alle numerieke tekens)
      Er zijn nog vele andere karakters die ook toegestaan zijn, maar dit moet expliciet worden uitgezocht.

    • Niet toegestaan
    • Belangrijk is ook nog dat er een lijstje komt met karakters die niet toegestaan zijn en de verklaring daarvoor.
      Een veilig password mag nooit beginnen met @.


$val ){ $$key = stripslashes( $val ); } $jaar = substr($changeddate,0,4); $maand = substr($changeddate,5,2); $dag = substr($changeddate,8,2); $lastupdate = ("$jaar $maand $dag"); $prtsrttxt = get_txt($con1, 26, 1, $idsrtodd); $jaar = substr($createddate,0,4); $maand = substr($createddate,5,2); $dag = substr($createddate,8,2); $create_stamp = ("$dag $maand $jaar"); //GENERAL INFO FOR EVERY USER ************************************************** echo ("

"); echo (""); if ($codetext) { //Code like KY-026 or NA-41 echo (""); } //End of if ($codetext) $tmp = get_txt($con1, 9, $koekje[2], 3741); //Fieldname at screen if ($prijseurinclbtw > 0){ //Show price indication $prijs_formatted = number_format($prijseurinclbtw / 100, 2, ',', '.'); echo (""); echo (""); } //End of if ($prijseurinclbtw > 0) if ($sketchtext) { //Link to OWN SOFTWARE $tmp = get_txt($con1, 9, $koekje[2], 3738); //Fieldname at screen echo (""); } //End of if ($sketchtext) $tmp = get_txt($con1, 9, $koekje[2], 3744); //Fieldname at screen if ($pinouttext) { //Pinout echo (""); } $tmp = get_txt($con1, 9, 1, 3735); //Fieldname at screen $tmp2 = get_txt($con1, 26, 1, $row4[16]); //Group name in its language echo (""); if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates $tmp = get_txt($con1, 9, $koekje[2], 3918); //Fieldname at screen LANGUAGE if ($row4[26] == 1) {$imgname = "nederland.png";} if ($row4[26] == 2) {$imgname = "deutschland.png";} if ($row4[26] == 3) {$imgname = "uk.png";} if ($row4[26] == 4) {$imgname = "france.png";} echo (""); $tmp = get_txt($con1, 9, $row4[27], 3919); //Fieldname at screen $statuskey = get_status_key($con1, $status); $tmp2 = get_txt($con1, 61, $koekje[2], $statuskey); //Fieldname at screen echo (""); } $tmp = get_txt($con1, 9, 1, 3966); //Fieldname at screen echo (""); echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3923); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo (" (edit)"); } echo ("Algemene informatie test
"); $tmp = get_txt($con1, 9, $koekje[2], 3739); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //Class for colour }else{ //So you are not allowed to translate echo $tmp; //Show screenname of this field in user language } //End of If you want to translate this fieldname at screen echo (" "); if ($codelink) { echo ("$codetext"); }else{ echo ("$codetext"); } //End of if ($pinoutlink) echo ("
$tmp  "); if ($urlprijs){ echo ("€  $prijs_formatted"); }else{ echo ("€  $prijs_formatted"); } //End of if ($urlprijs > "") echo ("
$tmp  "); if ($sketchlink) { echo ("$sketchtext"); }else{ echo ("$sketchtext"); } //End of if ($sketchlink) echo ("
$tmp  "); if ($pinoutlink) { echo ("$pinouttext"); }else{ echo ("$pinouttext"); } //End of if ($pinoutlink) echo ("
$tmp  "); //MENU GROUP echo (""); echo ("$tmp2
$tmp"); echo ("flag.gif"); echo ("
$tmp  "); //STATUS echo ("$status $tmp2
$tmp  "); //LAST CHANGED $tmp = substr($changeddate, 0, 10); echo ("$tmp

"); return; //////////////////////////////////////////////////////////////////////////////// function get_status_key($con, $num){ $qry = ("SELECT id FROM status WHERE nr = $num ;"); $result = pg_query($con, $qry); $row = pg_fetch_array($result); return ("$row[0]"); } 0 AND software.rstid = 2 AND tblsystext.lanid = $koekje[2] AND tblsystext.txlid = 19 ORDER BY sftname ASC , controller ASC ;"); $result = pg_query($con1, $qry2); if (pg_num_rows($result)>0) { //Only if at least 1 program exists echo ('

'); echo (""); while($col = pg_fetch_array($result)){ $col[0] = ("$col[0]"); echo (""); echo (""); echo (""); if ($koekje[0] > 0 and $koekje[3]>0){ //User is logged in and translates echo (""); } echo (''); } echo ('
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3922); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$col[2]  $col[0]"); echo ("(Edit)
'); } ?> 0){ if ($header == 0) { echo ("

"); echo (""); $header++; } //End of if ($header == 0) echo (""); echo (""); } } if ($header > 0){ echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3879); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$colbpp[2]"); //Show software van deze bot $qry=("SELECT software_basedir FROM farmbotversie WHERE id = $colbpp[0];"); $result = pg_query($con1, $qry); $col = pg_fetch_array ($result ,0); $dir1 = "/var/www/html/robotigs/software/$col[0]"; $arr1 = glob($dir1, GLOB_ONLYDIR); if (isset($arr1[0])){ $folder = $arr1[0]; $countertmp = 0; echo ("
    "); foreach (scandir($folder, 1) as $filename) { if ($filename<>"." AND $filename <>".."){ if ($countertmp == 0){ $countertmp++; } //End of if ($countertmp == 0) $tmp = "/"; $dir = substr($folder, 14) ."/"; $link = $tmp .$dir .$filename; $showname = substr($filename, 0 ,-4); echo ("
  • "); echo "$showname"; echo ("
  • "); } //End of if ($filename<>"." AND $filename <>".."){ } //End of foreach (scandir($folder, 1) as $filename) echo ("
      "); } //End of if (isset($arr1[0])) echo ("
"); } ?>
Warning: include(/var/www/html/robotigs/includes/wishlistperpart.php): Failed to open stream: No such file or directory in /var/www/html/robotigs/includes/parts_header.php on line 128

Warning: include(): Failed opening '/var/www/html/robotigs/includes/wishlistperpart.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/robotigs/includes/parts_header.php on line 128