AWS - Elastic Beanstalk Enum
Elastic Beanstalk
Amazon Elastic Beanstalk inatoa jukwaa rahisi kwa kupeleka, kusimamia, na kupanua programu za wavuti na huduma. Inasaidia lugha na mifumo mbalimbali ya programu, kama Java, .NET, PHP, Node.js, Python, Ruby, na Go, pamoja na kontena za Docker. Huduma hii inaoana na seva zinazotumika sana kama Apache, Nginx, Passenger, na IIS.
Elastic Beanstalk inatoa njia rahisi na rahisi ya kupeleka programu zako kwenye wingu la AWS, bila haja ya kuwa na wasiwasi kuhusu miundombinu ya msingi. Inashughulikia kiotomatiki maelezo ya ugavi wa uwezo, usawazishaji wa mzigo, upanuzi, na ufuatiliaji wa afya ya programu, ikikuruhusu kuzingatia kuandika na kupeleka msimbo wako.
Miundombinu inayoundwa na Elastic Beanstalk inasimamiwa na Makundi ya Autoscaling katika EC2 (na usawazishaji wa mzigo). Hii inamaanisha kwamba mwishowe, ikiwa utahatarisha mwenyeji, unapaswa kujua kuhusu EC2:
AWS - EC2, EBS, ELB, SSM, VPC & VPN EnumZaidi ya hayo, ikiwa Docker inatumika, inawezekana kutumia ECS.
AWS - EKS EnumApplication & Environments
Katika AWS Elastic Beanstalk, dhana za "programu" na "mazingira" zina madhumuni tofauti na zina majukumu tofauti katika mchakato wa kupeleka.
Application
Programu katika Elastic Beanstalk ni konteina ya kimantiki kwa msimbo wa chanzo cha programu yako, mazingira, na usanidi. Inakusanya pamoja matoleo tofauti ya msimbo wa programu yako na inakuruhusu kuyasimamia kama chombo kimoja.
Unapounda programu, unatoa jina na maelezo, lakini hakuna rasilimali zinazotolewa katika hatua hii. ni njia tu ya kupanga na kusimamia msimbo wako na rasilimali zinazohusiana.
Unaweza kuwa na matoleo mengi ya programu ndani ya programu. Kila toleo linahusiana na toleo maalum la msimbo wako, ambalo linaweza kupelekwa kwenye mazingira moja au zaidi.
Environment
Mazingira ni nakala iliyotolewa ya programu yako inayoendesha kwenye miundombinu ya AWS. Ni mahali ambapo msimbo wa programu yako unapelekwa na kutekelezwa. Elastic Beanstalk inatoa rasilimali zinazohitajika (mfano, EC2 instances, load balancers, auto-scaling groups, databases) kulingana na usanidi wa mazingira.
Kila mazingira yanaendesha toleo moja la programu yako, na unaweza kuwa na mazingira mengi kwa madhumuni tofauti, kama maendeleo, majaribio, staging, na uzalishaji.
Unapounda mazingira, unachagua jukwaa (mfano, Java, .NET, Node.js, nk) na aina ya mazingira (mfano, seva ya wavuti au mfanyakazi). Unaweza pia kubinafsisha usanidi wa mazingira kudhibiti vipengele mbalimbali vya miundombinu na mipangilio ya programu.
Aina 2 za Mazingira
Mazingira ya Seva ya Wavuti: Imeundwa kuhudumia na kuhudumia programu za wavuti na API. Programu hizi kawaida hushughulikia maombi ya HTTP/HTTPS yanayoingia. Mazingira ya seva ya wavuti yanatoa rasilimali kama EC2 instances, load balancers, na auto-scaling groups kushughulikia trafiki inayoingia, kusimamia uwezo, na kuhakikisha upatikanaji wa juu wa programu.
Mazingira ya Mfanyakazi: Imeundwa kushughulikia kazi za nyuma, ambazo mara nyingi ni shughuli zinazochukua muda au rasilimali nyingi ambazo hazihitaji majibu ya haraka kwa wateja. Mazingira ya mfanyakazi yanatoa rasilimali kama EC2 instances na auto-scaling groups, lakini haina load balancer kwani haishughulikii maombi ya HTTP/HTTPS moja kwa moja. Badala yake, inachukua kazi kutoka kwa Amazon Simple Queue Service (SQS) queue, ambayo inafanya kazi kama buffer kati ya mazingira ya mfanyakazi na kazi inazoshughulikia.
Usalama
Unapounda Programu katika Beanstalk kuna chaguo 3 muhimu sana za usalama kuchagua:
EC2 key pair: Hii itakuwa SSH key ambayo itaweza kufikia EC2 instances zinazoendesha programu
IAM instance profile: Hii ni instance profile ambayo instances zitakuwa nayo (IAM privileges)
Jukumu lililoundwa kiotomatiki linaitwa
aws-elasticbeanstalk-ec2-role
na lina ufikiaji wa kuvutia juu ya ECS zote, SQS zote, DynamoDB elasticbeanstalk na elasticbeanstalk S3 kwa kutumia sera za usimamizi za AWS: AWSElasticBeanstalkWebTier, AWSElasticBeanstalkMulticontainerDocker, AWSElasticBeanstalkWorkerTier.Service role: Hii ni jukumu ambalo huduma ya AWS itatumia kufanya vitendo vyote vinavyohitajika. Afaik, mtumiaji wa kawaida wa AWS hawezi kufikia jukumu hilo.
Jukumu hili lililoundwa na AWS linaitwa
aws-elasticbeanstalk-service-role
na linatumia sera za usimamizi za AWS AWSElasticBeanstalkEnhancedHealth na AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
Kwa chaguo-msingi metadata version 1 imezimwa:
Ufunuo
Data ya Beanstalk inahifadhiwa katika S3 bucket yenye jina lifuatalo: elasticbeanstalk-<region>-<acc-id>
(ikiwa iliundwa katika console ya AWS). Ndani ya bucket hii utapata msimbo wa chanzo wa programu uliopakiwa.
URL ya ukurasa wa wavuti ulioundwa ni http://<webapp-name>-env.<random>.<region>.elasticbeanstalk.com/
Ikiwa utapata ufikiaji wa kusoma juu ya bucket, unaweza kusoma msimbo wa chanzo na hata kupata nywila nyeti juu yake
ikiwa utapata ufikiaji wa kuandika juu ya bucket, unaweza kubadilisha msimbo wa chanzo ili kuhatarisha IAM role ambayo programu inatumia wakati mwingine inapotekelezwa.
Enumeration
Ufikiaji Bila Uthibitisho
AWS - Elastic Beanstalk Unauthenticated EnumUendelevu
AWS - Elastic Beanstalk PersistencePrivesc
AWS - Elastic Beanstalk PrivescBaada ya Udukuzi
AWS - Elastic Beanstalk Post ExploitationLast updated