WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Корпоративтік WiFi ұйымдастырудың кейбір мысалдары бұрыннан сипатталған. Мұнда мен мұндай шешімді қалай жүзеге асырғанымды және әртүрлі құрылғыларға қосылу кезінде туындаған мәселелерді сипаттаймын. Біз орнатылған пайдаланушылармен бар LDAP протоколын қолданамыз, FreeRadius орнатамыз және Ubnt контроллерінде WPA2-Enterprise конфигурациялаймыз. Барлығы қарапайым сияқты. Қарайық…

EAP әдістері туралы аздап

Тапсырманы бастамас бұрын, шешімімізде қандай аутентификация әдісін қолданатынымызды шешуіміз керек.

Википедиядан:

EAP – сымсыз желілерде және нүктеден нүктеге қосылымдарда жиі қолданылатын аутентификация жүйесі. Пішім алғаш рет RFC 3748-де сипатталған және RFC 5247-де жаңартылған.
EAP аутентификация әдісін таңдау, кілттерді тасымалдау және сол кілттерді EAP әдістері деп аталатын плагиндер арқылы өңдеу үшін пайдаланылады. EAP өзімен анықталған және жеке жеткізушілер шығарған көптеген EAP әдістері бар. EAP сілтеме деңгейін анықтамайды, ол тек хабарлама пішімін анықтайды. EAP пайдаланатын әрбір протоколда өзінің EAP хабарлама инкапсуляциясы протоколы болады.

Әдістердің өзі:

  • LEAP – CISCO әзірлеген меншікті протокол. Осалдықтар табылды. Қазіргі уақытта пайдалану ұсынылмайды
  • EAP-TLS сымсыз жеткізушілер арасында жақсы қолдау көрсетеді. Бұл қауіпсіз протокол, себебі ол SSL стандарттарының мұрагері. Клиентті орнату өте күрделі. Құпия сөзге қосымша клиент сертификаты қажет. Көптеген жүйелерде қолдау көрсетіледі
  • EAP-TTLS - көптеген жүйелерде кеңінен қолдау көрсетіледі, тек аутентификация серверінде PKI сертификаттарын пайдалану арқылы жақсы қауіпсіздікті ұсынады.
  • EAP-MD5 басқа ашық стандарт болып табылады. Минималды қауіпсіздікті ұсынады. Әлсіз, өзара аутентификацияны және кілттерді генерациялауды қолдамайды
  • EAP-IKEv2 – Интернет кілтін алмасу протоколының 2 нұсқасына негізделген. Клиент пен сервер арасында өзара аутентификация мен сеанс кілтін орнатуды қамтамасыз етеді
  • PEAP ашық стандарт ретінде CISCO, Microsoft және RSA Security арасындағы бірлескен шешім болып табылады. Өнімдерде кеңінен қол жетімді, өте жақсы қауіпсіздікті қамтамасыз етеді. EAP-TTLS сияқты, тек серверлік сертификатты қажет етеді
  • PEAPv0/EAP-MSCHAPv2 - EAP-TLS-тен кейін бұл әлемде кеңінен қолданылатын екінші стандарт. Microsoft, Cisco, Apple, Linux жүйелерінде пайдаланылған клиент-сервер қатынасы
  • PEAPv1/EAP-GTC - PEAPv0/EAP-MSCHAPv2 балама ретінде Cisco жасаған. Аутентификация деректерін ешбір жолмен қорғамайды. Windows операциялық жүйесінде қолдау көрсетілмейді
  • EAP-FAST – LEAP кемшіліктерін түзету үшін Cisco әзірлеген әдіс. Қорғалған кіру тіркелгі деректерін (PAC) пайдаланады. Толығымен аяқталмаған

Барлық осы әртүрліліктен таңдау әлі де керемет емес. Аутентификация әдісі қажет: жақсы қауіпсіздік, барлық құрылғыларда қолдау (Windows 10, macOS, Linux, Android, iOS) және, шын мәнінде, неғұрлым қарапайым болса, соғұрлым жақсы. Сондықтан таңдау PAP хаттамасымен бірге EAP-TTLS-ке түсті.
Сұрақ туындауы мүмкін - PAP не үшін қолданылады? Өйткені, ол құпия сөздерді анық мәтінмен жібереді?

Иә дұрыс. FreeRadius және FreeIPA арасындағы байланыс дәл осылай болады. Түзету режимінде пайдаланушы аты мен құпия сөздің қалай жіберілетінін бақылай аласыз. Иә, оларды жіберіңіз, тек сіз FreeRadius серверіне қол жеткізе аласыз.

EAP-TTLS қалай жұмыс істейтіні туралы толығырақ оқуға болады осында

FreeRADIUS

FreeRadius жүйесін CentOS 7.6 нұсқасына дейін жаңартамыз. Мұнда күрделі ештеңе жоқ, біз оны әдеттегі жолмен орнатамыз.

yum install freeradius freeradius-utils freeradius-ldap -y

Пакеттердің ішінде 3.0.13 нұсқасы орнатылған. Соңғысын алуға болады https://freeradius.org/

Осыдан кейін FreeRadius қазірдің өзінде жұмыс істейді. /etc/raddb/users ішіндегі жолды алып тастауға болады

steve   Cleartext-Password := "testing"

Түзету режимінде серверге іске қосыңыз

freeradius -X

Және жергілікті хосттан сынақ қосылымын жасаңыз

radtest steve testing 127.0.0.1 1812 testing123

Жауап алдық 115:127.0.0.1 бастап 1812:127.0.0.1 ұзындығы 56081 аралығындағы Access-Accept Id 20 алынды, бұл бәрі жақсы дегенді білдіреді. Ілгері жүру.

Модульді қосу лдап.

ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/ldap

Ал біз оны бірден өзгертеміз. FreeIPA қол жеткізу үшін бізге FreeRadius қажет

mods-қосылған/ldap

ldap {
server="ldap://ldap.server.com"
port=636
start_tls=yes
identity="uid=admin,cn=users,dc=server,dc=com"
password=**********
base_dn="cn=users,dc=server,dc=com"
set_auth_type=yes
...
user {
base_dn="${..base_dn}"
filter="(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
}
...

Радиус серверін қайта іске қосыңыз және LDAP пайдаланушыларының синхрондалуын тексеріңіз:

radtest user_ldap password_ldap localhost 1812 testing123

Түзету mods-қосылған/eap
Мұнда біз eap екі данасын қосамыз. Олар тек сертификаттар мен кілттерде ерекшеленеді. Неліктен бұл дұрыс екенін төменде түсіндіремін.

mods-қосылған/eap

eap eap-client {                                                                                                                                                                                                                           default_eap_type = ttls                                                                                                                                                                                                                 timer_expire = 60                                                                                                                                                                                                                       ignore_unknown_eap_types = no                                                                                                                                                                                                          cisco_accounting_username_bug = no                                                                                                                                                                                                      max_sessions = ${max_requests}
           tls-config tls-common {
           private_key_file = ${certdir}/fisrt.key
           certificate_file = ${certdir}/first.crt
           dh_file = ${certdir}/dh
           ca_path = ${cadir}
           cipher_list = "HIGH"
           cipher_server_preference = no
           ecdh_curve = "prime256v1"
           check_crl = no
           }
                                                                                                                                                                                                                                                                                                                                                                                                                                                 
           ttls {
           tls = tls-common
           default_eap_type = md5
           copy_request_to_tunnel = no
           use_tunneled_reply = yes
           virtual_server = "inner-tunnel"
           }
}
eap eap-guest {
default_eap_type = ttls                                                                                                                                                                                                                 timer_expire = 60                                                                                                                                                                                                                       ignore_unknown_eap_types = no                                                                                                                                                                                                          cisco_accounting_username_bug = no                                                                                                                                                                                                      max_sessions = ${max_requests}
           tls-config tls-common {
           private_key_passwotd=blablabla
           private_key_file = ${certdir}/server.key
           certificate_file = ${certdir}/server.crt
           dh_file = ${certdir}/dh
           ca_path = ${cadir}
           cipher_list = "HIGH"
           cipher_server_preference = no
           ecdh_curve = "prime256v1"
           check_crl = no
           }
                                                                                                                                                                                                                                                                                                                                                                                                                                                 
           ttls {
           tls = tls-common
           default_eap_type = md5
           copy_request_to_tunnel = no
           use_tunneled_reply = yes
           virtual_server = "inner-tunnel"
           }
}

Әрі қарай өңдейміз сайт қосылған/әдепкі. Мені авторизациялау және аутентификация бөлімдері қызықтырады.

сайт қосылған/әдепкі

authorize {
  filter_username
  preprocess
  if (&User-Name == "guest") {
   eap-guest {
       ok = return
   }
  }
  elsif (&User-Name == "client") {
    eap-client {
       ok = return 
    }
  }
  else {
    eap-guest {
       ok = return
    }
  }
  ldap
  if ((ok || updated) && User-Password) {
    update {
        control:Auth-Type := ldap
    }
  }
  expiration
  logintime
  pap
  }

authenticate {
  Auth-Type LDAP {
    ldap
  }
  Auth-Type eap-guest {
    eap-guest
  }
  Auth-Type eap-client {
    eap-client
  }
  pap
}

Авторизация бөлімінде біз қажет емес барлық модульдерді алып тастаймыз. Біз тек лдап қалдырамыз. Пайдаланушы аты бойынша клиентті растауды қосыңыз. Сондықтан біз жоғарыда екі eap данасын қостық.

Көп EAPКейбір құрылғыларды қосу кезінде біз жүйелік сертификаттарды қолданамыз және доменді көрсетеміз. Бізде сенімді сертификаттау органының сертификаты мен кілті бар. Жеке менің ойымша, бұл қосылу процедурасы әрбір құрылғыда өздігінен қол қойылған сертификатты тастаудан гөрі қарапайым. Бірақ өздігінен қол қойылған сертификаттарсыз кету әлі мүмкін болмады. Samsung құрылғылары мен Android =< 6 нұсқалары жүйелік сертификаттарды қалай пайдалану керектігін білмейді. Сондықтан, біз олар үшін өздігінен қол қойылған сертификаттармен eap-guest жеке данасын жасаймыз. Барлық басқа құрылғылар үшін біз сенімді сертификаты бар eap-client пайдаланамыз. Пайдаланушы аты құрылғыны қосу кезінде анонимді өріс арқылы анықталады. Тек 3 мәнге рұқсат етіледі: Қонақ, Клиент және бос өріс. Қалғанының бәрі тасталды. Мұны саясаттарда конфигурациялауға болады. Мен сәл кейінірек мысал келтіремін.

Авторизация және аутентификация бөлімдерін өңдейік сайт қосылған/ішкі туннель

сайт қосылған/ішкі туннель

authorize {
  filter_username
  filter_inner_identity
  update control {
   &Proxy-To-Realm := LOCAL
  }
  ldap
  if ((ok || updated) && User-Password) {
    update {
        control:Auth-Type := ldap
    }
  }
  expiration
  digest
  logintime
  pap
  }

authenticate {
  Auth-Type eap-guest {
    eap-guest
  }
  Auth-Type eap-client {
    eap-client
  }
  Auth-Type PAP {
    pap
  }
  ldap
}

Әрі қарай, сіз саясаттарда анонимді кіру үшін қандай атауларды қолдануға болатынын көрсетуіңіз керек. Өңдеу policy.d/filter.

Осыған ұқсас жолдарды табу керек:

if (&outer.request:User-Name !~ /^(anon|@)/) {
  update request {
    Module-Failure-Message = "User-Name is not anonymized"
  }
  reject
}

Төменде elsif ішіне қажетті мәндерді қосыңыз:

elsif (&outer.request:User-Name !~ /^(guest|client|@)/) {
  update request {
    Module-Failure-Message = "User-Name is not anonymized"
  }
  reject
}

Енді біз каталогқа көшуіміз керек керт. Мұнда бізде бар сенімді сертификаттау органының кілті мен сертификатын қою керек және eap-guest үшін өздігінен қол қойылған сертификаттарды жасау керек.

Файлдағы параметрлерді өзгерту ca.cnf.

ca.cnf


...
default_days = 3650
default_md = sha256
...
input_password = blablabla
output_password = blablabla
...
countryName = RU
stateOrProvinceNmae = State
localityNmae = City
organizationName = NONAME
emailAddress = [email protected]
commonName = "CA FreeRadius"

Біз файлға бірдей мәндерді жазамыз server.cnf. Біз тек өзгереміз
ортақ атау:

server.cnf


...
default_days = 3650
default_md = sha256
...
input_password = blablabla
output_password = blablabla
...
countryName = RU
stateOrProvinceNmae = State
localityNmae = City
organizationName = NONAME
emailAddress = [email protected]
commonName = "Server Certificate FreeRadius"

Біз жасаймыз:

make

Дайын. Алынған server.crt и server.key Біз жоғарыда eap-guest-те тіркелдік.

Соңында, файлға кіру нүктелерімізді қосамыз Client.conf. Менде олардың 7-і бар.Әр нүктені бөлек қоспау үшін біз олар орналасқан желіні ғана тіркейміз (менің кіру нүктелерім бөлек VLAN желісінде).

client APs {
ipaddr = 192.168.100.0/24
password = password_AP
}

Ubiquiti контроллері

Біз контроллерде бөлек желіні көтереміз. 192.168.2.0/24 болсын
Параметрлер -> профильге өтіңіз. Жаңасын жасайық:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Біз радиус серверінің мекенжайы мен портын және файлға жазылған парольді жазамыз clients.conf:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Жаңа сымсыз желі атауын жасаңыз. Аутентификация әдісі ретінде WPA-EAP (Кәсіпорын) таңдап, жасалған радиус профилін көрсетіңіз:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Біз бәрін сақтаймыз, оны қолданамыз және жалғастырамыз.

Клиенттерді орнату

Ең қиынынан бастайық!

Windows 10

Қиындық Windows әлі домен арқылы корпоративтік WiFi-ге қосылуды білмейтіндігінде. Сондықтан біз сертификатты сенімді сертификаттар дүкеніне қолмен жүктеп салуымыз керек. Мұнда сіз өзіңіз қол қоятын құжатты немесе сертификаттау орталығының біреуін пайдалана аласыз. Мен екіншісін қолданамын.

Әрі қарай жаңа қосылым жасау керек. Ол үшін Желі және Интернет параметрлері -> Желі және ортақ пайдалану орталығы -> Жаңа қосылымды немесе желіні жасау және конфигурациялау тармағына өтіңіз:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Біз желі атауын қолмен енгізіп, қауіпсіздік түрін өзгертеміз. Содан кейін басыңыз қосылым параметрлерін өзгерту және Қауіпсіздік қойындысында желі аутентификациясын таңдаңыз - EAP-TTLS.

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Параметрлерге өтіңіз, аутентификацияның құпиялылығын орнатыңыз - клиент. Сенімді сертификаттау орталығы ретінде біз қосқан сертификатты таңдап, «Серверді авторизациялау мүмкін болмаса, пайдаланушыға шақыру бермеу» құсбелгісін қойыңыз және аутентификация әдісін - ашық мәтін құпия сөзін (PAP) таңдаңыз.

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Содан кейін қосымша параметрлерге өтіп, «Аутентификация режимін көрсету» құсбелгісін қойыңыз. «Пайдаланушының аутентификациясы» тармағын таңдап, түймесін басыңыз тіркелгі деректерін сақтаңыз. Мұнда username_ldap және password_ldap енгізу керек

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Біз бәрін сақтаймыз, қолданамыз, жабамыз. Жаңа желіге қосылуға болады.

Linux

Мен Ubuntu 18.04, 18.10, Fedora 29, 30 нұсқаларында сынақтан өткіздім.

Алдымен сертификатты өзіңізге жүктеп алыңыз. Мен Linux жүйесінде жүйелік сертификаттарды пайдалануға болатынын немесе мұндай дүкеннің бар-жоғын таппадым.

Біз домен арқылы қосыламыз. Сондықтан бізге сертификатты сатып алған сертификаттау орталығынан анықтама қажет.

Барлық қосылымдар бір терезеде жасалады. Біздің желіні таңдаңыз:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

анонимді - клиент
домен — сертификат берілген домен

Android

Samsung емес

7-нұсқадан бастап, WiFi қосылған кезде тек доменді көрсету арқылы жүйелік сертификаттарды пайдалануға болады:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

домен — сертификат берілген домен
анонимді - клиент

Samsung

Жоғарыда жазғанымдай, Samsung құрылғылары WiFi қосу кезінде жүйелік сертификаттарды қалай пайдалану керектігін білмейді және олардың домен арқылы қосылу мүмкіндігі жоқ. Сондықтан сертификаттау органының түбірлік сертификатын қолмен қосу керек (ca.pem, оны Radius серверінен алыңыз). Бұл жерде өздігінен қол қою қолданылады.

Сертификатты құрылғыңызға жүктеп алып, орнатыңыз.

Сертификат орнатуWiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Бұл жағдайда экран құлпын ашу үлгісін, PIN кодын немесе құпия сөзді орнату қажет, егер ол әлі орнатылмаған болса:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Мен сертификатты орнатудың күрделі нұсқасын көрсеттім. Көптеген құрылғыларда жүктеп алынған сертификатты нұқыңыз.

Сертификат орнатылған кезде қосылымды жалғастыруға болады:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

сертификат - орнатқаныңызды көрсетіңіз
анонимді қолданушы - қонақ

MacOS

Apple құрылғылары EAP-TLS жүйесіне қораптан тыс қосыла алады, бірақ сіз оларға әлі де сертификат беруіңіз керек. Басқа қосылым әдісін көрсету үшін Apple Configurator 2 қолданбасын пайдалану керек. Сәйкесінше, алдымен оны Mac жүйесіне жүктеп алып, жаңа профиль жасап, барлық қажетті WiFi параметрлерін қосу керек.

Apple ConfiguratorWiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Мұнда біз желіміздің атын көрсетеміз
Қауіпсіздік түрі - WPA2 Enterprise
Қабылданған EAP түрлері - TTLS
Пайдаланушы аты мен құпия сөз - бос қалдырыңыз
Ішкі аутентификация - PAP
Сыртқы сәйкестік – клиент

Сенім қойындысы. Мұнда біз өз доменімізді көрсетеміз

Барлық. Профильді сақтауға, қол қоюға және құрылғыларға таратуға болады

Профиль дайын болғаннан кейін оны Mac жүйесіне жүктеп алып, орнату керек. Орнату процесінде пайдаланушының usernmae_ldap және password_ldap кодын көрсету қажет:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

IOS

Процесс macOS жүйесіне ұқсас. Профильді пайдалану қажет (сіз macOS үшін бірдей профильді пайдалана аласыз. Apple Configurator бағдарламасында профиль жасау жолын жоғарыдан қараңыз).

Профильді жүктеп алыңыз, орнатыңыз, тіркелгі деректерін енгізіңіз, қосылыңыз:

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Бар болғаны. Біз Radius серверін орнаттық, оны FreeIPA бағдарламасымен синхрондадық және Ubiquiti кіру нүктелеріне WPA2-EAP пайдалануды айттық.

Мүмкін сұрақтар

Q: профильді/сертификатты қызметкерге қалай беруге болады?

Өзіңіз туралы: Мен барлық сертификаттарды/профильдерді интернет арқылы қол жетімді FTP жүйесінде сақтаймын. Мен FTP-ті қоспағанда, жылдамдықты шектеу және тек Интернетке кіру мүмкіндігі бар қонақ желісін орнаттым.
Аутентификация 2 күнге созылады, содан кейін ол қалпына келтіріліп, клиент интернетсіз қалады. Бұл. Қызметкер WiFi желісіне қосылғысы келгенде, ол алдымен қонақ желісіне қосылып, FTP жүйесіне кіреді, өзіне қажетті сертификатты немесе профильді жүктеп алады, оларды орнатады, содан кейін корпоративтік желіге қосыла алады.

Q: неге MSCHAPv2 схемасын пайдаланбасқа? бұл қауіпсіз!

Өзіңіз туралы: біріншіден, бұл схема NPS (Windows Network Policy System) жүйесінде жақсы жұмыс істейді, біздің енгізуімізде LDAP (FreeIpa) қосымша конфигурациялау және пароль хэштерін серверде сақтау қажет. қосу. Параметрлерді жасау ұсынылмайды, өйткені бұл ультрадыбыстық жүйені синхрондау кезінде әртүрлі мәселелерге әкелуі мүмкін. Екіншіден, хэш - MD4, сондықтан ол қауіпсіздікті қамтамасыз етпейді

Q: Mac мекенжайлары арқылы құрылғыларды авторизациялауға болады ма?

Өзіңіз туралы: ЖОҚ, бұл қауіпсіз емес, шабуылдаушы MAC мекенжайларын бұрмалауы мүмкін және одан да көп құрылғыларда MAC мекенжайлары бойынша авторизацияға қолдау көрсетілмейді.

Q: Неліктен осы сертификаттардың барлығын пайдалану керек? оларсыз қосыла аласыз

Өзіңіз туралы: сертификаттар серверді авторизациялау үшін пайдаланылады. Анау. Қосылу кезінде құрылғы оның сенуге болатын сервер екенін немесе жоқтығын тексереді. Олай болса, аутентификация жалғасады, егер жоқ болса, байланыс жабылады. Сіз сертификаттарсыз қосыла аласыз, бірақ егер шабуылдаушы немесе көрші үйде біздікімен аттас радиус сервері мен кіру нүктесін орнатса, ол пайдаланушының тіркелгі деректерін оңай ұстай алады (олар анық мәтінде берілетінін ұмытпаңыз) . Сертификат пайдаланылған кезде, қарсылас өз журналдарында тек біздің жалған пайдаланушы атын көреді - қонақ немесе клиент және тип қатесі - белгісіз CA сертификаты

macOS туралы аздапӘдетте, macOS жүйесінде жүйені қайта орнату Интернет арқылы жүзеге асырылады. Қалпына келтіру режимінде Mac компьютері WiFi желісіне қосылған болуы керек және мұнда корпоративтік WiFi да, қонақ желісі де жұмыс істемейді. Жеке мен басқа желіні орнаттым, әдеттегі WPA2-PSK, жасырын, тек техникалық операциялар үшін. Немесе жүйемен алдын ала жүктелетін USB флэш-дискісін жасауға болады. Бірақ егер сіздің Mac 2015 жылдан кейін болса, сізге осы флэш-диск үшін адаптерді табу керек болады)

Ақпарат көзі: www.habr.com

пікір қалдыру