Кіріспе

X терезесі жүйесінде бағдарламалар X клиенттері ретінде іске қосылады, сондықтан олар X дисплей серверіне қосылады, мүмкін компьютерлік желі арқылы. Желі басқа пайдаланушыларға қолжетімді болуы мүмкін болғандықтан, жүйеге кірген пайдаланушыдан өзге пайдаланушылар іске қосқан бағдарламаларға рұқсатсыз кіруді болдырмау үшін бір әдіс қажет. Клиенттік қолданбаның X дисплей серверіне қосылу мүмкіндігін анықтайтын бес стандартты кіруді бақылау механизмі бар. Оларды үш категорияға бөлуге болады: хостқа негізделген кіру, cookie-ге негізделген кіру және пайдаланушыға негізделген кіру. Бұған қоса, кез келген басқа желілік қосылым сияқты, туннельдеуді де пайдалануға болады.

Хостқа негізделген қол жеткізу

Хостқа негізделген қол жеткізу әдісі X дисплей серверіне қосылуға рұқсат етілген хосттар жиынтығын көрсетуден тұрады. Бұл жүйе нашар қауіпсіздікке ие, себебі мұндай хостқа қол жеткізген кез келген пайдаланушы дисплейге қосыла алады. Бұл механизмді қосу және рұқсат етілген хосттар тізімін көру және өзгерту үшін xhost бағдарламасы және үш X Window System негізгі протоколының сұраныстары пайдаланылады. xhost-ты дұрыс пайдаланбау нәтижесінде Интернеттегі кез келген хостқа X дисплей серверіне толық қол жеткізімділік берілуі мүмкін.

Cookie-ке негізделген қол жеткізу

Cookie-ге негізделген авторизациялау әдістері, кездейсоқ деректерден (magic cookie) тұратын мәнді таңдауға және оны X дисплей сервері іске қосылғанда беруге негізделген; осы cookie-ді білетінін дәлелдей алатын әрбір клиент серверге қосылуға рұқсат алады. Бұл cookie-лер жеке бағдарлама арқылы жасалады және әдетте пайдаланушының үй каталогындағы Xauthority файлында сақталады. Нәтижесінде, клиенттің жергілікті компьютерде іске қосылған әрбір бағдарламасы осы файлға, демек сервердің авторизациясы үшін қажетті cookie-ге қол жеткізе алады. Егер пайдаланушы бағдарламаны желідегі басқа компьютерден іске қосуды қаласа, cookie сол компьютерге көшірілуі керек. Cookie-ні қалай көшіру жүйеге байланысты мәселе: мысалы, Unix сияқты платформаларда cookie-ні көшіру үшін scp қолданылуы мүмкін. Бұл әдісті қолданатын екі жүйе – MIT MAGIC COOKIE 1 және XDM AUTHORIZATION 1. Бірінші әдісте клиент тек сұралғанда cookie-ні жібереді. Екінші әдісте Xauthority файлында құпия кілт сақталады. Клиент ағымдағы уақытты, байланыс тәуелді идентификаторды және cookie-ні біріктіріп, тізбек жасайды, нәтижедегі тізбені шифрлайды және серверге жібереді. Xauth бағдарламасы – Xauthority файлына қол жеткізуге арналған құрал. XAUTHORITY орта айнымалысы осы cookie файлының атауын және орналасқан жерін өзгерту үшін анықталуы мүмкін. Inter Client Exchange (ICE) протоколы, Inter Client Exchange Library арқылы X11 клиенттері арасында тікелей байланыс үшін сол MIT MAGIC COOKIE 1 авторизациялау әдісін пайдаланады, бірақ өзінің ICEauthority файлына қол жеткізу үшін iceauth құралына ие, оның орналасқан жерін ICEAUTHORITY орта айнымалысымен өзгертуге болады. ICE, мысалы, DCOP және X сессиясын басқару протоколы (XSMP) сияқты бағдарламалармен қолданылады.

Пайдаланушыға негізделген қол жеткізу

Пайдаланушыға негізделген қатынау әдістері белгілі бір пайдаланушыларға серверге қосылуға рұқсат беру арқылы жұмыс істейді. Клиент серверге қосылым орнатқанда, ол уәкілетті пайдаланушы басқаратынын дәлелдеуі керек. Желілік сәйкестікті басқару жүйелерін пайдалану арқылы пайдаланушыларды аутентификациялауға негізделген екі әдіс – SUN DES 1 және MIT KERBEROS 5. Бірінші жүйе SunOS-та жасалған ONC қашықтықтан процедура шақыру жүйесінің қауіпсіз механизміне негізделген. Екінші механизм клиент пен сервердің Kerberos серверіне сенім білдіруіне негізделген. Үшінші әдіс тек жергілікті қосылымдармен шектеледі, жүйелік шақыруларды пайдаланып ядродан жергілікті сокеттің екінші жағындағы пайдаланушыны анықтау үшін сұраныс жібереді. Осы әдіспен xhost бағдарламасын localuser және localgroup жазбаларын қосу немесе жою үшін қолдануға болады.

Туннельдеу

SSH құралы (X опциясымен немесе ForwardX11 опциясымен шақырылғанда) қашықтан қосылған клиенттерден X11 трафигін жергілікті серверге туннельдейді. Ол мұны қашықтағы жайтта DISPLAY орта айнымалысын sshd арқылы ашылған жергілікті TCP сокетіне бағыттап орналастыру арқылы істейді, содан кейін X11 байланысын ssh-ке қайтарады. Sshd сондай-ақ xauth-ты шақырып, қашықтағы жайтта MIT MAGIC COOKIE 1 жолын Xauthority-ге қосады, бұл қашықтағы X11 клиенттеріне ssh пайдаланушысының жергілікті X серверіне қол жеткізуге рұқсат береді. Желідегі клиент пен сервер арасындағы X11 қосылымдарын Kerberos/GSSAPI немесе TLS сияқты басқа қауіпсіз арна протоколдарымен де қорғауға болады, бірақ мұндай опциялар қазір SSH-ге қарағанда әлдеқайда сирек қолданылады.