Bitcoin i gcliabhán?

Tharla sé mar sin gur riarthóir córais agus líonraí ríomhaireachta mé de réir gairme (i mbeagán focal: riarthóir córais), agus bhí deis agam a insint don tOllamh ar feadh beagán níos mó ná 10 mbliana. XNUMX/XNUMX Téacs atá ábhartha maidir leis an LEE gníomhaíochtaí raon leathan córas, lena n-áirítear na cinn sin a dteastaíonn bearta slándála [fíormhóra] uathu. Tharla sé freisin go raibh mé suimiúil tamall ó shin bitcoin, agus ní hamháin é a úsáid, ach sheol sé roinnt micrea-seirbhísí freisin chun foghlaim conas oibriú go neamhspleách leis an líonra Bitcoin (aka p2p tar éis an tsaoil) ó thaobh forbróra (tá mé ar ndóigh ar cheann díobh sin dev, mar sin, bhí mé ag dul thar). Ach níl mé ag caint faoi fhorbairt, táim ag caint faoi thimpeallacht shábháilte agus éifeachtach d'iarratais.

Teicneolaíocht airgeadais (fintech) téigh in aice le slándáil faisnéise (eolas) agus is féidir leis an gcéad oibriú gan an dara ceann, ach ní le fada. Sin an fáth gur mhaith liom mo thaithí agus an sraith uirlisí a úsáidim a roinnt, lena n-áirítear an dá cheann fintechAgus eolas, agus ag an am céanna, agus is féidir é a úsáid freisin chun críche níos leithne nó go hiomlán difriúil. San Airteagal seo inseoidh mé duit nach bhfuil an oiread sin faoi Bitcoin, ach faoi mhúnla an bhonneagair le haghaidh forbairt agus oibriú seirbhísí airgeadais (agus ní hamháin) - i bhfocal, na seirbhísí sin ina bhfuil tábhacht le “B”. Baineann sé seo le malartú Bitcoin agus leis an zú seirbhísí corparáideacha is tipiciúla de chuid cuideachta bheag nach bhfuil baint ar bith aige le Bitcoin.

Ba mhaith liom a thabhairt faoi deara go bhfuilim ag tacú leis na prionsabail "Coinnigh dúr simplí é" и "níos lú is mó", mar sin, beidh na hairíonna a bhaineann leis na prionsabail seo ag an alt agus ag a bhfuil cur síos air.

Cás samhailteach: Breathnaímid ar gach rud ag baint úsáide as an sampla de malartóir bitcoin. Shocraigh muid malartú rúbal, dollar, euro a sheoladh le haghaidh bitcoins agus ar ais, agus tá réiteach oibre againn cheana féin, ach le haghaidh airgead digiteach eile cosúil le qiwi agus webmoney, i.e. Tá gach saincheist dlí dúnta againn, tá feidhmchlár réamhdhéanta againn a fheidhmíonn mar gheata íocaíochta le haghaidh rúbal, dollar agus euro agus córais íocaíochta eile. Tá sé ceangailte lenár gcuntais bhainc agus tá API de shaghas éigin aige le haghaidh ár bhfeidhmchláir deiridh. Tá feidhmchlár gréasáin againn freisin a fheidhmíonn mar mhalartóir d’úsáideoirí, go maith, cosúil le cuntas tipiciúil qiwi nó webmoney - cruthaigh cuntas, cuir cárta leis, agus mar sin de. Déanann sé cumarsáid lenár bhfeidhmchlár tairsí, cé gur tríd an REST API sa cheantar áitiúil é. Agus mar sin shocraigh muid bitcoins a nascadh agus ag an am céanna an bonneagar a uasghrádú, mar gheall ar ... Ar dtús, cuireadh gach rud ar bun faoi dheifir ar bhoscaí fíorúla san oifig faoin mbord ... thosaigh an láithreán á úsáid, agus thosaigh muid ag imní faoi aga fónaimh agus feidhmíochta.

Mar sin, déanaimis tosú leis an rud is mó - roghnú freastalaí. Mar tá an gnó inár sampla beag agus tá muinín againn as an óstach (OVH) a roghnóidh muid rogha buiséid ina bhfuil sé dodhéanta an córas a shuiteáil ón íomhá bunaidh .iso, ach is cuma, déanfaidh an roinn slándála TF anailís cinnte ar an íomhá suiteáilte. Agus nuair a fhásaimid aníos, cuirfimid ár closet féin ar cíos faoi ghlas le rochtain fhisiciúil teoranta, agus b'fhéidir go dtógfaimid ár DC féin. Ar aon chuma, is fiú a mheabhrú, nuair a bhíonn crua-earraí ar cíos agus íomhánna réamhdhéanta á suiteáil agat, go bhfuil seans ann go mbeidh “Trojan ón hoster” ar crochadh ar do chóras, rud nach bhfuil i gceist i bhformhór na gcásanna spy a chur ort. ach a thairiscint uirlisí bainistíochta níos áisiúla freastalaí.

Suiteáil freastalaí

Tá gach rud simplí anseo. Roghnaimid na crua-earraí a oireann dár riachtanais. Ansin roghnaigh an íomhá FreeBSD. Bhuel, nó nascann muid (i gcás óstach eile agus ár gcuid crua-earraí féin) trí IPMI nó le monatóir agus cuir an íomhá .iso FreeBSD isteach san íoslódáil. Le haghaidh socrú ceolfhoirne a úsáidim Freagra и mfsbsd. An rud amháin, inár gcás le kimsufi, roghnaigh muid suiteáil saincheaptha Ionas go mbeidh an dá dhiosca sa scáthán gan ach na tosaithe agus / na landairí baile “oscailte”, beidh an chuid eile den spás diosca criptithe, ach níos mó ar sin níos déanaí.

Bitcoin i gcliabhán?

Tarlaíonn suiteáil an chórais ar bhealach caighdeánach, ní bheidh mé ag dul i ngleic leis seo, ní thabharfaidh mé faoi deara ach sula dtosaíonn tú ar an oibríocht is fiú aird a thabhairt ar cruachan roghanna a thairgeann sé bsdinstaller ag deireadh na suiteála (má shuiteálann tú an córas tú féin):

Bitcoin i gcliabhán?

ábhar maith ar an ábhar seo, déanfaidh mé arís é go hachomair anseo.

Is féidir freisin na paraiméadair thuasluaite a chumasú ar chóras atá suiteáilte cheana féin. Chun seo a dhéanamh, ní mór duit an comhad bootloader a chur in eagar agus paraiméadair eithne a chumasú. *Is eagarthóir mar seo é ee i BSD

# ee /etc/rc.conf

...
#sec hard
clear_tmp_enable="YES"
syslogd_flags="-ss"    
sendmail_enable="NONE"

# ee /etc/sysctl.conf

...
#sec hard
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.unprivileged_proc_debug=0
kern.randompid=$(jot -r 1 9999)
security.bsd.stack_guard_page=1

Ba cheart duit a chinntiú freisin go bhfuil an leagan is déanaí den chóras suiteáilte agat, agus gach nuashonrú agus uasghrádú a dhéanamh. Inár gcás, mar shampla, tá gá le huasghrádú go dtí an leagan is déanaí, mar gheall ar ... tá íomhánna réamhshuiteála chun deiridh de shé mhí go bliain. Bhuel, ansin athraíonn muid an calafort SSH go rud éigin difriúil ón gceann réamhshocraithe, cuir fíordheimhniú eochair agus díchumasaigh fíordheimhniú pasfhocail.

Ansin leag muid suas aide, monatóireacht a dhéanamh ar stádas comhaid cumraíochta an chórais. Is féidir leat níos mó a léamh go mion anseo.

pkg install aide

agus ár crontab a chur in eagar

crontab -e

06 01 * * 0-6 /root/chkaide.sh

#! /bin/sh
#chkaide.sh
MYDATE=`date +%Y-%m-%d`
MYFILENAME="Aide-"$MYDATE.txt
/bin/echo "Aide check !! `date`" > /tmp/$MYFILENAME
/usr/local/bin/aide --check > /tmp/myAide.txt
/bin/cat /tmp/myAide.txt|/usr/bin/grep -v failed >> /tmp/$MYFILENAME
/bin/echo "**************************************" >> /tmp/$MYFILENAME
/usr/bin/tail -20 /tmp/myAide.txt >> /tmp/$MYFILENAME
/bin/echo "****************DONE******************" >> /tmp/$MYFILENAME

Cuimsíonn muid iniúchadh córais

sysrc auditd_enable=YES

# service auditd start

Tá cur síos breá ar conas an t-ábhar seo a riar i treoir.

Anois táimid ag atosaigh agus ag dul ar aghaidh chuig na bogearraí ar an bhfreastalaí. Is hypervisor é gach freastalaí le haghaidh coimeádáin nó meaisíní fíorúla iomlána. Mar sin, tá sé tábhachtach go dtugann an próiseálaí tacaíocht do VT-x agus EPT má tá sé beartaithe againn fíorúlú iomlán a úsáid.

Úsáidim coimeádáin agus meaisíní fíorúla a úsáid cbsd ó ollabhoil, Guím níos mó sláinte agus beannachtaí dó as an bhfóntas iontach seo!

Coimeádáin? Docker arís nó cad é?

Ach níl. Príosúin FreeBSD Is uirlis iontach do containerization, ach an luaite cbsd chun na coimeádáin seo, ar a dtugtar cealla, a orchestrate.

Is réiteach an-éifeachtach é an caighean chun bonneagar a thógáil chun críocha éagsúla, nuair is gá seirbhísí nó próisis aonair a leithlisiú go hiomlán. Go bunúsach, is clón den chóras óstach é, ach ní gá fíorúlú crua-earraí iomlán a bheith ann. Agus a bhuí leis seo, ní chaitear acmhainní ar an “aoi OS”, ach amháin ar an obair atá á déanamh. Nuair a úsáidtear cealla le haghaidh riachtanas inmheánach, is réiteach an-áisiúil é seo chun an úsáid is fearr is féidir a bhaint as acmhainní - is féidir le grúpa cealla ar fhreastalaí crua-earraí amháin acmhainn iomlán an fhreastalaí a úsáid ina n-aonar más gá. Ag cur san áireamh go mbíonn gá le fosheirbhísí éagsúla de ghnáth. acmhainní ag amanna éagsúla, is féidir leat a bhaint as an fheidhmíocht uasta ó fhreastalaí amháin má phleanáil tú i gceart agus cothromaíocht na cealla idir freastalaithe. Más gá, is féidir srianta a thabhairt do chealla freisin ar an acmhainn a úsáidtear.

Bitcoin i gcliabhán?

Cad mar gheall ar fhíorúiliú iomlán?

Chomh fada agus is eol dom cbsd tacaíochtaí oibre bhyve agus hypervisors XEN. Níor úsáid mé an dara ceann riamh, ach tá an chéad cheann sách nua hypervisor ó FreeBSD. Breathnóimid ar shampla úsáide bhyve sa sampla thíos.

Suiteáil agus Cumraíocht na Timpeallachta Óstach

Bainimid úsáid as FS ZFS. Is uirlis thar a bheith cumhachtach é seo chun spás freastalaí a bhainistiú. A bhuíochas le ZFS, is féidir leat eagair de chumraíochtaí éagsúla a thógáil go díreach ó dhioscaí, spás a leathnú go dinimiciúil “te”, dioscaí marbh a athrú, grianghraif a bhainistiú, agus i bhfad, i bhfad níos mó, ar féidir cur síos a dhéanamh orthu i sraith iomlán altanna. Fillfimid ar ár bhfreastalaí agus a dioscaí. Ag tús na suiteála, d'fhág muid spás saor in aisce ar na dioscaí le haghaidh landairí criptithe. Cén fáth é sin? Déantar é seo ionas go ndúisíonn an córas go huathoibríoch agus go n-éisteann sé trí SSH.

gpart add -t freebsd-zfs /dev/ada0

/dev/ada0p4 added!

cuir deighilt diosca leis an spás atá fágtha

geli init /dev/ada0p4

cuir isteach ár bpasfhocal criptithe

geli attach /dev/ada0p4

Cuirimid an focal faire isteach arís agus tá gléas againn /dev/ada0p4.eli - is é seo ár spás criptithe. Ansin déanaimid an rud céanna arís le haghaidh /dev/ada1 agus an chuid eile de na dioscaí san eagar. Agus cruthaímid ceann nua ZFS linn snámha.

zpool create vms mirror /dev/ada0p4.eli /dev/ada1p4.eli /dev/ada3p4.eli - Bhuel, tá an trealamh comhraic íosta réidh againn. Réimse dioscaí le scáthán ar eagla go dteipeann ar cheann amháin den trí cinn.

Tacar sonraí a chruthú ar “linn snámha” nua

zfs create vms/jails

pkg install cbsd — sheolamar foireann agus chuireamar bainistíocht ar bun dár gcealla.

Tar éis cbsd suiteáilte, ní mór é a thúsú:

# env workdir="/vms/jails" /usr/local/cbsd/sudoexec/initenv

Bhuel, freagraimid a lán ceisteanna, le freagraí réamhshocraithe den chuid is mó.

*Má tá tú ag úsáid criptithe, tá sé tábhachtach go mbeadh an deamhan cbsdd níor thosaigh sé go huathoibríoch go dtí go ndéanfaidh tú na dioscaí a dhíchriptiú de láimh nó go huathoibríoch (inár sampla déantar é seo le zabbix)

**Ní úsáidim NAT ó cbsd, agus mé féin a chumrú i pf.

# sysrc pf_enable=YES

# ee /etc/pf.conf

IF_PUBLIC="em0"
IP_PUBLIC="1.23.34.56"
JAIL_IP_POOL="192.168.0.0/24"

#WHITE_CL="{ 127.0.0.1 }"

icmp_types="echoreq"

set limit { states 20000, frags 20000, src-nodes 20000 }
set skip on lo0
scrub in all

#NAT for jails
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC

## Bitcoin network port forward
IP_JAIL="192.168.0.1"
PORT_JAIL="{8333}"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

# service pf start

# pfctl -f /etc/pf.conf

Is ábhar ar leith é polasaithe balla dóiteáin a bhunú freisin, mar sin ní rachaidh mé go mór isteach sa bheartas BLOCK UILE a bhunú agus liostaí bána a shocrú, is féidir leat é sin a dhéanamh trí léamh doiciméadú oifigiúil nó aon cheann den líon mór alt atá ar fáil ar Google.

Bhuel... tá cbsd suiteáilte againn, tá sé in am ár gcéad chapall oibre a chruthú - an diabhal Bitcoin caged!

cbsd jconstruct-tui

Bitcoin i gcliabhán?

Anseo feicimid an dialóg cruthú cille. Tar éis na luachanna go léir a bheith socraithe, cruthaímid!

Agus do chéad chill á chruthú agat, ba cheart duit a roghnú cad atá le húsáid mar bhunús do na cealla. Roghnaím dáileadh ón stór FreeBSD leis an ordú repo. Ní dhéantar an rogha seo ach amháin nuair a chruthaíonn tú an chéad chill de leagan ar leith (is féidir leat cealla d'aon leagan atá níos sine ná an leagan óstach a óstáil).

Tar éis gach rud a shuiteáil, cuirimid an cage ar aghaidh!

# cbsd jstart bitcoind

Ach ní mór dúinn bogearraí a shuiteáil sa chliabhán.

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind

jexec bitcoind chun dul isteach ar an consól cille

agus cheana féin taobh istigh den chill suiteálaimid na bogearraí lena spleáchais (tá ár gcóras óstach fós glan)

bitcoind:/@[15:25] # pkg install bitcoin-daemon bitcoin-utils

bitcoind:/@[15:30] # sysrc bitcoind_enable=YES

bitcoind:/@[15:30] # service bitcoind start

Tá Bitcoin sa chliabhán, ach ní mór dúinn anaithnideacht mar ba mhaith linn ceangal le roinnt cages tríd an líonra TOP. Go ginearálta, tá sé beartaithe againn an chuid is mó de na cealla a rith le bogearraí amhrasacha ach amháin trí sheachvótálaí. A bhuíochas sin do pf Is féidir leat NAT a dhíchumasú le haghaidh raon áirithe seoltaí IP ar an líonra áitiúil, agus NAT a cheadú ach amháin dár nód TOR. Mar sin, fiú má théann malware isteach sa chill, is dócha nach ndéanfaidh sé cumarsáid leis an domhan lasmuigh, agus má dhéanann sé, ní nochtfaidh sé IP ár bhfreastalaí. Mar sin, cruthaímid cill eile chun seirbhísí “a chur ar aghaidh” mar sheirbhís “.oinniún” agus mar sheachvótálaí chun rochtain a fháil ar an Idirlíon chuig cealla aonair.

# cbsd jsconstruct-tui

# cbsd jstart tor

# jexec tor

tor:/@[15:38] # pkg install tor

tor:/@[15:38] # sysrc tor_enable=YES

tor:/@[15:38] # ee /usr/local/etc/tor/torrc

Socraigh chun éisteacht ag seoladh áitiúil (ar fáil do gach cill)

SOCKSPort 192.168.0.2:9050

Cad eile a theastaíonn uainn le haghaidh sonas iomlán? Sea, tá seirbhís de dhíth orainn dár ngréasán, b'fhéidir níos mó ná seirbhís amháin. Seolfaimid nginx, a fheidhmeoidh mar seachfhreastalaí droim ar ais agus a thabharfaidh aire d'athnuachan deimhnithe Let's Encrypt

# cbsd jsconstruct-tui

# cbsd jstart nginx-rev

# jexec nginx-rev

nginx-rev:/@[15:47] # pkg install nginx py36-certbot

Agus mar sin chuireamar 150 MB de spleáchais i gcliabhán. Agus tá an t-óstach fós glan.

Fillfimid ar nginx a bhunú níos déanaí, ní mór dúinn dhá chill eile a ardú le haghaidh ár ngeata íocaíochta ar nodejs agus meirge agus feidhmchlár gréasáin, atá ar chúis éigin i Apache agus PHP, agus éilíonn an dara ceann bunachar sonraí MySQL freisin.

# cbsd jsconstruct-tui

# cbsd jstart paygw

# jexec paygw

paygw:/@[15:55] # pkg install git node npm

paygw:/@[15:55] # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

...agus 380 MB eile de phacáistí scoite amach

Ansin, déanaimid ár n-iarratas a íoslódáil le git agus é a sheoladh.

# cbsd jsconstruct-tui

# cbsd jstart webapp

# jexec webapp

webapp:/@[16:02] # pkg install mariadb104-server apache24 php74 mod_php74 php74-pdo_mysql

450 MB pacáistí. i gcliabhán.

anseo tugaimid rochtain don fhorbróir trí SSH go díreach chuig an gcill, déanfaidh siad gach rud iad féin:

webapp:/@[16:02] # ee /etc/ssh/sshd_config

Port 2267 — calafort SSH na cille a athrú go dtí aon cheann treallach

webapp:/@[16:02] # sysrc sshd_enable=YES

webapp:/@[16:02] # service sshd start

Bhuel, tá an tseirbhís ar siúl, níl fágtha ach an riail a chur leis pf balla dóiteáin

Feicfimid cén IP atá ag ár gcealla agus cén chuma atá ar ár “limistéar áitiúil” go ginearálta.

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind
     2  192.168.0.2     tor.space.com                 /zroot/jails/jails/tor
     3  192.168.0.3     nginx-rev.space.com           /zroot/jails/jails/nginx-rev
     4  192.168.0.4     paygw.space.com               /zroot/jails/jails/paygw
     5  192.168.0.5     webapp.my.domain              /zroot/jails/jails/webapp

agus cuir riail

# ee /etc/pf.conf

## SSH for web-Devs
IP_JAIL="192.168.0.5"
PORT_JAIL="{ 2267 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

Bhuel, ós rud é go bhfuil muid anseo, cuirimis riail le haghaidh seachfhreastalaí droim ar ais freisin:

## web-ports for nginx-rev
IP_JAIL="192.168.0.3"
PORT_JAIL="{ 80, 443 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

# pfctl -f /etc/pf.conf

Bhuel, anois beagán faoi bitcoins

Is é an rud atá againn ná go bhfuil feidhmchlár gréasáin againn a nochtar go seachtrach agus a labhraíonn sé go háitiúil lenár ngeata íocaíochta. Anois ní mór dúinn a ullmhú timpeallacht oibre le haghaidh idirghníomhú leis an líonra Bitcoin féin - an nód bitcoind níl ann ach deamhan a choinníonn an chóip áitiúil den blockchain cothrom le dáta. Tá feidhmiúlacht RPC agus sparán ag an deamhan seo, ach tá “fillteáin” níos áisiúla ann chun feidhmchláir a fhorbairt. Chun tús a chur leis, shocraigh muid a chur electrum is sparán CLI. An sparán seo úsáidfimid é mar “stóráil fuar” dár bitcoins - go ginearálta, na bitcoins sin a chaithfear a stóráil “lasmuigh” den chóras atá inrochtana d’úsáideoirí agus go ginearálta ar shiúl ó gach duine. Tá GUI aige freisin, agus mar sin táimid chun an sparán céanna a úsáid ar ár
ríomhairí glúine. Chun anois úsáidfimid Electrum le freastalaithe poiblí, agus níos déanaí déanfaimid é a ardú i gcill eile ElectrumXionas nach ag brath ar éinne ar chor ar bith.

# cbsd jsconstruct-tui

# cbsd jstart electrum

# jexec electrum

electrum:/@[8:45] # pkg install py36-electrum

700 MB eile de bhogearraí inár gcliabhán

electrum:/@[8:53] # adduser

Username: wallet
Full name: 
Uid (Leave empty for default): 
Login group [wallet]: 
Login group is wallet. Invite wallet into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh nologin) [sh]: tcsh
Home directory [/home/wallet]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: no
Lock out the account after creation? [no]: 
Username   : wallet
Password   : <disabled>
Full Name  : 
Uid        : 1001
Class      : 
Groups     : wallet 
Home       : /home/wallet
Home Mode  : 
Shell      : /bin/tcsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (wallet) to the user database.
Add another user? (yes/no): no
Goodbye!
electrum:/@[8:53] # su wallet

electrum:/@[8:53] # su wallet

wallet@electrum:/ % electrum-3.6 create

{
    "msg": "Please keep your seed in a safe place; if you lose it, you will not be able to restore your wallet.",
    "path": "/usr/home/wallet/.electrum/wallets/default_wallet",
    "seed": "jealous win pig material ribbon young punch visual okay cactus random bird"
}

Anois tá sparán cruthaithe againn.

wallet@electrum:/ % electrum-3.6 listaddresses

[
    "18WEhbjvMLGRMfwudzUrUd25U5C7uZYkzE",
    "14XHSejhxsZNDRtk4eFbqAX3L8rftzwQQU",
    "1KQXaN8RXiCN1ne9iYngUWAr6KJ6d4pPas",
    ...
    "1KeVcAwEYhk29qEyAfPwcBgF5mMMoy4qjw",
    "18VaUuSeBr6T2GwpSHYF3XyNgLyLCt1SWk"
]

wallet@electrum:/ % electrum-3.6 help

Chun ár ar-slabhra Ní bheidh ach líon teoranta daoine in ann ceangal leis an sparán as seo amach. Chun nach n-osclófar rochtain ar an gcill seo ón taobh amuigh, tarlóidh naisc trí SSH trí TOP (leagan díláraithe de VPN). Seolaimid SSH sa chill, ach ná déan teagmháil lenár pf.conf ar an óstach.

electrum:/@[9:00] # sysrc sshd_enable=YES

electrum:/@[9:00] # service sshd start

Anois déanaimis an chill a mhúchadh le rochtain Idirlín an sparán. A ligean ar a thabhairt dó seoladh IP ó spás subnet eile nach bhfuil NATed. Ar dtús déanaimis athrú /etc/pf.conf ar an ósta

# ee /etc/pf.conf

JAIL_IP_POOL="192.168.0.0/24" a ligean ar é a athrú go JAIL_IP_POOL="192.168.0.0/25", dá bhrí sin ní bheidh rochtain dhíreach ar an Idirlíon ag gach seoladh 192.168.0.126-255. Cineál líonra bogearraí “aer-bhearna”. Agus fanann an riail NAT mar a bhí

nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC

Ró-ualú na rialacha

# pfctl -f /etc/pf.conf

Anois a ligean ar a ghlacadh ar ár cille

# cbsd jconfig jname=electrum

Bitcoin i gcliabhán?

Bitcoin i gcliabhán?

jset mode=quiet jname=electrum ip4_addr="192.168.0.200"
Remove old IP: /sbin/ifconfig em0 inet 192.168.0.6 -alias
Setup new IP: /sbin/ifconfig em0 inet 192.168.0.200 alias
ip4_addr: 192.168.0.200

Hmm, ach anois ní bheidh an córas féin ag obair dúinn. Mar sin féin, is féidir linn seachfhreastalaí córais a shonrú. Ach tá rud amháin ann, ar TOR is seachfhreastalaí SOCKS5 é, agus ar mhaithe le caoithiúlacht ba mhaith linn seachfhreastalaí HTTP freisin.

# cbsd jsconstruct-tui

# cbsd jstart polipo

# jexec polipo

polipo:/@[9:28] # pkg install polipo

polipo:/@[9:28] # ee /usr/local/etc/polipo/config

socksParentProxy = "192.168.0.2:9050"
socksProxyType = socks5

polipo:/@[9:42] # sysrc polipo_enable=YES

polipo:/@[9:43] # service polipo start

Bhuel, anois tá dhá seachfhreastalaí inár gcóras, agus an dá aschur trí TOR: stocaí5: //192.168.0.2:9050 agus http://192.168.0.6:8123

Anois is féidir linn ár dtimpeallacht sparán a chumrú

# jexec electrum

electrum:/@[9:45] # su wallet

wallet@electrum:/ % ee ~/.cshrc

#in the end of file proxy config
setenv http_proxy http://192.168.0.6:8123
setenv https_proxy http://192.168.0.6:8123

Bhuel, anois oibreoidh an bhlaosc faoi seachfhreastalaí. Más mian linn pacáistí a shuiteáil, ba cheart dúinn cur leis /usr/local/etc/pkg.conf ó faoi fhréamh an chliabháin

pkg_env: {
               http_proxy: "http://my_proxy_ip:8123",
           }

Bhuel, tá sé in am anois an tseirbhís folaithe TOR a chur leis mar sheoladh ár seirbhís SSH sa chill sparán.

# jexec tor

tor:/@[9:59] # ee /usr/local/etc/tor/torrc

HiddenServiceDir /var/db/tor/electrum/
HiddenServicePort 22 192.168.0.200:22

tor:/@[10:01] # mkdir /var/db/tor/electrum

tor:/@[10:01] # chown -R _tor:_tor /var/db/tor/electrum

tor:/@[10:01] # chmod 700 /var/db/tor/electrum

tor:/@[10:03] # service tor restart

tor:/@[10:04] # cat /var/db/tor/electrum/hostname

mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion

Is é seo ár seoladh ceangail. Déanaimis seiceáil ón meaisín áitiúil. Ach ar dtús ní mór dúinn ár n-eochair SSH a chur leis:

wallet@electrum:/ % mkdir ~/.ssh

wallet@electrum:/ % ee ~/.ssh/authorized_keys

ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAG9Fk2Lqi4GQ8EXZrsH3EgSrVIQPQaAlS38MmJLBabihv9KHIDGXH7r018hxqLNNGbaJWO/wrWk7sG4T0yLHAbdQAFsMYof9kjoyuG56z0XZ8qaD/X/AjrhLMsIoBbUNj0AzxjKNlPJL4NbHsFwbmxGulKS0PdAD5oLcTQi/VnNdU7iFw== user@local

Bhuel, ó mheaisín cliant Linux

user@local ~$ nano ~/.ssh/config

#remote electrum wallet
Host remotebtc
        User wallet
        Port 22
        Hostname mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion
        ProxyCommand /bin/ncat --proxy localhost:9050 --proxy-type socks5 %h %p

Déanaimis ceangal (Chun go n-oibreoidh sé seo, teastaíonn deamhan TOR áitiúil uait a éisteann ar 9050)

user@local ~$ ssh remotebtc

The authenticity of host 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:iW8FKjhVF4yyOZB1z4sBkzyvCM+evQ9cCL/EuWm0Du4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion' (ECDSA) to the list of known hosts.
FreeBSD 12.1-RELEASE-p1 GENERIC 
To save disk space in your home directory, compress files you rarely
use with "gzip filename".
        -- Dru <genesis@istar.ca>
wallet@electrum:~ % logout

Rath!

Chun oibriú le híocaíochtaí toirt agus micrea-íocaíochtaí, ní mór dúinn nód freisin Líonra Lightning, i ndáiríre, beidh sé seo ár n-uirlis is mó oibre le Bitcoin. U*c-tintreacha úsáidfimid mar dheamhan é Sparko breiseán, atá ina chomhéadan HTTP (REST) ​​lán-chuimsitheach agus a ligeann duit oibriú le hidirbhearta lasmuigh den slabhra agus ar slabhra araon. c-lightning ag teastáil le haghaidh feidhmiú bitcoind ach tá.

*Tá prótacal Líonra Lightning curtha i bhfeidhm i dteangacha éagsúla. Díobh siúd a ndearnamar tástáil orthu, ba chosúil go raibh c-tintreach (scríofa in C) ar an gceann is cobhsaí agus is tíosaí ar acmhainní

# cbsd jsconstruct-tui

# cbsd jstart cln

# jexec cln

lightning:/@[10:23] # adduser

Username: lightning
...

lightning:/@[10:24] # pkg install git

lightning:/@[10:23] # su lightning

cd ~ && git clone https://github.com/ElementsProject/lightning

lightning@lightning:~ % exit

lightning:/@[10:30] # cd /home/lightning/lightning/

lightning:/home/lightning/lightning@[10:31] # pkg install autoconf automake gettext git gmp gmake libtool python python3 sqlite3 libsodium py36-mako bash bitcoin-utils

lightning:/home/lightning/lightning@[10:34] # ./configure && gmake && gmake install

Cé go bhfuil gach rud is gá tiomsaithe agus suiteáilte, a ligean ar a chruthú úsáideoir RPC do lightningd в bitcoind

# jexec bitcoind

bitcoind:/@[10:36] # ee /usr/local/etc/bitcoin.conf

rpcbind=192.168.0.1
rpcuser=test
rpcpassword=test
#allow only c-lightning
rpcallowip=192.168.0.7/32

bitcoind:/@[10:39] # service bitcoind restart

Is cosúil nach bhfuil mo aistriú chaotic idir cealla chomh chaotic má thugann tú faoi deara an áirgiúlacht tmux, a ligeann duit fo-seisiúin teirminéil iolracha a chruthú laistigh de sheisiún amháin. Analógach: screen

Bitcoin i gcliabhán?

Mar sin, nílimid ag iarraidh fíor-IP ár nód a nochtadh, agus ba mhaith linn gach idirbheart airgeadais a dhéanamh trí BARR. Dá bhrí sin, ní gá .oinniún eile.

# jexec tor

tor:/@[9:59] # ee /usr/local/etc/tor/torrc

HiddenServiceDir /var/db/tor/cln/
HiddenServicePort 9735 192.168.0.7:9735

tor:/@[10:01] # mkdir /var/db/tor/cln

tor:/@[10:01] # chown -R _tor:_tor /var/db/tor/cln

tor:/@[10:01] # chmod 700 /var/db/tor/cln

tor:/@[10:03] # service tor restart

tor:/@[10:04] # cat /var/db/tor/cln/hostname

en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion

Anois, déanaimis config a chruthú le haghaidh c-lightning

lightning:/home/lightning/lightning@[10:31] # su lightning

lightning@lightning:~ % mkdir .lightning

lightning@lightning:~ % ee .lightning/config

alias=My-LN-Node
bind-addr=192.168.0.7:9735
rgb=ff0000
announce-addr=en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion:9735
network=bitcoin
log-level=info
fee-base=0
fee-per-satoshi=1
proxy=192.168.0.2:9050
log-file=/home/lightning/.lightning/c-lightning.log
min-capacity-sat=200000

# sparko plugin
# https://github.com/fiatjaf/lightningd-gjson-rpc/tree/master/cmd/sparko

sparko-host=192.168.0.7
sparko-port=9737

sparko-tls-path=sparko-tls

#sparko-login=mywalletusername:mywalletpassword

#sparko-keys=masterkey;secretread:+listchannels,+listnodes;secretwrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
sparko-keys=masterkey;secretread:+listchannels,+listnodes;ultrawrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
# for the example above the initialization logs (mixed with lightningd logs) should print something like

lightning@lightning:~ % mkdir .lightning/plugins

lightning@lightning:~ % cd .lightning/plugins/

lightning@lightning:~/.lightning/plugins:% fetch https://github.com/fiatjaf/sparko/releases/download/v0.2.1/sparko_full_freebsd_amd64

lightning@lightning:~/.lightning/plugins % mkdir ~/.lightning/sparko-tls

lightning@lightning:~/.lightning/sparko-tls % cd ~/.lightning/sparko-tls

lightning@lightning:~/.lightning/sparko-tls % openssl genrsa -out key.pem 2048

lightning@lightning:~/.lightning/sparko-tls % openssl req -new -x509 -sha256 -key key.pem -out cert.pem -days 3650

lightning@lightning:~/.lightning/plugins % chmod +x sparko_full_freebsd_amd64

lightning@lightning:~/.lightning/plugins % mv sparko_full_freebsd_amd64 sparko

lightning@lightning:~/.lightning/plugins % cd ~

ní mór duit freisin comhad cumraíochta a chruthú le haghaidh bitcoin-cli, fóntais a dhéanann cumarsáid leis bitcoind

lightning@lightning:~ % mkdir .bitcoin

lightning@lightning:~ % ee .bitcoin/bitcoin.conf

rpcconnect=192.168.0.1
rpcuser=test
rpcpassword=test

ag seiceáil

lightning@lightning:~ % bitcoin-cli echo "test"

[
  "test"
]

seoladh lightningd

lightning@lightning:~ % lightningd --daemon

Féin lightningd is féidir leat an fóntais a rialú lightning-cli, mar shampla:

lightning-cli newaddr faigh an seoladh le haghaidh íocaíochta nua isteach

{
   "address": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv",
   "bech32": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv"
}

lightning-cli withdraw bc1jufcxahfrnfhruwjgx3cq2n2ffq3lplhme878pv all seol an t-airgead go léir sa sparán chuig an seoladh (gach seoladh ar slabhra)

Chomh maith leis sin orduithe le haghaidh oibríochtaí as slabhra lightning-cli invoice, lightning-cli listinvoices, lightning-cli pay srl.

Bhuel, le haghaidh cumarsáide leis an bhfeidhmchlár tá REST Api againn

curl -k https://192.168.0.7:9737/rpc -d '{"method": "pay", "params": ["lnbc..."]}' -H 'X-Access masterkey'

Suim suas

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind
     2  192.168.0.2     tor.space.com                 /zroot/jails/jails/tor
     3  192.168.0.3     nginx-rev.space.com           /zroot/jails/jails/nginx-rev
     4  192.168.0.4     paygw.space.com               /zroot/jails/jails/paygw
     5  192.168.0.5     webapp.my.domain              /zroot/jails/jails/webapp
     7  192.168.0.200   electrum.space.com            /zroot/jails/jails/electrum
     8  192.168.0.6     polipo.space.com              /zroot/jails/jails/polipo
     9  192.168.0.7     lightning.space.com           /zroot/jails/jails/cln

Bitcoin i gcliabhán?

Tá sraith coimeádán againn, agus a leibhéal rochtana féin ag gach ceann acu ón líonra áitiúil agus chuig an líonra áitiúil.

# zfs list

NAME                    USED  AVAIL  REFER  MOUNTPOINT
zroot                   279G  1.48T    88K  /zroot
zroot/ROOT             1.89G  1.48T    88K  none
zroot/ROOT/default     1.89G  17.6G  1.89G  /
zroot/home               88K  1.48T    88K  /home
zroot/jails             277G  1.48T   404M  /zroot/jails
zroot/jails/bitcoind    190G  1.48T   190G  /zroot/jails/jails-data/bitcoind-data
zroot/jails/cln         653M  1.48T   653M  /zroot/jails/jails-data/cln-data
zroot/jails/electrum    703M  1.48T   703M  /zroot/jails/jails-data/electrum-data
zroot/jails/nginx-rev   190M  1.48T   190M  /zroot/jails/jails-data/nginx-rev-data
zroot/jails/paygw      82.4G  1.48T  82.4G  /zroot/jails/jails-data/paygw-data
zroot/jails/polipo     57.6M  1.48T  57.6M  /zroot/jails/jails-data/polipo-data
zroot/jails/tor        81.5M  1.48T  81.5M  /zroot/jails/jails-data/tor-data
zroot/jails/webapp      360M  1.48T   360M  /zroot/jails/jails-data/webapp-data

Mar a fheiceann tú, tógann bitcoind suas go léir 190 GB de spás. Cad a tharlóidh má theastaíonn nód eile uainn le haghaidh tástálacha? Seo nuair a thagann ZFS i handy. Le cabhair cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com is féidir leat pictiúr a chruthú agus cill nua a cheangal den ghrianghraf seo. Beidh a spás féin ag an gcill nua, ach ní chuirfear san áireamh ach an difríocht idir an staid reatha agus an bunleagan sa chóras comhaid (sábhálfaimid 190 GB ar a laghad)

Tá a tacar sonraí ZFS féin ag gach cill, agus tá sé seo thar a bheith áisiúil. Ceadaíonn ZFS freisin rudaí fionnuara éagsúla eile a dhéanamh, mar shampla pictiúir a sheoladh trí SSH. Ní chuirfimid síos air, tá go leor ann cheana féin.

Is fiú a thabhairt faoi deara freisin an gá atá le monatóireacht iargúlta ar an óstach, chun na críocha seo atá againn Zabbix.

B - sábháilteacht

Maidir le slándáil, cuirimis tús leis na príomhphrionsabail i gcomhthéacs an bhonneagair:

Rúndacht - Áirithítear le huirlisí caighdeánacha córas atá cosúil le UNIX cur chun feidhme an phrionsabail seo. Scaraimid go loighciúil rochtain ar gach eilimint den chóras atá ar leithligh go loighciúil - cill. Soláthraítear rochtain trí fhíordheimhniú caighdeánach úsáideora ag baint úsáide as eochracha pearsanta na n-úsáideoirí. Tarlaíonn gach cumarsáid idir agus go dtí na cealla deiridh i bhfoirm criptithe. A bhuí le criptiú diosca, ní gá dúinn a bheith buartha faoi shábháilteacht sonraí agus sinn ag athsholáthar diosca nó ag aistriú chuig freastalaí eile. Is é an t-aon rochtain ríthábhachtach atá ann ná rochtain ar an gcóras óstaigh, toisc go soláthraíonn rochtain den sórt sin rochtain ar shonraí laistigh de choimeádáin de ghnáth.

Ionracas “Tarlaíonn cur i bhfeidhm an phrionsabail seo ar leibhéil éagsúla. Ar an gcéad dul síos, tá sé tábhachtach a thabhairt faoi deara, i gcás crua-earraí freastalaí, cuimhne ECC, go dtugann ZFS “as an mbosca” cheana féin aire do shláine na sonraí ag leibhéal na giotaí faisnéise. Ligeann pictiúir láithreach duit cúltacaí a dhéanamh ag am ar bith ar an eitilt. Déanann uirlisí áisiúla easpórtála/allmhairithe cille simplí do mhacasamhlú cille.

Infhaighteacht - Tá sé seo roghnach cheana féin. Ag brath ar mhéid do chlú agus ar an bhfíric go bhfuil fuath agat. Inár sampla, chinntigh muid go raibh an sparán inrochtana go heisiach ón líonra TOP. Más gá, is féidir leat gach rud a bhlocáil ar an mballa dóiteáin agus rochtain a cheadú ar an bhfreastalaí go heisiach trí tholláin (Is ábhar eile é TOR nó VPN). Mar sin, gearrfar an freastalaí amach ón domhan lasmuigh oiread agus is féidir, agus is sinne amháin a bheidh in ann tionchar a imirt ar a infhaighteacht.

Dodhéanta diúltaithe - Agus braitheann sé seo ar oibriú breise agus ar chomhlíonadh na mbeartas cearta maidir le cearta úsáideoirí, rochtain, etc. Ach leis an gcur chuige ceart, déantar iniúchadh ar ghníomhartha uile an úsáideora, agus a bhuí le réitigh chripteagrafacha is féidir a aithint gan athbhrí cé a rinne gníomhartha áirithe agus cathain.

Ar ndóigh, ní sampla iomlán é an chumraíocht a thuairiscítear den chaoi ar cheart dó a bheith i gcónaí, is sampla amháin é de conas is féidir é a bheith, agus cumais scálaithe agus saincheaptha an-solúbtha á gcoimeád.

Cad mar gheall ar fhíorúiliú iomlán?

Maidir le fíorúlú iomlán ag baint úsáide as cbsd is féidir leat léigh anseo. Ní chuirfidh mé é sin ach le haghaidh oibre bhyve Ní mór duit roinnt roghanna eithne a chumasú.

# cat /etc/rc.conf

...
kld_list="vmm if_tap if_bridge nmdm"
...

# cat /boot/loader.conf

...
vmm_load="YES"
...

Mar sin má theastaíonn uait docker a thosú go tobann, ansin suiteáil roinnt debian agus téigh!

Bitcoin i gcliabhán?

Sin é an méid

Is dóigh liom gurb é sin go léir a theastaigh uaim a roinnt. Má thaitin an t-alt leat, ansin is féidir leat roinnt bitcoins a sheoladh chugam - bc1qu7lhf45xw83ddll5mnzte6ahju8ktkeu6qhttc. Más mian leat cealla a thriail i ngníomh agus go bhfuil roinnt bitcoins agat, is féidir leat dul go dtí mo peataí-tionscadal.

Foinse: will.com