KamerBeveiliging
Er zijn diverse manieren waarop je toegang tot je kanaal kan beperken. Dit artikel behandelt diverse suggesties om je kanaal te beveiligen tegen tegen aanvallen van kwaadwillende gebruikers.
Bedenk wel dat de beste manier om ervoor te zorgen dat je reguliere chatters zo min mogelijk overlast hebben van kwaadwillende gebruikers, nog steeds het hebben van voldoende actieve en betrouwbare operators in je kanaal is.
Contents
Geheim kanaal
De simpelste (en wellicht minst effectieve) manier om elke willekeurige gebruiker uit je kamer te weren, is door je kamer 'geheim' te maken met:
/MODE #kamernaam +s
Als je bijvoorbeeld je kanaal #onzeGeheimeSchuilplaats 'geheim' wilt maken, dan voer je uit:
/MODE #onzeGeheimeSchuilplaats +s
Dit zal je kanaal verbergen van de kamerlijst /LIST en van de /WHO en /WHOIS resultaten van gebruikers (tenzij ze al in dat kanaal zitten).
Voordelen
- Kan gebruikt worden op niet-registreerde kamers.
- Simpel in te stellen.
- Voorkomt dat willekeurige gebruikers je kamernaam ontdekken via de /LIST, /WHO of /WHOIS commando's.
Nadelen
- Als iemand jouw kamernaam in een ander kanaal vermeldt, dan kunnen (kwaadwillende) gebruikers alsnog je kanaal ontdekken.
- Je krijgt wellicht minder snel nieuwe gebruikers, aangezien mensen met vergelijkbare interesses je kanaal niet kunnen ontdekken via /LIST
- De kamermode zal verloren gaan als het kanaal vernietigd wordt (wat automatisch bijvoorbeeld gebeurd wanneer er niemand meer in het kanaal is. Dit kan omzeild worden voor geregistreerde kamers, door de +s mode toe te voegen aan de ChanServ MLOCK instelling van het kanaal.
Kamer sleutel
Een van de meer naieve manieren om toegang tot een publiek kanaal te beperken, is het instellen van een kamer sleutel:
/MODE #kamernaam +k sleutelwoord
Om bijvoorbeeld te vereisen dat mensen de kamer sleutel 'onsGeheimeWoord' kennen om de kamer #onzeStafledenKamer binnen te gaan, moet je dit commando uitvoeren:
/MODE #onzeStafledenKamer +k onsGeheimeWoord
If people want to join the channel then, they'd have to specify the key in the join command: Als mensen dan de kamer willen betreden, dan moeten ze de sleutel opgeven in het 'join' commando:
/JOIN #kamernaam sleutelwoord
Voor onze voorbeeld kamer is dat bijvoorbeeld:
/JOIN #onzeStafledenKamer onsGeheimeWoord
Voordelen
- Kan gebruikt worden op niet-registreerde kamers.
- Simpel in te stellen.
- Voorkomt dat willekeurige gebruikers het kanaal binnen kunnen komen wanneer ze het in de kamerlijst zien met /LIST.
Nadelen
- De kamermode zal verloren gaan als het kanaal vernietigd wordt (wat automatisch bijvoorbeeld gebeurd wanneer er niemand meer in het kanaal is. Dit kan omzeild worden voor geregistreerde kamers, door de +s mode toe te voegen aan de ChanServ MLOCK instelling van het kanaal.
- De eerste gebruiker die binnenkomt heeft niet het sleutelwoord nodig om binnen te komen, aangezien het kanaal feitelijk nog niet bestaat op dat moment, en dus ook nog niet de +k mode heeft. Dit kan omzeild worden door de ChannelKeeper bot aan te vragen voor je kanaal, om hem te allen tijde open te houden.
- Het is lastiger voor mensen om je kamer binnen te treden als ze een applet gebruiken.
- Sleutelwoorden kunnen snel nutteloos gemaakt worden wanner een kwaadwillende gebruiker achter het sleutelwoord komt (bijvoorbeeld doordat iemand anders in het kanaal het sleutelwoord aan ze heeft gegeven, of door het op je website te lezen). Let verder ook op dat iedereen in het kanaal kan zien wat het huidige kamer sleutelwoord is, aangezien het onderdeel is van de kamer modi, en alle modi altijd zichtbaar zijn voor gebruikers in het kanaal. Kortom, als iemand 'invited' wordt in het kanaal, kunnen ze alsnog het sleutelwoord zien.
Alleen-uitnodigingen
Instellen kamermode
Je kan toegang tot je kamer beperken door alleen 'uitgenodigden' (/invite) toe te staan. Je kan je kamer 'invite-only' (alleen-uitnodigingen) maken via kamermode +i:
/MODE #channel +i
Om bijvoorbeeld de voorbeeldkamer #onzeStafledenKanaal invite-only te maken, gebruik
/MODE #onzeStafledenKanaal +i
Gebruiker uitnodigen
Om een gebruiker uit te nodigen gebruik je het commando:
/INVITE nicknaam #kamernaam
Bijvoorbeeld, om de gebruiker JackDaniels uit te nodigen in #onzeStafledenKanaal, voer je uit:
/INVITE JackDaniels #onzeStafledenKanaal
Het invite commando kan alleen door operators (@/+o) en hoger gebruikt worden wanneer de kamer 'invite-only' is. Pas op! Het uitnodigen van willekeurige mensen kan gezien worden als een vorm van reclame maken en zou een schending van de gebruiksregels van het IRC netwerk kunnen zijn.
Knock/Kloppen
Een chatter kan ook verzoeken om uitgenodigd te worden tot een kamer met het /KNOCK commando:
/KNOCK #kamernaam je bericht komt hier
Als je bijvoorbeeld tot het #onzeStafledenKanaal uitgenodigd wilt worden, kan je tikken:
/KNOCK #onzeStafledenKanaal Hei jongens, laat me er alsjeblief in. Itsa me! Mario!
De operators in de kamer krijgen dan een 'opnotice' met jouw nickname, ident@host.mask en het bericht dat je hebt verzonden:
NoticeOp(eu.chat4all.org): [Knock] by JackDaniels!Jack@the.liquor.cabinet (Hei jongens, laat me er alsjeblief in. Itsa me! Mario!)
Waarop zij kunnen beslissen of ze een /INVITE op je doen of niet (of je bannen als je ze lastig valt met kloppen).
Je kan niet kloppen (/KNOCK) wanneer:
- je gebanned bent
- je al in het kanaal zit
- het kanaal niet invite-only is
Voordelen
- Willekeurige gebruikers kunnen niet het kanaal in zonder je toestemming.
- Je kamer kan publiek blijven (en dus in /LIST gevonden worden) en geinteresseerde gebruikers kunnen /KNOCK gebruiken om je te laten weten dat ze graag binnengelaten willen worden
Cons
- Een invite omzeilt alle bans (als je een gebruiker uitnodigd die anders niet toegelaten zou worden vanwegen een +b kamermode ban, wordt die dan wel toegestaan om binnen te komen).
Niet-geregistreerde kamers
Niet-geregistreerde kamers hebben alleen toegang tot de bovenstaande commando's. Zij zullen ook de +i mode verliezen als de kamer niet meer bestaat (bijvoorbeeld als de laatste gebruiker het kanaal verlaat).
Extra nadelen voor niet-geregistreerde kamers
- De +i mode zal verloren gaan wanneer de kamer 'vernietigd' wordt omdat de laatste chatter het kanaal verlaten heeft.
- De eerste gebruiker die binnenkomt, hoeft niet uitgenodigd te worden, omdat +i alleen ingesteld wordt nadat de eerste gebruiker binnenkomt. Dit kan alleen omzeild worden voor geregistreerde kamers die ChannelKeeper gebruiken in combinaties met de ChanServ MLOCK instelling van het kanaal; zie de volgende sectie voor details.
- Er moet altijd een operator actief zijn om mensen binnen te laten (alhoewel er voor geregistreerde kanalen manieren zijn om hieromheen te werken, maar dit wordt in de volgende secties behandeld).
Geregistreerde kamers
Geregistreerde kamers kunnen de +i kamermode toevoegen aan de ChanServ MLOCK instelling van het kanaal, zodat die automatisch ingesteld wordt (en niet toegestaan zal worden om de mode te verwijderen) gedurende het 'openen' van het kanaal (wanneer de eerste gebruiker het kanaal binnenkomt). Echter, aangezien geen enkele kanaalmode effectief is wanneer een kamer nog geen gebruikers heeft, kan de eerste gebruiker die het kanaal binnenkomt, dit doen zonder uitgenodigd te worden (aangezien +i pas gezet wordt nadat de eerste chatter binnenkomt. Dit kan omzeild worden door een IRC Operator in #help te vragen om de ChannelKeeper bot aan de kamer toe te voegen om het kanaal te allen tijde open te houden.
Registreerde chatters met de juiste rechten kunnen ook het /CHANSERV INVITE #kamernaam commando gebruiken om zichzelf uit te nodigen tot het kanaal. Zie de volgende secties voor details over wat de juiste rechten zijn. Bijvoorbeeld, om jezelf uit te nodigen in het #onzeStafledenKanaal, kan je tikken:
/CHANSERV INVITE #onzeStafledenKanaal
Dit kan alleen gebruikt worden om jezelf uit te nodigen, en niet anderen.
Extra voordelen voor geregistreerde kamers
- Je kan +i toevoegen aan de ChanServ MLOCK instelling van het kanaal.
- Je kan de ChannelKeeper bot aanvragen om je kamer te allen tijde open te houden, zodat de +i mode ook effectief is als er nog geen 'echte' chatters in je kamer zitten.
- CHANSERV INVITE kan gebruikt worden door geregistreerde gebruikers met de juiste rechten om zichzelf uit te nodigen tot het kanaal.
Extra nadelen voor geregistreerde kamers
- Access levels moeten worden beheerd.
Gebruikmakend van xOP systeem
Als je het xOP ChanServ gebruikersbeheer systeem gebruikt (wat standaard is voor nieuwe registreerde kamers), dan kan je mensen aan de AOP lijst toevoegen om ze toe te staan om zichzelf uit te nodigen tot het kanaal via ChanServ:
/CHANSERV AOP #kamernaam ADD nickname
Bijvoorbeeld, om JackDaniels aan de AOP lijst van #onzeStafledenKanaal toe te voegen, voer je dit uit:
/CHANSERV AOP #onzeStafledenKanaal ADD JackDaniels
Waarna JackDaniels zichzelf met:
/CHANSERV INVITE #onzeStafledenKanaal
kan uitnodigen tot het kanaal door ChanServ (als BOTSERV SET SYMBIOSIS ingesteld is op ON en er een BotServ bot aangewezen is voor het kanaal, dan komt de uitnodiging van de aangewezen BotServ bot).
Extra nadelen voor xOP
- Het gebruik van CHANSERV INVITE kan alleen maar toegewezen worden aan gebruikers met AOP status of hoger.
Gebruikmakend van het ACCESS systeem
Als je gebruik maakt van het ACCESS LEVELS systeem in plaats van het xOP systeem, dan heb je iets meer controle over wie je toegang geeft tot het ChanServ INVITE commando waarmee chatters zichzelf tot een kamer kunnen uitnodigen. Voor meer informatie over hoe je het ACCESS LEVELS systeem kan activeren door het uitschakelen van het xOP systeem, lees a.u.b. het hoofdartikel over access levels.
Met de standaard access levels kan je een gebruiker een minimum niveau van 5 toewijzen via je kamers ChanServ Access lijst:
/CHANSERV ACCESS #kamernaam ADD gebruikersnaam niveau
Bijvoorbeeld om JackDaniels niveau 5 toegang te geven op het #drankWinkel kanaal, kan je het volgende commando uitvoeren:
/CHANSERV ACCESS #drankWinkel ADD JackDaniels 5
Je kan er ook voor kiezen om het minimaal benodigde niveau voor het ChanServ INVITE commando te verlagen met:
/CHANSERV LEVELS #kamernaam SET INVITE minNiveau
For instance to lower the minimum required access level for INVITE on #liquoreStore to 1, you can use: Bijvoorbeeld om iedereen met minimaal access niveau 1 toegang te geven tot het INVITE commando voor de kamer #drankWinkel, gebruik je:
/CHANSERV LEVELS #drankWinkel SET INVITE 1
Nu kan iedereen met toegangsniveau 1 of hoger het INVITE commando gebruiken.
Bijvoorbeeld:
/CHANSERV ACCESS #drankWinkel ADD JackDaniels 1
zal nu JackDaniels toestaan om /CHANSERV INVITE #drankWinkel te gebruiken, zonder hem ook gelijk KICK/OP/etc rechten te geven (tenminste met de standaard chanserv levels instellingen)
Extra voordelen voor ACCESS
- Het gebruik van CHANSERV INVITE kan toegewezen worden aan gebruikers met het minimale niveau dat je zelf instelt.
ChanServ Restricted
Met de ChanServ RESTRICTED instelling kan je mensen die geen toegang hebben tot je kanaal, automatisch laten kick-bannen. Dit stel je in met:
/CHANSERV SET #kamernaam RESTRICTED [ON|OFF]
Bijvoorbeeld, om de ChanServ RESTRICTED instelling voor de kamer #drankWinkel te activeren, gebruik je:
/CHANSERV SET #drankWinkel RESTRICTED ON
Van nu af aan zullen alleen geregisteerde chatters die in de access/toegangslijsten staan, toegang hebben tot het kanaal. Als de SECURE setting van de kamer ook ON is, dan moeten ze zelfs geidentificeerd zijn voor hun nickname via NickServ; staat die instelling op OFF, dan worden ze ook toegelaten als ze semi-geidentificeerd zijn.
Over semi-geidentificeerd
Je bent semi-geidentificeerd wanneer:
- Je een geregistreerde gebruikersnaam hebt.
- Je NIET geidentificeerd bent voor die gebruikersnaam via /NICKSERV IDENTIFY
- Je NickServ SECURE instelling op OFF staat (Let Op! Dit staat standaard op ON)
- Je verbonden bent van een host die overeenkomt met 1 van de hostmasks die in je /NICKSERV ACCESS LIST lijst staat.
Kamers zullen je alleen de juiste rechten geven als diens ChanServ SECURE setting op OFF staat. Als de ChanServ SECURE setting van het kanaal op ON staat, dan moeten de gebruikers normaal identificeren met /NICKSERV IDENTIFY voordat ze gezien worden als een geregistreerde gebruiker.
gebruikmakend van xOP systeem
Je moet geregistreerde gebruikers toevoegen aan 1 van de VOP/HOP/AOP/SOP lijsten om ze toegang te geven to het kanaal. De syntaxis voor dit commando is:
/CHANSERV [VOP|HOP|AOP|SOP] #kamernaam ADD gebruikersnaam
Om bijvoorbeeld de geregistreerde voorbeeldgebruiker JackDaniels aan de VOP (auto-voice) lijst van het #drankWinkel kanaal toe te voegen, voer je uit:
/CHANSERV VOP #drankWinkel ADD JackDaniels
Aangezien het minimaal benodigde niveau VOP is, stel ik voor om ze gewoon als VOP toe te voegen, tenzij ze ook operator rechten nodig hebben.
Je kan de toegang weer intrekken met:
/CHANSERV [VOP|HOP|AOP|SOP] #kamernaam DEL gebruikersnaam
Om bijvoorbeeld JohnnieWalker's toegang tot #drankWinkel te ontzeggen (als hij eerder aan de VOP lijst was toegevoegd, typ je:
/CHANSERV VOP #drankWinkel DEL JohnnieWalker
Gevolgd door een vlugge /KICK #drankWinkel JohnnieWalker Maak dat je wegkomt, wij willen alleen echte whisky hier! als de chatter nog steeds in de kamer is.
gebruikmakend van ACCESS systeem
Als je het ACCESS LEVELS systeem gebruikt, dan moet je de geregistreerde gebruikers toevoegen aan de ChanServ ACCESS lijst met een toegangsniveau van minimaal 1 om ze toegang te geven tot het kanaal. Dit commando heeft de volgende syntaxis:
/CHANSERV ACCESS #kamernaam ADD gebruikersnaam toegangsniveau
Om bijvoorbeeld WilliamLawson toegang te geven to #drankWinkel met toegangsniveau 1, voer je uit:
/CHANSERV ACCESS #drankWinkel ADD WilliamLawson 1
Aangezien het minimaal benodigde niveau 1 is, stel ik voor om gebruikers die alleen maar toegang moeten hebben tot het kanaal en geen andere rechten nodig hebben, ze alleen maar niveau 1 toe te wijzen. Wanneer ze meer rechten nodig hebben, dan kan je hun toegangsniveau verhogen tot het benodigde level, lees het Access Levels artikel voor details.
Als je iemands rechten wilt intrekken, gebruik dan:
/CHANSERV ACCESS #kamernaam DEL gebruikersnaam
Wil je bijvoorbeeld Tequila's toegang to #drankWinkel ontzeggen, voer dan uit:
/CHANSERV ACCESS #drankWinkel DEL Tequila
Let op dat de ACCESS lijst alleen aangepast kan worden door gebruikers met een minimaal gebruikersniveau dat toegang heeft tot ACC-CHANGE (dit level is aanpasbaar voor gebruikers met toegang to SET via /CHANSERV LEVELS #kamernaam SET ACC-CHANGE gebruikersniveau). Standaard is dit niveau 10.
NOJOIN Level
Er is ook een NOJOIN level dat je kan aanpassen via ChanServ:
/CHANSERV LEVELS #kamernaam SET NOJOIN minNiveau
Standaard, op een nieuw aangemaakt kanaal, is dit ingesteld op level -2, wat iedereen toelaat tot het kanaal, tenzij ze een userlevel van -2 of lager hebben.
Echter, wanneer je RESTRICTED inschakelt, zal het automatisch veranderd worden naar 0, en dus iedereen die NIET op de ACCESS lijst staat met een level van 1 of hoger de toegang weigeren.
Je kan dit nog steeds handmatig aanpassen naar -2 nadat je RESTRICTED ON hebt ingesteld, met:
/CHANSERV LEVELS #kamernaam SET NOJOIN -2
Waardoor iedereen je kanaal binnenkan, tenzij ze op de ChanServ ACCESS lijst staan met een level van -2 of lager.
Begrijp dat de RESTRICTED instelling blijkbaar werkt als een schakelaar voor de NOJOIN level; zelfs met RESTRICTED op OFF, kan je nog steeds toegang tot je kanaal beperken via het NOJOIN level. Dit commando lijkt alleen maar toegevoegd te zijn om te dienen als een schakelaar voor kamers die het xOP systeem gebruiken.
Na enig testen hebben we afgeleid dat:
RESTRICTED ON de NOJOIN setting forceert naar 0 als het huidige NOJOIN level negatief is.
RESTRICTED OFF zal de NOJOIN setting forceren naar -2 als het huidige NOJOIN niveau gelijk is aan of hoger is dan 0
Hier is een overzicht van wat we getest hebben met de opgegeven NOJOIN niveaus:
NOJOIN -2 ->
Kickbant: # alleen diegene die op de ACCESS lijst staan met een level van -2 of lager Geeft toegang aan: # iedereen die op de ACCESS lijst staat met niveau -1 of hoger # iedereen die niet op de ACCESS lijst staat.
NOJOIN -1 ->
Kickbant: # iedereen die niet geidentificeerd is voor zijn/haar gebruikersnaam # iedereen met een gebruikersnaam op de ACCESS lijst, maar die niet geidentifieerd is voor zijn/haar gebruikersnaam, noch semi-geidentificeerd. Geeft toegang aan: # iedereen die geidentificeerd is voor zijn/haar gebruikersnaam # iedereen die op de ChanServ ACCESS lijst staat met een nickname die semi-geidentificeerd is (tenzij de ChanServ SECURE instelling van het kanaal op ON staat)
NOJOIN 0 ->
Kickbant: # iedereen die NIET op de ACCESS lijst staat # iedereen die op de ACCESS lijst staat met een negatief niveau Geeft toegang aan: # iedereen die op de ACCESS lijst staat met een positief niveau
Voordelen
- Je kan een erg stricte manier hebben om aan te geven welke gebruikers je wel en niet op je kanaal wilt hebben
- Al je gebruikers moeten geregistreerd zijn
Cons
- Je moet handmatig elke gebruiker toevoegen aan de ACCESS lijst van je kamer
- Gebruikers moeten geregistreerd zijn
- Gebruikers moeten erop letten dat ze geidentificeerd zijn voor hun gebruikersnaam (of semi-geidentificeerd zijn als de SECURE setting van het kanaal op OFF staat) voordat ze de kamer binnenkomen. Anders zullen ze automatisch gebanned worden, en tenzij ze toegang hebben tot het /CHANSERV UNBAN commandom zullen ze nog steeds niet binnen kunnen komen daarna.