Журнал LinuxFormat - перейти на главную

LXF162:Па­ро­ли

Материал из Linuxformat
Перейти к: навигация, поиск


Па­ро­ли. Реа­ли­зу­ем эф­фек­тив­ную стра­те­гию ау­тен­ти­фи­ка­ции поль­зо­ва­те­лей

Содержание

Па­ро­ли: Есть стра­те­гия луч­ше

Вы когда-нибудь ду­ма­ли о стра­те­гии вы­бо­ра иден­ти­фи­ка­то­ра поль­зо­ва­те­ля и па­ро­ля? Джеймс Лит­тон под­бро­сит вам пи­щи для раз­мыш­ле­ний.

(thumbnail)
Наш эксперт. Джеймс Лит­тон за­ни­мал ру­ко­во­дя­щие долж­но­сти во мно­гих ор­га­ни­за­ци­ях. Ныне он сов­ла­деле­ц и ис­пол­ни­тель­ный ди­рек­то­р Identity Automation LP.

С мо­мен­та по­яв­ления пер­вых мно­го­поль­зо­ва­тель­ских сис­тем в ау­тен­ти­фи­ка­ции поль­зо­ва­те­лей ма­ло что из­менилось. У нас все еще есть иден­ти­фи­ка­тор поль­зо­ва­те­ля (ID) и па­роль – и ес­ли они вер­ны, мы пре­достав­ля­ем доступ (т. е. ав­то­ри­за­цию), и поль­зо­ва­тель бе­рет­ся за де­ло.

Ка­жет­ся, ка­ж­дую неде­лю нам со­об­ща­ют о де­ше­вых и об­ще­доступ­ных вы­чис­ли­тель­ных ре­сур­сах со­вре­мен­ных про­цес­со­ров и гра­фи­че­­ских со­про­цес­со­ров, спо­соб­ных вы­пол­нять столь­ко опе­ра­ций в се­кун­ду, что все­го па­ру лет на­зад это ка­за­лось немыс­ли­мым. Когда та­кие ре­сур­сы на­прав­ля­ют­ся на взлом па­ро­лей, это час­то по­зво­ля­ет «пло­хим пар­ням» до­б­рать­ся до ва­ших дан­ных.

За­щи­тим­ся

Пред­по­ло­жим, вы ад­минист­ри­руе­те сер­вер, доступ­ный че­рез Ин­тернет, и на нем за­пу­ще­но несколь­ко сер­ви­сов. Что, спро­си­те вы, мож­но сде­лать для снижения мо­их шан­сов стать жерт­вой ата­ки? Рас­смот­рим же неко­то­рые про­стые стра­те­гии и го­то­вые ути­ли­ты, ко­то­рые по­мо­гут умень­шить ва­ши рис­ки! Пер­вое и главней­шее – по­ду­май­те об осно­вах. Име­на поль­зо­ва­те­лей и па­ро­ли – клю­чи для вхо­да в сис­те­му; вот с них и начнем. Так как ау­тен­ти­фи­ка­ция в сис­те­ме осно­ва­на на иден­ти­фи­ка­то­рах поль­зо­ва­те­лей и па­ро­лях, оче­вид­но, что да­же имя поль­зо­ва­те­ля – важ­ная часть схе­мы безо­пас­но­сти ор­ганиза­ции. В боль­шин­ст­ве ор­ганиза­ций иден­ти­фи­ка­тор поль­зо­ва­те­ля оп­ре­де­лить лег­ко – на­при­мер, это мо­жет быть пер­вая бу­к­ва и фа­ми­лия поль­зо­ва­те­ля (vivanov) или имя и фа­ми­лия (vasyavanov). Ес­ли мы хо­тим соз­дать пре­пят­ст­вия для «пло­хих парней», то та­кой под­ход – не луч­шая прак­ти­ка. Тех­но­ло­гии со­ци­аль­ной ин­женерии, пуб­ли­ка­ции и дру­гие ис­точники и ме­то­ды по­зво­ля­ют лег­ко уз­нать име­на лиц, ко­то­рых сто­ит ата­ко­вать. Луч­ше иметь та­кие иден­ти­фи­ка­то­ры поль­зо­ва­те­лей, по ко­то­рым поль­зо­ва­те­лей нель­зя оп­ре­де­лить.

В неко­то­рых ор­ганиза­ци­ях за иден­ти­фи­ка­то­ры поль­зо­ва­те­лей бе­рут­ся та­бель­ные но­ме­ра со­трудников или сту­ден­тов. Это го­раз­до луч­ше ме­то­дов, осно­ван­ных на пер­со­наль­ной ин­фор­ма­ции, но пре­ж­де чем при­ме­нять та­кой под­ход, хо­ро­шень­ко по­ду­май­те. От­веть­те на сле­дую­щие во­про­сы:

» На­пе­ча­та­ны ли эти но­ме­ра на бей­джи­ках?

» Ис­поль­зу­ют­ся ли они для дру­гой иден­ти­фи­ка­ции?

» Идут ли они под­ряд?

Еще один ме­тод – генери­ро­вать иден­ти­фи­ка­то­ры для всех поль­зо­ва­те­лей слу­чай­ным об­ра­зом. Тогда два ли­ца, по­сту­пив­шие на ра­бо­ту в од­ном мес­те в один и тот же день, по­лу­чат со­вер­шен­но раз­ные и неуз­на­вае­мые иден­ти­фи­ка­то­ры.

Джо Смит 947G25

Ким Джонс 21003H

При ис­поль­зо­вании это­го ме­то­да един­ст­вен­ное, что свя­зы­ва­ет иден­ти­фи­ка­то­ры с ли­ца­ми – сам про­цесс на­зна­чения иден­ти­фи­ка­то­ров. Это да­ет нам фо­ру пе­ред «пло­хи­ми пар­ня­ми», раз мы не да­ем им спо­со­ба по­лу­чить один из двух ком­понен­тов, необ­хо­ди­мых для ау­тен­ти­фи­ка­ции.

Есть несколь­ко спо­со­бов генера­ции слу­чай­ных иден­ти­фи­ка­то­ров, но я люб­лю про­сто­ту, так что мы здесь восполь­зу­ем­ся скрип­том Bash.

Для на­ча­ла соз­да­дим файл, где бу­дут за­пи­са­ны ко­ман­ды, и сде­ла­ем его ис­пол­няе­мым:

cd ~

touch genid.sh

chmod +x genid.sh

Те­перь от­крой­те genid.sh в лю­би­мом тек­сто­вом ре­дак­то­ре и до­бавь­те сле­дую­щие ко­ман­ды:

  1. !/bin/bash

l=$1

[ “$l” == “” ] && l=6

tr -dc A-Z0-9 < /dev/urandom | head -c ${l} | xargs

Для про­вер­ки скрип­та про­сто на­бе­ри­те ./genid.sh в команд­ной стро­ке, и вы по­лу­чи­те слу­чай­ную стро­ку из шес­ти сим­во­лов, ска­жем, P3NVUE.

При ка­ж­дом за­пуске скрипт фор­ми­ру­ет но­вую слу­чай­ную стро­ку. Дли­ну вы­ход­ной стро­ки мож­но ме­нять, пе­ре­дав ее как па­ра­метр. На­при­мер, ко­ман­да ./genid.sh 10 вы­даст слу­чай­ную стро­ку из де­ся­ти сим­во­лов.

Пер­вая стро­ка ко­да го­во­рит обо­лоч­ке, что по­сле­дую­щие стро­ки долж­ны ин­тер­пре­ти­ро­вать­ся Bash. Во вто­рой стро­ке пер­вый па­ра­метр, пе­ре­дан­ный скрип­ту, со­хра­ня­ет­ся в пе­ре­мен­ной l для дальней­ше­го упот­реб­ления. В треть­ей стро­ке l уста­нав­ли­ва­ет­ся в 6, ес­ли па­ра­мет­ра пе­ре­да­но не бы­ло. На­конец, в чет­вер­той стро­ке с по­мо­щью генера­то­ра слу­чай­ных чи­сел Linux соз­да­ет­ся слу­чай­ный по­ток сим­во­лов, а за­тем ко­ман­да транс­ли­те­ра­ции за­ме­ня­ет эти сим­во­лы на бу­к­вы верхнего ре­ги­ст­ра и циф­ры. За­тем ко­ман­да head вы­де­ля­ет ко­ли­че­­ст­во сим­во­лов, за­дан­ное пе­ре­мен­ной l, и, на­конец, xargs да­ет нам сим­вол кон­ца стро­ки.

В треть­ей стро­ке мож­но за­дать дли­ну вы­ход­ной стро­ки по умол­чанию, при­сво­ив зна­чение па­ра­мет­ру l. По мо­ему опы­ту, иден­ти­фи­ка­тор из шес­ти сим­во­лов очень лег­ко за­помнить.

Па­ро­ли

За по­следние 15 – 20 лет на­пи­са­на тьма ста­тей о па­ро­лях, с со­ве­та­ми остав­лять их как очень про­сты­ми, так и очень слож­ны­ми. Боль­шин­ст­ву из нас зна­ко­мы слож­ные тре­бо­вания ор­ганиза­ций к па­ро­лям, ко­то­рые пу­га­ют поль­зо­ва­те­лей и за­став­ля­ют их за­пи­сы­вать па­ро­ли на бу­ма­ге, что­бы не за­быть.

Ос­нов­ной це­лью по­ли­ти­ки вы­бо­ра па­ро­лей долж­но стать со­хранение их доста­точ­ной слож­но­сти, что­бы соз­дать ре­аль­ный барь­ер зло­умыш­ленникам и в то же вре­мя не от­пуг­нуть поль­зо­ва­те­лей.

В ка­че­­ст­ве ана­ло­гии попробуем пред­ста­вить се­бе вход­ную дверь. Она мо­жет быть в од­ном из двух со­стояний: за­пер­та или неза­пер­та. Ес­ли со­всем уб­рать па­ро­ли – ве­ри­те вы или нет, желающие восполь­зовать­ся этой воз­мож­но­стью найдутся. Кто-то смо­жет по­лу­чить доступ к учет­ной за­пи­си, про­сто вве­дя иден­ти­фи­ка­тор поль­зо­ва­те­ля. Это ана­ло­гич­но неза­пер­той две­ри. Про­дол­жая ана­ло­гию, все мы зна­ем, что зам­ки бы­ва­ют раз­ные – в двер­ной руч­ке с кноп­кой, за­со­вы с клю­чом или зам­ки, при­ме­няе­мые в бан­ков­ских ячей­ках (ну, это че­рес­чур, но вы по­ня­ли идею).

Эн­тро­пия – у па­ро­лей?!

Эн­тро­пия па­ро­ля – это оцен­ка его бли­зо­сти к слу­чай­но­му и, сле­до­ва­тель­но, труд­но­сти его уга­ды­вания. Эн­тро­пия обыч­но вы­ра­жа­ет­ся в би­тах. На­при­мер, из­вест­ный па­роль со­дер­жит ноль бит эн­тро­пии. Па­роль, ко­то­рый мож­но уга­дать с пер­вой по­пыт­ки в 50 % слу­ча­ев, име­ет один бит эн­тро­пии.

Сле­до­ва­тель­но, па­роль с n би­та­ми эн­тро­пии уга­дать так же слож­но, как n-бит­ное слу­чай­ное чис­ло. То есть, па­роль с n би­та­ми эн­тро­пии мож­но уга­дать за 2n по­пы­ток. Бо­лее под­роб­ная ин­фор­ма­ция при­ве­де­на в ру­ко­во­дстве по элек­трон­ной ау­тен­ти­фи­ка­ции На­цио­наль­но­го ин­сти­ту­та стан­дар­тов США на сай­те 1.usa.gov/q3y5u.

Тре­бо­вание за­дать па­роль, не ого­во­рен­ное пра­ви­ла­ми, даст нам слиш­ком про­стые па­ро­ли, ко­то­рые лег­ко по­доб­рать. При­ме­ры – имя че­ло­ве­ка, его ре­бен­ка или ко­тен­ка и клас­си­ка вро­де password или abc123. Это ана­ло­гич­но про­стей­ше­му зам­ку в двер­ной руч­ке: дверь за­пер­та, но не осо­бо на­деж­но. Дру­гая край­ность – по­пыт­ка достичь уров­ня за­щи­ты бан­ков­ской ячей­ки, за­да­вая слож­ные пра­ви­ла. Но это при­во­дит к чрез­мер­но­му усложнению па­ро­лей – и из-за невоз­мож­но­сти их за­по­ми­нания поль­зо­ва­те­ли при­мут­ся их за­пи­сы­вать, соз­да­вая до­полнитель­ный риск. Нуж­на зо­ло­тая се­ре­ди­на.

Я бы ска­зал, что на­ша цель – сде­лать па­роль доста­точ­но слож­ным для взло­ма и не слиш­ком слож­ным для за­по­ми­нания поль­зо­ва­те­лем, и од­но­вре­мен­но при­менить дру­гие сред­ст­ва для пре­дот­вра­щения атак ме­то­дом пе­ре­бо­ра и дру­гих вре­до­носных дей­ст­вий.

Си­ла па­ро­ля: факт или фик­ция?

Из­ме­рение на­деж­но­сти па­ро­ля по ко­ли­че­­ст­ву бит его эн­тро­пии, со­глас­но опи­санию На­цио­наль­но­го ин­сти­ту­та стан­дар­тов и тех­но­ло­гии, го­во­рит нам, что па­роль из трех или че­ты­рех несвя­зан­ных слов об­ла­да­ет той же сте­пе­нью на­деж­но­сти, что и бо­лее ко­рот­кий па­роль из необыч­ных сим­во­лов.

Возь­мем сло­ва «яб­ло­ко», «ай­фон», «но­га» и «по­езд» и объ­е­диним их – мы по­лу­чим «яб­ло­ко­ай­фон­но­га­по­езд». Та­кой па­роль непло­хо под­да­ет­ся за­по­ми­нанию, а «пло­хие парни» вряд ли лег­ко его раз­га­да­ют. Сравним это со слож­ны­ми по­ли­ти­ка­ми па­ро­лей, за­став­ляю­щи­ми поль­зо­ва­те­лей при­ду­мы­вать эк­зо­ти­ку вро­де Ff %#ht!4-2. Этот па­роль не толь­ко не упомнить, но и с точ­ки зрения эн­тро­пии он менее на­де­жен, чем наш.

Что­бы пред­ста­вить се­бе это бо­лее на­гляд­но, наш вто­рой па­роль, ко­то­рый так сло­жен и вро­де бы на­де­жен, име­ет 27 бит эн­тро­пии, и тео­ре­ти­че­­ски его мож­но взло­мать все­го за 37 ча­сов при ско­ро­сти пе­ре­бо­ра 1000 ва­ри­ан­тов в се­кун­ду. Наш пер­вый па­роль, ко­то­рый го­раз­до про­ще за­помнить и ко­то­рый, на пер­вый взгляд, менее на­де­жен, име­ет 34.5 би­та эн­тро­пии, и на его взлом с той же ско­ро­стью пе­ре­бо­ра уш­ло бы око­ло 281 дня. До­ба­вим к нему сим­вол в дру­гом ре­ги­ст­ре и спец­сим­вол, по­лу­чив что-то вро­де «яб­ло­ко­ай­фон­Но­га#по­езд», и мы уве­ли­чим эн­тро­пию до 42 бит. На взлом та­ко­го па­ро­ля по­тре­бу­ет­ся уже 139 лет.

Итак, сложнее не всегда зна­чит луч­ше. Па­ро­ля дли­ной 8 – 15 сим­во­лов верхнего и нижнего ре­ги­ст­ра бо­лее чем доста­точ­но, что­бы за­пе­реть вход­ную дверь сис­те­мы на на­деж­ный за­сов.

Соз­да­дим еще один скрипт Bash – пусть пред­ла­га­ет нам сло­ва для па­ро­лей. Сна­ча­ла соз­да­дим файл скрип­та и сде­ла­ем его ис­пол­няе­мым:

cd~

touch genpwd.sh

chmod +x genpwd.sh

Те­перь нам ну­жен файл сло­ва­ря, от­ку­да бу­дут брать­ся сло­ва. Ско­рее все­го, та­кой файл в ва­шей сис­те­ме уже есть. Это файл words в ка­та­ло­ге /usr/dict/ или /usr/share/dict/. Ес­ли его нет, спи­сок доступ­ных сло­ва­рей в Ubuntu мож­но про­смот­реть, на­брав apt-get install wordlist в команд­ной стро­ке. На­при­мер, боль­шой сло­варь аме­ри­кан­ско­го анг­лий­ско­го мож­но уста­но­вить ко­ман­дой sudo apt-get install wamerican-large.

Для при­ме­ра я восполь­зу­юсь фай­лом с 1000 са­мых хо­до­вых анг­лий­ских слов.

cd ~

wget www.rupert.id.au/resources/1-1000.txt

Соз­дай­те файл genpwd.sh в сво­ем лю­би­мом тек­сто­вом ре­дак­то­ре и вве­ди­те в не­го сле­дую­щие стро­ки:

  1. !/bin/bash

shuf ~/1-1000.txt | head –n4

Для про­вер­ки скрип­та про­сто на­бе­ри­те ./genpwd.sh в команд­ной стро­ки, и вы по­лу­чи­те че­ты­ре слу­чай­ных сло­ва, на­при­мер:

» fell

» wife

» substance

» excite

Не­пло­хое на­ча­ло! Те­перь со­единим сло­ва и по­лу­чим лег­кий для за­по­ми­нания па­роль.

Как ви­ди­те, скрипт очень прост. Как и в пер­вом скрип­те, пер­вая стро­ка оз­на­ча­ет, что сле­дую­щие стро­ки долж­ны об­ра­ба­ты­вать­ся обо­лоч­кой Bash. Во вто­рой стро­ке ука­за­на ко­ман­да shuf, ко­то­рая пе­ре­ме­ши­ва­ет стро­ки в фай­ле сло­ва­ря. В ко­ман­де head мы ука­зы­ва­ем ко­ли­че­­ст­во слов из фай­ла, ко­то­рые нуж­но по­лу­чить.

Идем даль­ше

Воз­мож­но, вы за­хо­ти­те пой­ти даль­ше и ог­раничить дли­ну сло­ва, что­бы в нем бы­ло от трех до пя­ти сим­во­лов. Для это­го из­мените вто­рую стро­ку:

shuf ~/1-1000.txt | grep “^[^’]\{3,5\}$” | head –n4

Здесь мы до­полнили ко­ман­ду grep стро­кой regex, ко­то­рая вы­би­ра­ет толь­ко сло­ва за­дан­ной дли­ны.

Я бы пред­по­чел не ог­раничи­вать дли­ну сло­ва, но хо­чу, что­бы сло­ва вы­во­ди­лись в од­ной стро­ке вме­сте и ка­ж­дое сло­во на­чи­на­лось с за­глав­ной бу­к­вы. Для это­го из­мените вто­рую стро­ку:

shuf ~/1-1000.txt | head –n4 | sed ‘s/[^ ]\+/\L\u&/g’ | tr –d ‘\n’ | xargs

Эта ко­ман­да вы­да­ет стро­ки вро­де SkyLoveStartBy (33-бит­ный лег­кий для за­по­ми­нания па­роль).

В этом при­ме­ре мы бе­рем код пер­во­го скрип­та, де­ла­ем пер­вую бу­к­ву ка­ж­до­го сло­ва за­глав­ной ко­ман­дой sed и уда­ля­ем пе­ре­но­сы строк ко­ман­дой tr, по­это­му все сло­ва те­перь бу­дут в од­ной стро­ке. За­тем с по­мо­щью xargs мы при­пи­сы­ва­ем к этой стро­ке сим­вол кон­ца стро­ки.

Монито­ринг неудач­ных по­пы­ток

Луч­ший спо­соб ог­раничить риск ущер­ба от атак ме­то­дом пе­ре­бо­ра – от­сле­жи­вать неудач­ные по­пыт­ки вхо­да в сис­те­му и принимать ме­ры при их об­на­ру­жении. Эти ме­ры принима­ют­ся во мно­гих сис­те­мах и мо­гут вклю­чать раз­лич­ные дей­ст­вия от вре­мен­ной или по­сто­ян­ной бло­ки­ров­ки ата­куе­мой учет­ной за­пи­си до бло­ки­ро­вания досту­па для ис­точника атак.

Длиннее = луч­ше

Ра­зу­ме­ет­ся, чем длиннее па­роль, тем сложнее его по­доб­рать. Па­роль дли­ной 10 сим­во­лов из букв и цифр име­ет поч­ти квин­тил­ли­он (839 квад­рил­лио­нов) воз­мож­ных ва­ри­ан­тов. За­дай­те дли­ну 15 сим­во­лов – и чис­ло ва­ри­ан­тов при­близит­ся к од­но­му ок­тил­лио­ну (768 сеп­тил­лио­нов). Это ну очень мно­го!

Про­стей­ший спо­соб от­сле­жи­вать неудач­ные по­пыт­ки вхо­да в сис­те­му – восполь­зо­вать­ся мо­ду­лем pam_tally Linux-PAM (Pluggable Authentication Modules – Под­клю­чае­мые мо­ду­ли ау­тен­ти­фи­ка­ции). В мо­ей Ubuntu 11.10 Server я под­клю­чил pam_tally, от­крыв файл /etc/pam.d/common-auth и до­ба­вив в его на­ча­ло две сле­дую­щие стро­ки:

auth required pam_tally.so onerr=fail deny=3 unlock_time=3600

account required pam_tally.so reset

С по­мо­щью ко­ман­ды faillog мож­но управ­лять счет­чи­ка­ми, про­смат­ри­вать ин­фор­ма­цию о неудач­ных по­пыт­ках вхо­да в сис­те­му с мо­мен­та по­следнего вхо­да в сис­те­му, о бло­ки­ров­ках и о про­дол­жи­тель­но­сти те­ку­щих бло­ки­ро­вок. Что­бы faillog ото­бра­жа­ла вре­мя бло­ки­ров­ки, на­строй­те ее в со­от­вет­ст­вии с па­ра­мет­ром unlock_time, за­дан­ным в фай­ле /etc/pam.d/common-auth. Для это­го ско­ман­дуй­те

faillog –l 3600

Те­перь, ес­ли на­брать faillog в команд­ной стро­ке, для всех за­бло­ки­ро­ван­ных учет­ных за­пи­сей вы­ве­дет­ся вре­мя, остав­шее­ся до раз­бло­ки­ро­вания мо­ду­лем pam_tally, в се­кун­дах. Этот ме­тод монито­рин­га рас­про­стра­ня­ет­ся на вход в сис­те­му че­рез кон­соль, а так­же по ssh.

Еще од­на ути­ли­та, ко­то­рая на­всегда бло­ки­ру­ет по­пыт­ки вхо­да в сис­те­му с за­дан­но­го хоста, на­зы­ва­ет­ся fail2ban; это фрейм­ворк для пре­дот­вра­щения втор­жений, на­пи­сан­ный на Python.

Опи­сание ра­бо­ты с fail2ban вы­хо­дит за рам­ки этой ста­тьи, но соответствующая ин­фор­ма­ция име­ет­ся на сай­те help.ubuntu.com/community/Fail2ban.

Луч­ший спо­соб достичь мак­си­маль­ной уве­рен­но­сти в том, что че­ло­век дей­ст­ви­тель­но тот, за ко­го се­бя вы­да­ет – вы­полнить про­вер­ку лич­но­сти в ка­кой-ли­бо фор­ме. Ес­ли у вас когда-ли­бо про­си­ли предъ­я­вить во­ди­тель­ские пра­ва, сту­ден­че­­ский би­лет, вве­сти но­мер со­ци­аль­но­го стра­хо­вания или еще ка­кую-то пер­со­наль­ную ин­фор­ма­цию для за­вер­шения тран­зак­ции, то вы уже про­хо­ди­ли про­вер­ку лич­но­сти. Про­вер­ка лич­но­сти – про­сто прось­ба по от­но­шению к ко­му-ли­бо иден­ти­фи­ци­ро­вать се­бя, до­ка­зав, что он – и вправ­ду он. В ми­ре ау­тен­ти­фи­ка­ции это час­то на­зы­ва­ет­ся двух­фак­тор­ной ау­тен­ти­фи­ка­ци­ей.

Пас­сив­ные сис­те­мы

Для про­вер­ки луч­ше все­го поль­зо­вать­ся пас­сив­ной сис­те­мой, ко­то­рая не тре­бу­ет от поль­зо­ва­те­ля лишних дей­ст­вий или при­менения до­полнитель­ных уст­ройств. Од­на из та­ких сис­тем – ди­на­ми­ка на­жа­тия кла­виш – ис­поль­зу­ет ал­го­рит­ми­че­­ский под­ход для оцен­ки ве­ро­ят­но­сти то­го, что вы – тот, кто вы есть. В ней из­ме­ря­ет­ся ритм на­жа­тия кла­виш при вво­де па­ро­ля. Та­ким об­ра­зом со­став­ля­ет­ся уникаль­ный био­мет­ри­че­­ский шаб­лон для ка­ж­до­го поль­зо­ва­те­ля, и эти дан­ные при­ме­ня­ют­ся для сравнения при сле­дую­щих по­пыт­ках ау­тен­ти­фи­ка­ции.

На прак­ти­ке эти сис­те­мы ра­бо­та­ют в фо­но­вом ре­жи­ме: про­ве­ря­ют, как вво­дят­ся па­ро­ли, и раз­ре­ша­ют или за­пре­ща­ют вход по ре­зуль­та­ту сравнения. Этот под­ход – пре­крас­ный спо­соб от­ра­жения атак ком­пь­ю­те­ра и че­ло­ве­ка.

Еще од­на фор­ма про­вер­ки, на­брав­шая неко­то­рую по­пу­ляр­ность в по­следние го­ды – био­мет­ри­че­­ская: сканиру­ет­ся ра­дуж­ная обо­лоч­ка гла­за или от­пе­ча­ток паль­ца и ре­зуль­тат сравнива­ет­ся с хра­ня­щим­ся в ба­зе дан­ных. Эти сис­те­мы боль­ше втор­га­ют­ся в ча­ст­ную жизнь, но их пре­иму­ще­ст­во в том, что для них не тре­бу­ется до­полнитель­ных уст­ройств, та­ких как USB-бре­лок, кар­та или те­ле­фон.

Са­мые по­пу­ляр­ные и, по­жа­луй, са­мые прак­тич­ные сис­те­мы про­вер­ки лич­но­сти – генера­то­ры од­но­ра­зо­вых па­ро­лей, ко­то­рые тре­бу­ют от поль­зо­ва­те­ля ука­зы­вать уникаль­ную стро­ку сим­во­лов при ка­ж­дом вхо­де в сис­те­му. Но тогда поль­зо­ва­те­ли обыч­но долж­ны но­сить с со­бой до­полнитель­ные уст­рой­ст­ва. В бо­лее но­вых сис­те­мах ис­поль­зу­ют­ся при­ло­жения на мо­биль­ных уст­рой­ст­вах (те­ле­фо­нах) и под­твер­ждение при посредстве SMS, для мак­си­маль­ной на­деж­но­сти.

Я не рас­ска­зал об этом в на­шей ста­тье, но в ка­че­­ст­ве двух­фак­тор­ной ау­тен­ти­фи­ка­ции в Linux вы мо­же­те по­про­бо­вать про­грам­му Google Authenticator.

Пол­ная безо­пас­ность

Безо­пас­ность – это не толь­ко имя поль­зо­ва­те­ля и па­роль. Ес­ли ваш сер­вер от­крыт для досту­па че­рез Ин­тернет, за­щи­ти­те его на­деж­ным бранд­мау­эром, даю­щим доступ лишь к минималь­но необ­хо­ди­мо­му на­бо­ру сер­ви­сов. Так­же имеет смысл за­пустить бранд­мау­эр на дру­гих сер­ве­рах и от­клю­чить ненуж­ные сер­ви­сы. На­конец, ес­ли вы работаете сис­тем­ным ад­минист­ра­тором и вам необходимо ре­гу­ляр­но под­клю­ча­ться по ssh ко внут­ренним сер­ве­рам, по­ду­май­те о применении ау­тен­ти­фи­ка­ции на ба­зе сер­ти­фи­ка­тов, вза­мен тра­ди­ци­он­ной па­роль­ной ау­тен­ти­фи­ка­ции.|

Персональные инструменты
купить
подписаться
Яндекс.Метрика