Deploying an EMR cluster on AWS Outposts to process data from an on-premises database

Post Syndicated from Macey Neff original https://aws.amazon.com/blogs/compute/deploying-an-emr-cluster-on-aws-outposts-to-process-data-from-an-on-premises-database/

seThis post is written by Eder de Mattos, Sr. Cloud Security Consultant, AWS and Fernando Galves, Outpost Solutions Architect, AWS.

In this post, you will learn how to deploy an Amazon EMR cluster on AWS Outposts and use it to process data from an on-premises database. Many organizations have regulatory, contractual, or corporate policy requirements to process and store data in a specific geographical location. These strict requirements become a challenge for organizations to find flexible solutions that balance regulatory compliance with the agility of cloud services. Amazon EMR is the industry-leading cloud big data platform for data processing, interactive analysis, and machine learning (ML) that uses open-source frameworks. With Amazon EMR on Outposts, you can seamlessly use data analytics solutions to process data locally in your on-premises environment without moving data to the cloud. This post focuses on creating and configuring an Amazon EMR cluster on AWS Outposts rack using Amazon Virtual Private Cloud (Amazon VPC) endpoints and keeping the networking traffic in the on-premises environment.

Architecture overview

In this architecture, there is an Amazon EMR cluster created in an AWS Outposts subnet. The cluster retrieves data from an on-premises PostgreSQL database, employs a PySpark Step for data processing, and then stores the result in a new table within the same database. The following diagram shows this architecture.

Architecture overview

Figure 1 Architecture overview

Networking traffic on premises: The communication between the EMR cluster and the on-premises PostgreSQL database is through the Local Gateway. The core Amazon Elastic Compute Cloud (Amazon EC2) instances of the EMR cluster are associated with Customer-owned IP addresses (CoIP), and each instance has two IP addresses: an internal IP and a CoIP IP. The internal IP is used to communicate locally in the subnet, and the CoIP IP is used to communicate with the on-premises network.

Amazon VPC endpoints: Amazon EMR establishes communication with the VPC through an interface VPC endpoint. This communication is private and conducted entirely within the AWS network instead of connecting over the internet. In this architecture, VPC endpoints are created on a subnet in the AWS Region.

The support files used to create the EMR cluster are stored in an Amazon Simple Storage Service (Amazon S3) bucket. The communication between the VPC and Amazon S3 stays within the AWS network. The following files are stored in this S3 bucket:

  • get-postgresql-driver.sh: This is a bootstrap script to download the PostgreSQL driver to allow the Spark step to communicate to the PostgreSQL database through JDBC. You can download it through the GitHub repository for this Amazon EMR on Outposts blog post.
  • postgresql-42.6.0.jar: PostgreSQL binary JAR file for the JDBC driver.
  • spark-step-example.py: Example of a Step application in PySpark to simulate the connection to the PostgreSQL database.

AWS Systems Manager is configured to manage the EC2 instances that belong to the EMR cluster. It uses an interface VPC endpoint to allow the VPC to communicate privately with the Systems Manager.

The database credentials to connect to the PostgreSQL database are stored in AWS Secrets Manager. Amazon EMR integrates with Secrets Manager. This allows the secret to be stored in the Secrets Manager and be used through its ARN in the cluster configuration. During the creation of the EMR cluster, the secret is accessed privately through an interface VPC endpoint and stored in the variable DBCONNECTION in the EMR cluster.

In this solution, we are creating a small EMR cluster with one primary and one core node. For the correct sizing of your cluster, see Estimating Amazon EMR cluster capacity.

There is additional information to improve the security posture for organizations that use AWS Control Tower landing zone and AWS Organizations. The post Architecting for data residency with AWS Outposts rack and landing zone guardrails is a great place to start.

Prerequisites

Before deploying the EMR cluster on Outposts, you must make sure the following resources are created and configured in your AWS account:

  1. Outposts rack are installed, up and running.
  2. Amazon EC2 key pair is created. To create it, you can follow the instructions in Create a key pair using Amazon EC2 in the Amazon EC2 user guide.

Deploying the EMR cluster on Outposts

1.      Deploy the CloudFormation template to create the infrastructure for the EMR cluster

You can use this AWS CloudFormation template to create the infrastructure for the EMR cluster. To create a stack, you can follow the instructions in Creating a stack on the AWS CloudFormation console in the AWS CloudFormation user guide.

2.      Create an EMR cluster

To launch a cluster with Spark installed using the console:

Step 1: Configure Name and Applications

  1. Sign in to the AWS Management Console, and open the Amazon EMR console.
  2. Under EMR on EC2, in the left navigation pane, select Clusters, and then choose Create Cluster.
  3. On the Create cluster page, enter a unique cluster name for the Name
  4. For Amazon EMR release, choose emr-6.13.0.
  5. In the Application bundle field, select Spark 3.4.1 and Zeppelin 0.10.1, and unselect all the other options.
  6. For the Operating system options, select Amazon Linux release.

Create Cluster Figure 2: Create Cluster

Step 2: Choose Cluster configuration method

  1. Under the Cluster configuration, select Uniform instance groups.
  2. For the Primary and the Core, select the EC2 instance type available in the Outposts rack that is supported by the EMR cluster.
  3. Remove the instance group Task 1 of 1.

Remove the instance group Task 1 of 1

Figure 3: Remove the instance group Task 1 of 1

Step 3: Set up Cluster scaling and provisioning, Networking and Cluster termination

  1. In the Cluster scaling and provisioning option, choose Set cluster size manually and type the value 1 for the Core
  2. On the Networking, select the VPC and the Outposts subnet.
  3. For Cluster termination, choose Manually terminate cluster.

Step 4: Configure the Bootstrap actions

A. In the Bootstrap actions, add an action with the following information:

    1. Name: copy-postgresql-driver.sh
    2. Script location: s3://<bucket-name>/copy-postgresql-driver.sh. Modify the <bucket-name> variable to the bucket name you specified as a parameter in Step 1.

Add bootstrap action

Figure 4: Add bootstrap action

Step 5: Configure Cluster logs and Tags

a. Under Cluster logs, choose Publish cluster-specific logs to Amazon S3 and enter s3://<bucket-name>/logs for the field Amazon S3 location. Modify the <bucket-name> variable to the bucket name you specified as a parameter in Step 1.

Amazon S3 location for cluster logs

Figure 5: Amazon S3 location for cluster logs

b. In Tags, add new tag. You must enter for-use-with-amazon-emr-managed-policies for the Key field and true for Value.

Add tags

Figure 6: Add tags

Step 6: Set up Software settings and Security configuration and EC2 key pair

a. In the Software settings, enter the following configuration replacing the Secret ARN created in Step 1:

[
          {
                    "Classification": "spark-defaults",
                    "Properties": {
                              "spark.driver.extraClassPath": "/opt/spark/postgresql/driver/postgresql-42.6.0.jar",
                              "spark.executor.extraClassPath": "/opt/spark/postgresql/driver/postgresql-42.6.0.jar",
                              "[email protected]":
                                         "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>"
                    }
          }
]

This is an example of the Secret ARN replaced:

Example of the Secret ARN replaced

Figure 7: Example of the Secret ARN replaced

b. For the Security configuration and EC2 key pair, choose the SSH key pair.

Step 7: Choose Identity and Access Management (IAM) roles

a. Under Identity and Access Management (IAM) roles:

    1. In the Amazon EMR service role:
      • Choose AmazonEMR-outposts-cluster-role for the Service role.
    2. In EC2 instance profile for Amazon EMR
      • Choose AmazonEMR-outposts-EC2-role.

Choose the service role and instance profile

Figure 8: Choose the service role and instance profile

Step 8: Create cluster

  1. Choose Create cluster to launch the cluster and open the cluster details page.

Now, the EMR cluster is starting. When your cluster is ready to process tasks, its status changes to Waiting. This means the cluster is up, running, and ready to accept work.

Result of the cluster creation

Figure 9: Result of the cluster creation

3.      Add CoIPs to EMR core nodes

You need to allocate an Elastic IP from the CoIP pool and associate it with the EC2 instance of the EMR core nodes. This is necessary to allow the core nodes to access the on-premises environment. To allocate an Elastic IP, follow the instructions in Allocate an Elastic IP address in Amazon EC2 User Guide for Linux Instances. In Step 5, choose the Customer-owned pool of IPV4 addresses.

Once the CoIP IP is allocated, associate it with each EC2 instance of the EMR core node. Follow the instructions in Associate an Elastic IP address with an instance or network interface in Amazon EC2 User Guide for Linux Instances.

Checking the configuration

  1. Make sure the EC2 instance of the core nodes can ping the IP of the PostgreSQL database.

Connect to the Core node EC2 instance using Systems Manager and ping the IP address of the PostgreSQL database.

Connectivity test

Figure 10: Connectivity test

  1. Make sure the Status of the EMR cluster is Waiting.

: Cluster is ready and waiting

Figure 11: Cluster is ready and waiting

Adding a step to the Amazon EMR cluster

You can use the following Spark application to simulate the data processing from the PostgreSQL database.

spark-step-example.py:

import os
from pyspark.sql import SparkSession

if __name__ == "__main__":

    # ---------------------------------------------------------------------
    # Step 1: Get the database connection information from the EMR cluster 
    #         configuration
    dbconnection = os.environ.get('DBCONNECTION')
    #    Remove brackets
    dbconnection_info = (dbconnection[1:-1]).split(",")
    #    Initialize variables
    dbusername = ''
    dbpassword = ''
    dbhost = ''
    dbport = ''
    dbname = ''
    dburl = ''
    #    Parse the database connection information
    for dbconnection_attribute in dbconnection_info:
        (key_data, key_value) = dbconnection_attribute.split(":", 1)

        if key_data == "username":
            dbusername = key_value
        elif key_data == "password":
            dbpassword = key_value
        elif key_data == 'host':
            dbhost = key_value
        elif key_data == 'port':
            dbport = key_value
        elif key_data == 'dbname':
            dbname = key_value

    dburl = "jdbc:postgresql://" + dbhost + ":" + dbport + "/" + dbname

    # ---------------------------------------------------------------------
    # Step 2: Connect to the PostgreSQL database and select data from the 
    #         pg_catalog.pg_tables table
    spark_db = SparkSession.builder.config("spark.driver.extraClassPath",                                          
               "/opt/spark/postgresql/driver/postgresql-42.6.0.jar") \
               .appName("Connecting to PostgreSQL") \
               .getOrCreate()

    #    Connect to the database
    data_db = spark_db.read.format("jdbc") \
        .option("url", dburl) \
        .option("driver", "org.postgresql.Driver") \
        .option("query", "select count(*) from pg_catalog.pg_tables") \
        .option("user", dbusername) \
        .option("password", dbpassword) \
        .load()

    # ---------------------------------------------------------------------
    # Step 3: To do the data processing
    #
    #    TO-DO

    # ---------------------------------------------------------------------
    # Step 4: Save the data into the new table in the PostgreSQL database
    #
    data_db.write \
        .format("jdbc") \
        .option("url", dburl) \
        .option("dbtable", "results_proc") \
        .option("user", dbusername) \
        .option("password", dbpassword) \
        .save()

    # ---------------------------------------------------------------------
    # Step 5: Close the Spark session
    #
    spark_db.stop()
    # ---------------------------------------------------------------------

You must upload the file spark-step-example.py to the bucket created in Step 1 of this post before submitting the Spark application to the EMR cluster. You can get the file at this GitHub repository for a Spark step example.

Submitting the Spark application step using the Console

To submit the Spark application to the EMR cluster, follow the instructions in To submit a Spark step using the console in the Amazon EMR Release Guide. In Step 4 of this Amazon EMR guide, provide the following parameters to add a step:

  1. choose Cluster mode for the Deploy mode
  2. type a name for your step (such as Step 1)
  3. for the Application location, choose s3://<bucket-name>/spark-step-example.py and replace the <bucket-name> variable to the bucket name you specified as a parameter in Step 1
  4. leave the Spark-submit options field blank

Add a step to the EMR cluster

Figure 12: Add a step to the EMR cluster

The Step is created with the Status Pending. When it is done, the Status changes to Completed.

Step executed successfully

Figure 13: Step executed successfully

Cleaning up

When the EMR cluster is no longer needed, you can delete the resources created to avoid incurring future costs by following these steps:

  1. Follow the instructions in Terminate a cluster with the console in the Amazon EMR Documentation Management Guide. Remember to turn off the Termination protection.
  2. Dissociate and release the CoIP IPs allocated to the EC2 instances of the EMR core nodes.
  3. Delete the stack in the AWS CloudFormation using the instructions in Deleting a Stack on the AWS CloudFormation console in the AWS CloudFormation User Guide

Conclusion

Amazon EMR on Outposts allows you to use the managed services offered by AWS to perform big data processing close to your data that needs to remain on-premises. This architecture eliminates the need to transfer on-premises data to the cloud, providing a robust solution for organizations with regulatory, contractual, or corporate policy requirements to store and process data in a specific location. With the EMR cluster accessing the on-premises database directly through local networking, you can expect faster and more efficient data processing without compromising on compliance or agility. To learn more, visit the Amazon EMR on AWS Outposts product overview page.

[$] A proposal for shared memory in BPF programs

Post Syndicated from daroc original https://lwn.net/Articles/961941/

Alexei Starovoitov introduced

a patch series
for the Linux kernel on February 6 to add bpf_arena, a new type
of shared memory between
BPF
programs and user space.
Starovitov expects arenas to be useful both for bidirectional communication
between user space and BPF programs, and for use as an additional heap for BPF
programs. This will likely be useful to BPF programs that implement
complex data structures directly, instead of relying on the kernel to supply them.
Starovoitov cited Google’s
ghOSt project
as an example and inspiration for the work.

Security updates for Wednesday

Post Syndicated from corbet original https://lwn.net/Articles/963035/

Security updates have been issued by CentOS (linux-firmware and python-reportlab), Debian (unbound), Fedora (freeglut and syncthing), Red Hat (edk2, go-toolset:rhel8, java-1.8.0-ibm, kernel, kernel-rt, mysql:8.0, oniguruma, and python-pillow), Slackware (libuv and mozilla), SUSE (abseil-cpp, grpc, opencensus-proto, protobuf, python- abseil, python-grpcio, re2, bind, dpdk, firefox, hdf5, libssh, libssh2_org, libxml2, mozilla-nss, openssl-1_1, openvswitch, postgresql12, postgresql13, postgresql14, postgresql15, postgresql16, python-aiohttp, python-time-machine, python-pycryptodomex, runc, and webkit2gtk3), and Ubuntu (kernel, libspf2, linux, linux-aws, linux-aws-hwe, linux-azure, linux-azure-4.15, linux-gcp,
linux-gcp-4.15, linux-hwe, linux-kvm, linux-oracle, and linux, linux-aws, linux-kvm, linux-lts-xenial).

Details of a Phone Scam

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/02/details-of-a-phone-scam.html

First-person account of someone who fell for a scam, that started as a fake Amazon service rep and ended with a fake CIA agent, and lost $50,000 cash. And this is not a naive or stupid person.

The details are fascinating. And if you think it couldn’t happen to you, think again. Given the right set of circumstances, it can.

It happened to Cory Doctorow.

EDITED TO ADD (2/23): More scams, these involving timeshares.

Кога ще ги стигнем гърците, или как Гърция узакони еднополовите бракове

Post Syndicated from Светла Енчева original https://www.toest.bg/koga-shte-gi-stignem-gurtsite/

Кога ще ги стигнем гърците, или как Гърция узакони еднополовите бракове

Гърция узакони еднополовите бракове на 15 февруари 2024 г. Така тя стана първата страна с преобладаващо православно население, в която хора от един и същи пол могат да се женят. В меда на радостта на ЛГБТИ общността в южната ни съседка има и капка катран – новоприетите хомосексуални бракове не гарантират съвсем равни права. При тях например не е разрешена асистираната репродукция, която е достъпна, ако една жена е неомъжена или е в хетеросексуален брак. Но съпрузите от един и същи пол вече могат да осиновяват деца, да се наследяват, да си ходят на свиждане в болницата, да вземат решения, в случай че съпругът/съпругата не е в съзнание или почине. Всъщност с някои права еднополовите двойки в Гърция разполагаха и преди, защото партньорството между тях беше легализирано още през 2015 г.

Възниква обаче въпросът: защо Гърция? Как тя стана първата православна държава, предприела подобна стъпка? Дали гръцката държава е по-светска например от българската, дали по-малка част от населението ѝ е православно и дали връзките между религия и национална идентичност не са толкова силни? Или съществуват други предпоставки?

Православието в Гърция и България в наши дни – статистика и законодателство

Към 2022 г. между 81 и 90% от населението на Гърция (по данни от различни изследвания) се определя като принадлежащо към православното християнство. За сравнение, според последното преброяване от 2021 г. близо 70% от представителите на българското население са православни християни.

Според Конституцията на България православието е традиционната религия в страната, но религиозните институции са отделени от държавата и религията не може да се използва за политически цели. Освен това само гражданският брак е законен.

Конституцията на Гърция определя православната религия като επικρατούσα, което може да се преведе като „преобладаваща“ или „доминираща“, но и като „господстваща“. В нея не само липсва разделението между църква и държава, налично в българската, ами са синтезирани основите на православната доктрина и официалният превод на Библията се поставя под особена защита. Оскърблението на религията присъства преди обиждането на президента като основание за конфискуване на печатни издания – нещо, което се прилага само в изключителни случаи.

За разлика от българския Основен закон, в гръцкия липсва текстът, че бракът е само между мъж и жена, но го няма и ограничението, че само гражданският е законен. Затова религиозните бракове имат правна стойност, каквато и гражданските. Разбира се, еднополовите двойки могат да сключат единствено граждански брак – Гръцката православна църква е твърдо против еднополовите бракове.

Православие и национална идентичност в Гърция

За три четвърти от гърците (76%) според резултатите от изследване от 2017 г. религията е от решаващо значение за националната им идентичност – за тях е важно да са православни, за да се чувстват гърци. По данни от същото изследване, така смятат 66% от българите и 57% от руснаците. За седем години ситуацията може да се е променила, но дълбоката връзка на гръцката идентичност с православието – едва ли.

Доминиращият гръцки исторически разказ, както впрочем и българският, търси корените на националната идентичност в далечното минало, когато не са съществували нито национални държави, нито разбирането за национална идентичност, родено някъде около Ренесанса. В този смисъл съвременна Гърция се възприема като наследница на Древна Елада и на Византийската империя. Гордее се, че по нейните земи християнството се е появило в самото начало, донесено от апостолите Павел и Андрей. Към края на II век християнската религия вече има седалища в редица градове, като Солун, Коринт, Никополис, Филипи и Атина.

Гърция се смята и за център на православното християнство. Още преди схизмата от 1054 г., когато християнството се разделя на римокатолицизъм и източно православие, съществува разделение между източното (с център Константинопол) и западното (с център Рим) християнство. Именно в този период България приема християнството от Константинопол.

Въпреки че някогашният Константинопол днес се намира в Турция и се нарича Истанбул, в духа на традицията и приемствеността седалището на вселенския патриарх (наричан още цариградски или константинополски) се намира именно там, а езикът на Вселенската патриаршия е гръцкият. Това са все основания, поради които голяма част от гърците се гордеят с православието си.

Тогава защо?

Дотук отговорите на първоначалните въпроси не дават яснота защо Гърция е първата православна държава, узаконила еднополовите бракове. Там повече хора са православни, отколкото например в България, източното православие е същностна част от националната идентичност и може да се намерят предостатъчно основания в историята, които да подкрепят връзката между идентичност и религия. Освен това гръцката Конституция, за разлика от българската, не разделя църквата от държавата.

Тогава поради каква причина България (в лицето на Конституционния съд и Върховния касационен съд) се позовава на традициите и религията, за да обоснове защо бракът трябва да е само между мъж и жена, а Гърция – не? Защо тя, за разлика от други православни държави, не превърна борбата срещу Истанбулската конвенция и „джендъра“ в свое политическо верую, обосновано с религиозни аргументи?

Наследството на социализма

Между Гърция и всички останали държави, в които източното православие е преобладаваща религия, има една съществена разлика – тя не е била част от социалистическия вариант на тоталитаризма. По време на управлението на Общогръцкото социалистическо движение (ПАСОК) през 80-те се провеждат свободни избори и има религиозна свобода. Повечето страни от бившия Източен блок, в които преди установяването на социализма доминиращо е било християнството (независимо от конкретната деноминация), претърпяват интересна трансформация в религиозно отношение след падането на режима.

В повечето варианти на социализма и особено в СССР и Източна Европа атеизмът е официалната идеология, а религията се отрича и дори се преследва. На нея се гледа като на част от „буржоазния морал“, който по дефиниция е „гнил“. Широко популярният по онова време израз „Религията е опиум за народите“ е ленинистко перифразиране на думи на Карл Маркс. В предговора на „Към критиката на Хегеловата философия на правото“ той нарича религията „опиумът на народа“ (das Opium des Volkes).

През тоталитарния период както комунизмът, така и атеизмът имат претенции за научност. Водят се студентски курсове по научен атеизъм – с учебници, пълни с цитати от Маркс, Енгелс и особено от Ленин.

След падането на желязната завеса религията вече не е забранена. Източноевропейските общества трябва да изградят идентичността си отново и за много от тях (с някои изключения като Чехия, а до неотдавна и Унгария) религията играе съществена роля в този процес. Връщането към нея е важна част от реабилитирането на миналото, което е било забранено. А с реабилитирането на миналото се придава особена ценност на традициите.

Използването на религията за пропаганда в постсоциалистическите страни

Разпадането на социалистическия лагер не слага край на претенциите на Русия, която възприема себе си като легитимния наследник на СССР, за влияние върху страните от бившия Източен блок. Самата Русия също има нужда от вътрешна консолидация. И така, до неотдавна отричаната религия се превръща в инструмент за консолидиране на националната идентичност, и то по начин, който я противопоставя на Запада и неговите либерални ценности.

Хомосексуалността е декриминализирана в Русия през 1993 г. В началото на новото хилядолетие се появява руският дует „Тату“. Двете 14–15 годишни певици приемат имиджа на лесбийки, а критиките в някои западни страни, че момичетата от „Тату“ са експлоатирани и чрез тях се насърчава педофилията, са широко осмивани в Русия. Само няколко години по-късно, когато властта на Путин става все по-авторитарна и се обръща срещу Запада, Русия вече громи „Гейропа“ и „еврогейските ценности“, които погазват изконните християнски традиции. Тези послания бързо се пренасят в бившите социалистически страни.

Така каналите на влияние на тоталитарния режим намират път към посттоталитарните национални идентичности, а хомофобията става важна част от тях. Затова и кампанията срещу Истанбулската конвенция, един от чиито двигатели е руската пропагандна машина, постига такъв успех в бившите социалистически страни, а в някои от тях, между които и България, връща борбата за равни права десетилетия назад. Най-тежка е ситуацията в самата Русия, в която принадлежността към ЛГБТИ общността вече е обявена за екстремизъм.

Православие, бракове и геополитика

Да се върнем на Гърция. Въпреки значимата роля на православието в страната, чиято традиция не е прекъсвана от атеистичен тоталитарен режим, хомофобската пропаганда не постига надмощие. Защото отхвърлянето на равния брак от една държава не е въпрос единствено на религиозна традиция. Едни или други елементи от дадена религия започват да се възприемат като доминиращи в контекста на определени социални процеси, които са извън самата религия. А и една държава може да преценява в каква степен да дава приоритет на религията и в каква – на светската власт. Разбира се, доколкото не става въпрос за теократично управление, каквото гръцкото не е.

Даването на приоритет на едни или други елементи от религията важи с не по-малка сила и за традициите – реални или фабрикувани (като мъжкото хоро на Йордановден). Така нареченото „традиционно семейство“, в чието име се отричат равните права, впрочем изобщо не е традиционно. Нуклеарното семейство, състоящо се от мъж, жена и децата им, което днес се представя за традиционно, възниква след разпадането на истинските традиционни семейства, които представляват цели родове, споделящи общо домакинство.

Узаконяването на еднополовите бракове е знак за принадлежността на дадена страна към либералната демокрация. За Русия Гърция не е такава зона на влияние, каквато са бившите социалистически страни. Съответно тя не е изложена на толкова агресивни опити за отклоняване от европейската ѝ ориентация.

И ако погледне към традициите си, Гърция може да види в тях не само православие, а и наследството на древногръцката култура, в която (по Платон) еднополовата любов е по-висша, понеже е за душата и ума, докато хетеросексуалната – единствено за продължаване на рода.

Ако се освободим от пропагандните клишета и официализираните интерпретации, и ние бихме могли да намерим примери в традициите си, чрез които да обосновем, примерно, не строг морал, а сексуална свобода, както е направил Найден Шейтанов в статията си „Сексуалната философия на българина. Увод в нашия неофициален фолклор“. Но докато националната ни идентичност се използва за отклоняване от европейската либерална демокрация, това няма как да стане.

High-Risk Vulnerabilities in ConnectWise ScreenConnect

Post Syndicated from Rapid7 original https://blog.rapid7.com/2024/02/20/etr-high-risk-vulnerabilities-in-connectwise-screenconnect/

High-Risk Vulnerabilities in ConnectWise ScreenConnect

On February 19, 2024 ConnectWise disclosed two vulnerabilities in their ScreenConnect remote access software. Both vulnerabilities affect ScreenConnect 23.9.7 and earlier. While neither vulnerability has a CVE assigned as of February 20, the two issues mentioned in ConnectWise’s advisory are:

  • An authentication bypass using an alternate path or channel (CVSS 10)
  • A path traversal issue (CVSS 8.4)

ScreenConnect is popular remote access software used by many organizations globally; it has also been abused by adversaries in the past. There appear to be some 7,500+ instances of ScreenConnect exposed to the public internet. The vulnerabilities are not known to be exploited in the wild as of February 20.

Security news media and security vendors are raising strong alarms about the ScreenConnect vulnerabilities, largely because of the potential for attackers to exploit vulnerable ScreenConnect instances to then push ransomware to downstream clients. This may be a particular concern for managed service providers (MSPs) or managed security services providers (MSSPs) who use ScreenConnect to remotely manage client environments.

Mitigation guidance

All versions of ConnectWise ScreenConnect before 23.9.8 are vulnerable to these (CVE-less) issues. Customers who have on-premise ScreenConnect instances in their environments should apply the 23.9.8 update immediately, per ConnectWise’s guidance.

Rapid7 customers

Our engineering team is researching new vulnerability checks for these issues. We hope to release vulnerability checks for InsightVM and Nexpose customers in tomorrow’s (February 21) content release. We will update this blog with further information and ETAs as our investigation continues.

InsightIDR and Managed Detection and Response customers have existing detection coverage through Rapid7’s expansive library of detection rules. Rapid7 recommends installing the Insight Agent on all applicable hosts to ensure visibility into suspicious processes and proper detection coverage. Below is a non-exhaustive list of detections that are deployed and will alert on post-exploitation behavior related to these vulnerabilities:

  • Attacker Technique – Remote Access Via ScreenConnect
  • Attacker Technique – Command Execution Via ScreenConnect
  • Suspicious Process – ScreenConnect with RunRole Argument

The “KeyTrap” DNS vulnerability

Post Syndicated from corbet original https://lwn.net/Articles/962924/

DNS resolvers (those that handle DNSSEC, at least) are almost uniformly
vulnerable to an exploit
that has been named “KeyTrap”
. In short, the right type of packet can
send a DNS system into something close to an infinite loop, taking it out
of service indefinitely.

With just a single DNS packet, hackers could paralyze all common
DNS implementations and public DNS providers. Exploiting this
attack would have serious consequences for any application that
uses the internet, including the unavailability of technologies
such as web browsers, email and instant messaging. This devastating
effect prompted major DNS vendors to call KeyTrap “The worst attack
on DNS ever discovered”

Some more information and pointers to updates can be found on the
CVE-2023-50387 page
; some distributors have been faster to get updates
out than others.

(Thanks to Dave Täht).

[$] A modest update to Qubes OS

Post Syndicated from jzb original https://lwn.net/Articles/962787/

Qubes OS is a security-focused desktop Linux distribution built on Fedora Linux and the Xen hypervisor. Qubes uses virtualization to run applications, system services, and devices access via virtual machines called “qubes” that have varying levels of trust and persistence to provide an open-source “reasonably secure” operating system with “serious privacy“. The Qubes 4.2.0 release, from December 2023, brings a number of refinements to make Qubes OS easier to manage and use.

The collective thoughts of the interwebz