Kriptovalūtu biržas API drošība sākas ar vienkāršu principu: atslēgai jāspēj izdarīt tikai to, kas botam tiešām nepieciešams. Ja botam vajadzīga tikai cenu nolasīšana un orderu izvietošana, izņemšanas tiesības nav jāaktivizē. Pārāk plašas tiesības, publiski nopludināts noslēpums vai neierobežots ordera izmērs var pārvērst nelielu konfigurācijas kļūdu lielā zaudējumā. Latvijas lietotājam jāņem vērā arī konta pārbaude, eiro norēķini, pakalpojumu pieejamība ES klientiem un droša žurnālu glabāšana.
Izveidojiet atsevišķu API atslēgu
Neizmantojiet savu galveno paroli vai vienu API atslēgu visiem rīkiem. Izveidojiet atsevišķu atslēgu katram botam, videi un uzdevumam. Testa un produkcijas atslēgas glabājiet atsevišķi. Piešķiriet saprotamu nosaukumu, pierakstiet izveides datumu un nosakiet pārskatīšanas datumu. Ja bots vairs netiek izmantots, atslēga jāatspējo, nevis jāatstāj kontā uz nenoteiktu laiku. Šāda struktūra palīdz noskaidrot, kurš rīks izraisīja neparedzētu darbību, un samazina incidenta apjomu.
Izmantojiet minimālās tiesības
Biržas parasti atdala lasīšanas, tirdzniecības un līdzekļu izņemšanas tiesības. Sāciet ar tikai lasīšanas piekļuvi, lai pārbaudītu savienojumu. Pēc tam ieslēdziet tirdzniecību, ja tā ir nepieciešama. Izņemšanas tiesības atstājiet izslēgtas, ja botam tās nav vajadzīgas. Pārbaudiet, vai atslēga ļauj mainīt konta drošības iestatījumus, pārvaldīt citus lietotājus vai piekļūt datiem, kas nav saistīti ar uzdevumu. Pēc katras izmaiņas saglabājiet ekrānuzņēmumu vai auditierakstu, bet neglabājiet slepeno vērtību pašā dokumentā.
IP atļauju saraksts
Ja birža piedāvā IP allowlist, izmantojiet to. Atļaujiet tikai servera vai uzticamas iekārtas adresi un pārbaudiet, kā rīkoties, ja pakalpojuma sniedzējs maina IP. Dinamiska mājas IP adrese var izraisīt savienojuma kļūdas, tāpēc botam labāk izmantot kontrolētu serveri ar atjauninātu tīkla dokumentāciju. IP saraksts nepasargā no katras kļūdas, bet apgrūtina nozagtas atslēgas izmantošanu no citas vietas. Neiekļaujiet plašus diapazonus tikai ērtības dēļ. Ja atslēga jālieto vairākās vietās, izveidojiet atsevišķas atslēgas ar atsevišķām tiesībām.
Slepeno datu glabāšana
API key un secret nedrīkst atrasties publiskā repozitorijā, tērzēšanas ziņā, ekrānuzņēmumā vai konfigurācijas failā, kuru var nolasīt visi servera lietotāji. Izmantojiet vides noslēpumu glabātuvi vai piekļuves tiesību ziņā ierobežotu konfigurāciju. Žurnālos maskējiet atslēgas, authorization header un personisko informāciju. Rezerves kopijām jābūt šifrētām un pieejamām tikai tiem cilvēkiem, kuriem tās tiešām vajadzīgas. Ja ir aizdomas par noplūdi, negaidiet, kamēr bots izdarīs nākamo orderi: nekavējoties deaktivizējiet atslēgu un pārbaudiet konta darbības.
Orderu un zaudējumu limiti
Drošs bots nav tikai savienojums ar biržu. Iestatiet maksimālo ordera vērtību, maksimālo atvērto pozīciju skaitu, atļauto simbolu sarakstu, cenu novirzes robežu un dienas zaudējumu limitu. Ja signāls ir novecojis vai cena atšķiras no signāla par vairāk nekā noteikto robežu, orderis jāatmet. Ieviesiet arī atvērtas pozīcijas laika limitu un stop nosacījumu. Neizmantojiet likvidāciju kā stop-loss aizstājēju. Sviras produktos neliela cenu kustība var strauji palielināt zaudējumu, tāpēc limits jāaprēķina no konta atlikuma, nevis tikai no nepieciešamās maržas.
Rate limit un atkārtotie mēģinājumi
Biržas API pieprasījumiem ir ātruma ierobežojumi. Ja bots uz kļūdu atbild ar bezgalīgiem atkārtotiem mēģinājumiem, tas var radīt dublikātus vai bloķēt piekļuvi. Ieviesiet eksponenciālu aizturi, unikālu client order ID, idempotentu ordera apstrādi un skaidru kļūdu klasifikāciju. Tīkla kļūdu nedrīkst automātiski uztvert kā ordera noraidījumu; vispirms pārbaudiet biržas orderu vēsturi. Saglabājiet pieprasījuma laiku, atbildes kodu un ordera identifikatoru, bet maskējiet slepenos datus. Ātrāks bots nav labāks, ja tas nespēj atšķirt atkārtotu pieprasījumu no jauna ordera.
Žurnāli un brīdinājumi
Žurnālā pierakstiet signāla laiku, instrumentu, paredzēto pusi, ordera tipu, izmēru, cenu, faktisko izpildi, maksu, slippage un iemeslu, ja orderis tika noraidīts. Nosūtiet brīdinājumu par jaunu API login, neparastu ordera izmēru, vairākiem noraidījumiem, strauju zaudējumu un atslēgas kļūdām. Brīdinājumam jānonāk kanālā, kuru pārbaudāt, bet ziņā nedrīkst būt API secret. Reizi nedēļā salīdziniet bota žurnālu ar biržas trade history. Šī pārbaude atklāj, vai botam ir nepareizs laika zīmogs, dublikāti vai neparedzēti orderi.
Kill switch un atkopšana
Avārijas apturēšanai jābūt vienkāršai un pārbaudītai. Kill switch var apturēt procesu, atspējot API atslēgu vai bloķēt jaunus orderus, saglabājot nepieciešamu pozīciju pārvaldību pēc iepriekš noteikta plāna. Izvēlieties režīmu apzināti un dokumentējiet, kas notiks ar atvērtu pozīciju. Pārbaudiet šo procedūru testa vidē, nevis pirmās avārijas laikā. Ja parādās neparedzēti orderi, vispirms apturiet jaunus darījumus, pēc tam pārbaudiet pozīciju, konta sesijas un atslēgas. Neieslēdziet botu no jauna, kamēr cēlonis nav saprotams.
Latvijas un ES praktiskā pārbaude
Platformas produkti, KYC prasības, maksājumu iespējas un limiti var atšķirties pēc dzīvesvietas. Pirms API izmantošanas pārbaudiet oficiālos noteikumus un to, vai attiecīgais produkts ir pieejams Latvijas klientam. Eiro iemaksas izmaksas, konvertēšanas starpība un izņemšanas maksa jāglabā atsevišķā izmaksu žurnālā. Kriptoaktīvi ir svārstīgi, un juridiskās vai nodokļu prasības var mainīties. Saglabājiet darījumu, komisiju un pārskaitījumu vēsturi un, ja nepieciešams, konsultējieties ar kvalificētu speciālistu.
Pirms palaišanas kontrolsaraksts
- Vai atslēgai ir tikai lasīšanas un vajadzīgās tirdzniecības tiesības?
- Vai izņemšana un konta drošības izmaiņas ir izslēgtas?
- Vai IP allowlist un slepeno datu glabāšana ir pārbaudīta?
- Vai ordera izmēram, cenai, simboliem un dienas zaudējumam ir limiti?
- Vai atkārtotie mēģinājumi nevar izveidot dublikātus?
- Vai brīdinājumi, žurnāli un kill switch darbojas testa režīmā?
Kriptovalūtu biržas API drošība ir nepārtraukts process. Pārskatiet atslēgas pēc izmaiņām serverī, botā vai biržas noteikumos un deaktivizējiet visu, ko vairs neizmantojat. Automatizācija var paātrināt izpildi, bet tā negarantē peļņu un nevar novērst tirgus risku. Pirms reālas naudas izmantojiet mazu apjomu un oficiālo API dokumentāciju. Šis raksts ir izglītojošs, nevis ieguldījumu konsultācija vai zaudējumu garantija.
Saistītie CryptoSigy materiāli
CryptoSigy raksta arī par biržu likviditāti, komisijām, funding un signālu izpildes riskiem. Lasiet CryptoSigy blogu latviešu valodā un atkārtojiet šo drošības pārbaudi pēc katras konfigurācijas maiņas.