Simplify external object access in Amazon Redshift using automatic mounting of the AWS Glue Data Catalog

Post Syndicated from Maneesh Sharma original https://aws.amazon.com/blogs/big-data/simplify-external-object-access-in-amazon-redshift-using-automatic-mounting-of-the-aws-glue-data-catalog/

Amazon Redshift is a petabyte-scale, enterprise-grade cloud data warehouse service delivering the best price-performance. Today, tens of thousands of customers run business-critical workloads on Amazon Redshift to cost-effectively and quickly analyze their data using standard SQL and existing business intelligence (BI) tools.

Amazon Redshift now makes it easier for you to run queries in AWS data lakes by automatically mounting the AWS Glue Data Catalog. You no longer have to create an external schema in Amazon Redshift to use the data lake tables cataloged in the Data Catalog. Now, you can use your AWS Identity and Access Management (IAM) credentials or IAM role to browse the Glue Data Catalog and query data lake tables directly from Amazon Redshift Query Editor v2 or your preferred SQL editors.

This feature is now available in all AWS commercial and US Gov Cloud Regions where Amazon Redshift RA3, Amazon Redshift Serverless, and AWS Glue are available. To learn more about auto-mounting of the Data Catalog in Amazon Redshift, refer to Querying the AWS Glue Data Catalog.

Enabling easy analytics for everyone

Amazon Redshift is helping tens of thousands of customers manage analytics at scale. Amazon Redshift offers a powerful analytics solution that provides access to insights for users of all skill levels. You can take advantage of the following benefits:

  • It enables organizations to analyze diverse data sources, including structured, semi-structured, and unstructured data, facilitating comprehensive data exploration
  • With its high-performance processing capabilities, Amazon Redshift handles large and complex datasets, ensuring fast query response times and supporting real-time analytics
  • Amazon Redshift provides features like Multi-AZ (preview) and cross-Region snapshot copy for high availability and disaster recovery, and provides authentication and authorization mechanisms to make it reliable and secure
  • With features like Amazon Redshift ML, it democratizes ML capabilities across a variety of user personas
  • The flexibility to utilize different table formats such as Apache Hudi, Delta Lake, and Apache Iceberg (preview) optimizes query performance and storage efficiency
  • Integration with advanced analytical tools empowers you to apply sophisticated techniques and build predictive models
  • Scalability and elasticity allow for seamless expansion as data and workloads grow

Overall, Amazon Redshift empowers organizations to uncover valuable insights, enhance decision-making, and gain a competitive edge in today’s data-driven landscape.

Amazon Redshift Top Benefits

Amazon Redshift Top Benefits

The new automatic mounting of the AWS Glue Data Catalog feature enables you to directly query AWS Glue objects in Amazon Redshift without the need to create an external schema for each AWS Glue database you want to query. With automatic mounting the Data Catalog, Amazon Redshift automatically mounts the cluster account’s default Data Catalog during boot or user opt-in as an external database, named awsdatacatalog.

Relevant use cases for automatic mounting of the AWS Glue Data Catalog feature

You can use tools like Amazon EMR to create new data lake schemas in various formats, such as Apache Hudi, Delta Lake, and Apache Iceberg (preview). However, when analysts want to run queries against these schemas, it requires administrators to create external schemas for each AWS Glue database in Amazon Redshift. You can now simplify this integration using automatic mounting of the AWS Glue Data Catalog.

The following diagram illustrates this architecture.

Solution overview

You can now use SQL clients like Amazon Redshift Query Editor v2 to browse and query awsdatacatalog. In Query Editor V2, to connect to the awsdatacatalog database, choose the following:

Complete the following high-level steps to integrate the automatic mounting of the Data Catalog using Query Editor V2 and a third-party SQL client:

  1. Provision resources with AWS CloudFormation to populate Data Catalog objects.
  2. Connect Redshift Serverless and query the Data Catalog as a federated user using Query Editor V2.
  3. Connect with Redshift provisioned cluster and query the Data Catalog using Query Editor V2.
  4. Configure permissions on catalog resources using AWS Lake Formation.
  5. Federate with Redshift Serverless and query the Data Catalog using Query Editor V2 and a third-party SQL client.
  6. Discover the auto-mounted objects.
  7. Connect with Redshift provisioned cluster and query the Data Catalog as a federated user using a third-party client.
  8. Connect with Amazon Redshift and query the Data Catalog as an IAM user using third-party clients.

The following diagram illustrates the solution workflow.

Prerequisites

You should have the following prerequisites:

Provision resources with AWS CloudFormation to populate Data Catalog objects

In this post, we use an AWS Glue crawler to create the external table ny_pub stored in Apache Parquet format in the Amazon Simple Storage Service (Amazon S3) location s3://redshift-demos/data/NY-Pub/. In this step, we create the solution resources using AWS CloudFormation to create a stack named CrawlS3Source-NYTaxiData in either us-east-1 (use the yml download or launch stack) or us-west-2 (use the yml download or launch stack). Stack creation performs the following actions:

  • Creates the crawler NYTaxiCrawler along with the new IAM role AWSGlueServiceRole-RedshiftAutoMount
  • Creates automountdb as the AWS Glue database

When the stack is complete, perform the following steps:

  1. On the AWS Glue console, under Data Catalog in the navigation pane, choose Crawlers.
  2. Open NYTaxiCrawler and choose Run crawler.

After the crawler is complete, you can see a new table called ny_pub in the Data Catalog under the automountdb database.


Alternatively, you can follow the manual instructions from the Amazon Redshift labs to create the ny_pub table.

Connect with Redshift Serverless and query the Data Catalog as a federated user using Query Editor V2

In this section, we use an IAM role with principal tags to enable fine-grained federated authentication to Redshift Serverless to access auto-mounting AWS Glue objects.

Complete the following steps:

  1. Create an IAM role and add following permissions. For this post, we add full AWS Glue, Amazon Redshift, and Amazon S3 permissions for demo purposes. In an actual production scenario, it’s recommended to apply more granular permissions.

  2. On the Tags tab, create a tag with Key as RedshiftDbRoles and Value as automount.
  3. In Query Editor V2, run the following SQL statement as an admin user to create a database role named automount:
    Create role automount;

  4. Grant usage privileges to the database role:
    GRANT USAGE ON DATABASE awsdatacatalog to role automount;

  5. Switch the role to automountrole by passing the account number and role name.
  6. In the Query Editor v2, choose your Redshift Serverless endpoint (right-click) and choose Create connection.
  7. For Authentication, select Federated user.
  8. For Database, enter the database name you want to connect to.
  9. Choose Create connection.

You’re now ready to explore and query the automatic mounting of the Data Catalog in Redshift Serverless.

Connect with Redshift provisioned cluster and query the Data Catalog using Query Editor V2

To connect with Redshift provisioned cluster and access the Data Catalog, make sure you have completed the steps in the preceding section. Then complete the following steps:

  1. Connect to Redshift Query Editor V2 using the database user name and password authentication method. For example, connect to the dev database using the admin user and password.
  2. In an editor tab, assuming the user is present in Amazon Redshift, run the following SQL statement to grant an IAM user access to the Data Catalog:
    GRANT USAGE ON DATABASE awsdatacatalog to "IAMR:automountrole";

  3. As an admin user, choose the Settings icon, choose Account settings, and select Authenticate with IAM credentials.
  4. Choose Save.
  5. Switch roles to automountrole by passing the account number and role name.
  6. Create or edit the connection and use the authentication method Temporary credentials using your IAM identity.

For more information about this authentication method, see Connecting to an Amazon Redshift database.

You are ready to explore and query the automatic mounting of the Data Catalog in Amazon Redshift.

Discover the auto-mounted objects

This section illustrates the SHOW commands for discovery of auto-mounted objects. See the following code:

// Discovery of Glue databases at the schema level 
SHOW SCHEMAS FROM DATABASE awsdatacatalog;

// Discovery of Glue tables 
 Syntax: SHOW TABLES FROM SCHEMA awsdatacatalog.<glue_db_name>;
Example: SHOW TABLES FROM SCHEMA awsdatacatalog.automountdb;

// Disocvery of Glue table columns 
 Syntax: SHOW COLUMNS FROM TABLE awsdatacatalog.<glue_db_name>.<glue_table_name>;
Example: SHOW COLUMNS FROM TABLE awsdatacatalog.automountdb.ny_pub;

Configure permissions on catalog resources using AWS Lake Formation

To maintain backward compatibility with AWS Glue, Lake Formation has the following initial security settings:

  • The Super permission is granted to the group IAMAllowedPrincipals on all existing Data Catalog resources
  • The Use only IAM access control setting is enabled for new Data Catalog resources

These settings effectively cause access to Data Catalog resources and Amazon S3 locations to be controlled solely by IAM policies. Individual Lake Formation permissions are not in effect.

In this step, we will configure permissions on catalog resources using AWS Lake Formation. Before you create the Data Catalog, you need to update the default settings of Lake Formation so that access to Data Catalog resources (databases and tables) is managed by Lake Formation permissions:

  1. Change the default security settings for new resources. For instructions, see Change the default permission model.
  2. Change the settings for existing Data Catalog resources. For instructions, see Upgrading AWS Glue data permissions to the AWS Lake Formation model.

For more information, refer to Changing the default settings for your data lake.

Federate with Redshift Serverless and query the Data Catalog using Query Editor V2 and a third-party SQL client

With Redshift Serverless, you can connect to awsdatacatalog from a third-party client as a federated user from any identity provider (IdP). In this section, we will configure permission on catalog resources for Federated IAM role in AWS Lake Formation. Using AWS Lake Formation with Redshift, currently permission can be applied on IAM user or IAM role level.

To connect as a federated user, we will be using Redshift Serverless. For setup instructions, refer to Single sign-on with Amazon Redshift Serverless with Okta using Amazon Redshift Query Editor v2 and third-party SQL clients.

There are additional changes required on following resources:

  1. In Amazon Redshift, as an admin user, grant the usage to each federated user who needs access on awsdatacatalog:
    GRANT USAGE ON DATABASE awsdatacatalog to "IAMR:[email protected]";

If the user doesn’t exist in Amazon Redshift, you may need to create the IAM user with the password disabled as shown in the following code and then grant usage on awsdatacatalog:

Create User "IAMR:[email protected]" with password disable;
  1. On the Lake Formation console, assign permissions on the AWS Glue database to the IAM role that you created as part of the federated setup.
    1. Under Principals, select IAM users and roles.
    2. Choose IAM role oktarole.
    3. Apply catalog resource permissions, selecting automountdb database and granting appropriate table permissions.
  2. Update the IAM role used in the federation setup. In addition to the permissions added to the IAM role, you need to add AWS Glue permissions and Amazon S3 permissions to access objects from Amazon S3. For this post, we add full AWS Glue and AWS S3 permissions for demo purposes. In an actual production scenario, it’s recommended to apply more granular permissions.

Now you’re ready to connect to Redshift Serverless using the Query Editor V2 and federated login.

  1. Use the SSO URL from Okta and log in to your Okta account with your user credentials. For this demo, we log in with user Ethan.
  2. In the Query Editor v2, choose your Redshift Serverless instance (right-click) and choose Create connection.
  3. For Authentication, select Federated user.
  4. For Database, enter the database name you want to connect to.
  5. Choose Create connection.
  6. Run the command select current_user to validate that you are logged in as a federated user.

User Ethan will be able to explore and access awsdatacatalog data.

To connect Redshift Serverless with a third-party client, make sure you have followed all the previous steps.

For SQLWorkbench setup, refer to the section Configure the SQL client (SQL Workbench/J) in Single sign-on with Amazon Redshift Serverless with Okta using Amazon Redshift Query Editor v2 and third-party SQL clients.

The following screenshot shows that federated user ethan is able to query the awsdatacatalog tables using three-part notation:

Connect with Redshift provisioned cluster and query the Data Catalog as a federated user using third-party clients

With Redshift provisioned cluster, you can connect with awsdatacatalog from a third-party client as a federated user from any IdP.

To connect as a federated user with the Redshift provisioned cluster, you need to follow the steps in the previous section that detailed how to connect with Redshift Serverless and query the Data Catalog as a federated user using Query Editor V2 and a third-party SQL client.

There are additional changes required in IAM policy. Update the IAM policy with the following code to use the GetClusterCredentialsWithIAM API:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "iam:ListGroups",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentialsWithIAM",
            "Resource": "arn:aws:redshift:us-east-2:01234567891:dbname:redshift-cluster-1/dev"
        }
    ]
}

Now you’re ready to connect to Redshift provisioned cluster using a third-party SQL client as a federated user.

For SQLWorkbench setup, refer to the section Configure the SQL client (SQL Workbench/J) in the post Single sign-on with Amazon Redshift Serverless with Okta using Amazon Redshift Query Editor v2 and third-party SQL clients.

Make the following changes:

  • Use the latest Redshift JDBC driver because it only supports querying the auto-mounted Data Catalog table for federated users
  • For URL, enter jdbc:redshift:iam://<cluster endpoint>:<port>:<databasename>?groupfederation=true. For example, jdbc:redshift:iam://redshift-cluster-1.abdef0abc0ab.us-east-2.redshift.amazonaws.com:5439/dev?groupfederation=true.

In the preceding URL, groupfederation is a mandatory parameter that allows you to authenticate with the IAM credentials.

The following screenshot shows that federated user ethan is able to query the awsdatacatalog tables using three-part notation.

Connect and query the Data Catalog as an IAM user using third-party clients

In this section, we provide instructions to set up a SQL client to query the auto-mounted awsdatacatalog.

Use three-part notation to reference the awsdatacatalog table in your SELECT statement. The first part is the database name, the second part is the AWS Glue database name, and the third part is the AWS Glue table name:

SELECT * FROM awsdatacatalog.<aws-glue-db-name>.<aws-glue-table-name>;

You can perform various scenarios that read the Data Catalog data and populate Redshift tables.

For this post, we use SQLWorkbench/J as the SQL client to query the Data Catalog. To set up SQL Workbench/J, complete the following steps:

  1. Create a new connection in SQL Workbench/J and choose Amazon Redshift as the driver.
  2. Choose Manage drivers and add all the files from the downloaded AWS JDBC driver pack .zip file (remember to unzip the .zip file).

You must use the latest Redshift JDBC driver because it only supports querying the auto-mounted Data Catalog table.

  1. For URL, enter jdbc:redshift:iam://<cluster endpoint>:<port>:<databasename>?profile=<profilename>&groupfederation=true. For example, jdbc:redshift:iam://redshift-cluster-1.abdef0abc0ab.us-east-2.redshift.amazonaws.com:5439/dev?profile=user2&groupfederation=true.

We are using profile-based credentials as an example. You can use any AWS profile or IAM credential-based authentication as per your requirement. For more information on IAM credentials, refer to Options for providing IAM credentials.

The following screenshot shows that IAM user johndoe is able to list the awsdatacatalog tables using the SHOW command.

The following screenshot shows that IAM user johndoe is able to query the awsdatacatalog tables using three-part notation:

If you get the following error while using groupfederation=true, you need to use the latest Redshift driver:

Something unusual has occurred to cause the driver to fail. Please report this exception:Authentication with plugin is not supported for group federation [SQL State=99999]

Clean up

Complete the following steps to clean up your resources:

  1. Delete the IAM role automountrole.
  2. Delete the CloudFormation stack CrawlS3Source-NYTaxiData to clean up the crawler NYTaxiCrawler, the automountdb database from the Data Catalog, and the IAM role AWSGlueServiceRole-RedshiftAutoMount.
  3. Update the default settings of Lake Formation:
    1. In the navigation pane, under Data catalog, choose Settings.
    2. Select both access control options choose Save.
    3. In the navigation pane, under Permissions, choose Administrative roles and tasks.
    4. In the Database creators section, choose Grant.
    5. Search for IAMAllowedPrincipals and select Create database permission.
    6. Choose Grant.

Considerations

Note the following considerations:

  • The Data Catalog auto-mount provides ease of use to analysts or database users. The security setup (setting up the permissions model or data governance) is owned by account and database administrators.
    • To achieve fine-grained access control, build a permissions model in AWS Lake Formation.
    • If the permissions have to be maintained at the Redshift database level, leave the AWS Lake Formation default settings as is and then run grant/revoke in Amazon Redshift.
  • If you are using a third-party SQL editor, and your query tool does not support browsing of multiple databases, you can use the “SHOW“ commands to list your AWS Glue databases and tables. You can also query awsdatacatalog objects using three-part notation (SELECT * FROM awsdatacatalog.<aws-glue-db-name>.<aws-glue-table-name>;) provided you have access to the external objects based on the permission model.

Conclusion

In this post, we introduced the automatic mounting of AWS Glue Data Catalog, which makes it easier for customers to run queries in their data lakes. This feature streamlines data governance and access control, eliminating the need to create an external schema in Amazon Redshift to use the data lake tables cataloged in AWS Glue Data Catalog. We showed how you can manage permission on auto-mounted AWS Glue-based objects using Lake Formation. The permission model can be easily managed and organized by administrators, allowing database users to seamlessly access external objects they have been granted access to.

As we strive for enhanced usability in Amazon Redshift, we prioritize unified data governance and fine-grained access control. This feature minimizes manual effort while ensuring the necessary security measures for your organization are in place.

For more information about automatic mounting of the Data Catalog in Amazon Redshift, refer to Querying the AWS Glue Data Catalog.


About the Authors

Maneesh Sharma is a Senior Database Engineer at AWS with more than a decade of experience designing and implementing large-scale data warehouse and analytics solutions. He collaborates with various Amazon Redshift Partners and customers to drive better integration.

Debu-PandaDebu Panda is a Senior Manager, Product Management at AWS. He is an industry leader in analytics, application platform, and database technologies, and has more than 25 years of experience in the IT world.

Rohit Vashishtha is a Senior Analytics Specialist Solutions Architect at AWS based in Dallas, Texas. He has 17 years of experience architecting, building, leading, and maintaining big data platforms. Rohit helps customers modernize their analytic workloads using the breadth of AWS services and ensures that customers get the best price/performance with utmost security and data governance.

Five actionable steps to GDPR compliance (Right to be forgotten) with Amazon Redshift

Post Syndicated from Kishore Tata original https://aws.amazon.com/blogs/big-data/five-actionable-steps-to-gdpr-compliance-right-to-be-forgotten-with-amazon-redshift/

The GDPR (General Data Protection Regulation) right to be forgotten, also known as the right to erasure, gives individuals the right to request the deletion of their personally identifiable information (PII) data held by organizations. This means that individuals can ask companies to erase their personal data from their systems and any third parties with whom the data was shared. Organizations must comply with these requests provided that there are no legitimate grounds for retaining the personal data, such as legal obligations or contractual requirements.

Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud. It is designed for analyzing large volumes of data and performing complex queries on structured and semi-structured data. Many customers are looking for best practices to keep their Amazon Redshift analytics environment compliant and have an ability to respond to GDPR right to forgotten requests.

In this post, we discuss challenges associated with implementation and architectural patterns and actionable best practices for organizations to respond to the right to be forgotten request requirements of the GDPR for data stored in Amazon Redshift.

Who does GDPR apply to?

The GDPR applies to all organizations established in the EU and to organizations, whether or not established in the EU, that process the personal data of EU individuals in connection with either the offering of goods or services to data subjects in the EU or the monitoring of behavior that takes place within the EU.

The following are key terms we use when discussing the GDPR:

  • Data subject – An identifiable living person and resident in the EU or UK, on whom personal data is held by a business or organization or service provider
  • Processor – The entity that processes the data on the instructions of the controller (for example, AWS)
  • Controller – The entity that determines the purposes and means of processing personal data (for example, an AWS customer)
  • Personal data – Information relating to an identified or identifiable person, including names, email addresses, and phone numbers

Implementing the right to be forgotten can include the following challenges:

  • Data identification – One of the main challenges is identifying all instances of personal data across various systems, databases, and backups. Organizations need to have a clear understanding of where personal data is being stored and how it is processed to effectively fulfill the deletion requests.
  • Data dependencies – Personal data can be interconnected and intertwined with other data systems, making it challenging to remove specific data without impacting the integrity of functionality of other systems or processes. It requires careful analysis to identify data dependencies and mitigate any potential risks or disruptions.
  • Data replication and backups – Personal data can exist in multiple copies due to data replication and backups. Ensuring the complete removal of data from all these copies and backups can be challenging. Organizations need to establish processes to track and manage data copies effectively.
  • Legal obligations and exemptions – The right to be forgotten is not absolute and may be subject to legal obligations or exemptions. Organizations need to carefully assess requests, considering factors such as legal requirements, legitimate interests, freedom of expression, or public interest to determine if the request can be fulfilled or if any exceptions apply.
  • Data archiving and retention – Organizations may have legal or regulatory requirements to retain certain data for a specific period. Balancing the right to be forgotten with the obligation to retain data can be a challenge. Clear policies and procedures need to be established to manage data retention and deletion appropriately.

Architecture patterns

Organizations are generally required to respond to right to be forgotten requests within 30 days from when the individual submits a request. This deadline can be extended by a maximum of 2 months taking into account the complexity and the number of the requests, provided that the data subject has been informed about the reasons for the delay within 1 month of the receipt of the request.

The following sections discuss a few commonly referenced architecture patterns, best practices, and options supported by Amazon Redshift to support your data subject’s GDPR right to be forgotten request in your organization.

Actionable Steps

Data management and governance

Addressing the challenges mentioned requires a combination of technical, operational, and legal measures. Organizations need to develop robust data governance practices, establish clear procedures for handling deletion requests, and maintain ongoing compliance with GDPR regulations.

Large organizations usually have multiple Redshift environments, databases, and tables spread across multiple Regions and accounts. To successfully respond to a data subject’s requests, organizations should have a clear strategy to determine how data is forgotten, flagged, anonymized, or deleted, and they should have clear guidelines in place for data audits.

Data mapping involves identifying and documenting the flow of personal data in an organization. It helps organizations understand how personal data moves through their systems, where it is stored, and how it is processed. By creating visual representations of data flows, organizations can gain a clear understanding of the lifecycle of personal data and identify potential vulnerabilities or compliance gaps.

Note that putting a comprehensive data strategy in place is not in scope for this post.

Audit tracking

Organizations must maintain proper documentation and audit trails of the deletion process to demonstrate compliance with GDPR requirements. A typical audit control framework should record the data subject requests (who is the data subject, when was it requested, what data, approver, due date, scheduled ETL process if any, and so on). This will help with your audit requests and provide the ability to roll back in case of accidental deletions observed during the QA process. It’s important to maintain the list of users and systems who may get impacted during this process to ensure effective communication.

Data discovery and findability

Findability is an important step of the process. Organizations need to have mechanisms to find the data under consideration in an efficient and quick manner for timely response. The following are some patterns and best practices you can employ to find the data in Amazon Redshift.

Tagging

Consider tagging your Amazon Redshift resources to quickly identify which clusters and snapshots contain the PII data, the owners, the data retention policy, and so on. Tags provide metadata about resources at a glance. Redshift resources, such as namespaces, workgroups, snapshots, and clusters can be tagged. For more information about tagging, refer to Tagging resources in Amazon Redshift.

Naming conventions

As a part of the modeling strategy, name the database objects (databases, schemas, tables, columns) with an indicator that they contain PII so that they can be queried using system tables (for example, make a list of the tables and columns where PII data is involved). Identifying the list of tables and users or the systems that have access to them will help streamline the communication process. The following sample SQL can help you find the databases, schemas, and tables with a name that contains PII:

SELECT
pg_catalog.pg_namespace.nspname AS schema_name,
pg_catalog.pg_class.relname AS table_name,
pg_catalog.pg_attribute.attname AS column_name,
pg_catalog.pg_database.datname AS database_name
FROM
pg_catalog.pg_namespace
JOIN pg_catalog.pg_class ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace
JOIN pg_catalog.pg_attribute ON pg_catalog.pg_class.oid = pg_catalog.pg_attribute.attrelid
JOIN pg_catalog.pg_database ON pg_catalog.pg_attribute.attnum > 0
WHERE
pg_catalog.pg_attribute.attname LIKE '%PII%';

SELECT datname
FROM pg_database
WHERE datname LIKE '%PII%';

SELECT table_schema, table_name, column_name
FROM information_schema.columns
WHERE column_name LIKE '%PII%'

Separate PII and non-PII

Whenever possible, keep the sensitive data in a separate table, database, or schema. Isolating the data in a separate database may not always be possible. However, you can separate the non-PII columns in a separate table, for example, Customer_NonPII and Customer_PII, and then join them with an unintelligent key. This helps identify the tables that contain non-PII columns. This approach is straightforward to implement and keeps non-PII data intact, which can be useful for analysis purposes. The following figure shows an example of these tables.

PII-Non PII Example Tables

Flag columns

In the preceding tables, rows in bold are marked with Forgotten_flag=Yes. You can maintain a Forgotten_flag as a column with the default value as No and update this value to Yes whenever a request to be forgotten is received. Also, as a best practice from HIPAA, do a batch deletion once in a month. The downstream and upstream systems need to respect this flag and include this in their processing. This helps identify the rows that need to be deleted. For our example, we can use the following code:

Delete from Customer_PII where forgotten_flag=“Yes”

Use Master data management system

Organizations that maintain a master data management system maintain a golden record for a customer, which acts as a single version of truth from multiple disparate systems. These systems also contain crosswalks with several peripheral systems that contain the natural key of the customer and golden record. This technique helps find customer records and related tables. The following is a representative example of a crosswalk table in a master data management system.

Example of a MDM Records

Use AWS Lake Formation

Some organizations have use cases where you can share the data across multiple departments and business units and use Amazon Redshift data sharing. We can use AWS Lake Formation tags to tag the database objects and columns and define fine-grained access controls on who can have the access to use data. Organizations can have a dedicated resource with access to all tagged resources. With Lake Formation, you can centrally define and enforce database-, table-, column-, and row-level access permissions of Redshift data shares and restrict user access to objects within a data share.

By sharing data through Lake Formation, you can define permissions in Lake Formation and apply those permissions to data shares and their objects. For example, if you have a table containing employee information, you can use column-level filters to help prevent employees who don’t work in the HR department from seeing sensitive information. Refer to AWS Lake Formation-managed Redshift shares for more details on the implementation.

Use Amazon DataZone

Amazon DataZone introduces a business metadata catalog. Business metadata provides information authored or used by businesses and gives context to organizational data. Data discovery is a key task that business metadata can support. Data discovery uses centrally defined corporate ontologies and taxonomies to classify data sources and allows you to find relevant data objects. You can add business metadata in Amazon DataZone to support data discovery.

Data erasure

By using the approaches we’ve discussed, you can find the clusters, databases, tables, columns, snapshots that contain the data to be deleted. The following are some methods and best practices for data erasure.

Restricted backup

In some use cases, you may have to keep data backed up to align with government regulations for a certain period of time. It’s a good idea to take the backup of the data objects before deletion and keep it for an agreed-upon retention time. You can use AWS Backup to take automatic or manual backups. AWS Backup allows you to define a central backup policy to manage the data protection of your applications. For more information, refer to New – Amazon Redshift Support in AWS Backup.

Physical deletes

After we find the tables that contain the data, we can delete the data using the following code (using the flagging technique discussed earlier):

Delete from Customer_PII where forgotten_flag=“Yes”

It’s a good practice to delete data at a specified schedule, such as once every 25–30 days, so that it is simpler to maintain the state of the database.

Logical deletes

You may need to keep data in a separate environment for audit purposes. You can employ Amazon Redshift row access policies and conditional dynamic masking policies to filter and anonymize the data.

You can use row access policies on Forgotten_flag=No on the tables that contain PII data so that the designated users can only see the necessary data. Refer to Achieve fine-grained data security with row-level access control in Amazon Redshift for more information about how to implement row access policies.

You can use conditional dynamic data masking policies so that designated users can see the redacted data. With dynamic data masking (DDM) in Amazon Redshift, organizations can help protect sensitive data in your data warehouse. You can manipulate how Amazon Redshift shows sensitive data to the user at query time without transforming it in the database. You control access to data through masking policies that apply custom obfuscation rules to a given user or role. That way, you can respond to changing privacy requirements without altering the underlying data or editing SQL queries.

Dynamic data masking policies hide, obfuscate, or pseudonymize data that matches a given format. When attached to a table, the masking expression is applied to one or more of its columns. You can further modify masking policies to only apply them to certain users or user-defined roles that you can create with role-based access control (RBAC). Additionally, you can apply DDM on the cell level by using conditional columns when creating your masking policy.

Organizations can use conditional dynamic data masking to redact sensitive columns (for example, names) where the forgotten flag column value is TRUE, and the other columns display the full values.

Backup and restore

Data from Redshift clusters can be transferred, exported, or copied to different AWS services or outside of the cloud. Organizations should have an effective governance process to detect and remove data to align with the GDPR compliance requirement. However, this is beyond the scope of this post.

Amazon Redshift offers backups and snapshots of the data. After deleting the PII data, organizations should also purge the data from their backups. To do so, you need to restore the snapshot to a new cluster, remove the data, and take a fresh backup. The following figure illustrates this workflow.

It’s good practice to keep the retention period at 29 days (if applicable) so that the backups are cleared after 30 days. Organizations can also set the backup schedule to a certain date (for example, the first of every month).

Backup and Restore

Communication

It’s important to communicate to the users and processes who may be impacted by this deletion. The following query helps identify the list of users and groups who have access to the affected tables:

SELECT
nspname AS schema_name,
relname AS table_name,
attname AS column_name,
usename AS user_name,
groname AS group_name
FROM pg_namespace
JOIN pg_class ON pg_namespace.oid = pg_class.relnamespace
JOIN pg_attribute ON pg_class.oid = pg_attribute.attrelid
LEFT JOIN pg_group ON pg_attribute.attacl::text LIKE '%' || groname || '%'
LEFT JOIN pg_user ON pg_attribute.attacl::text LIKE '%' || usename || '%'
WHERE
pg_attribute.attname LIKE '%PII%'
AND (usename IS NOT NULL OR groname IS NOT NULL);

Security controls

Maintaining security is of great importance in GDPR compliance. By implementing robust security measures, organizations can help protect personal data from unauthorized access, breaches, and misuse, thereby helping maintain the privacy rights of individuals. Security plays a crucial role in upholding the principles of confidentiality, integrity, and availability of personal data. AWS offers a comprehensive suite of services and features that can support GDPR compliance and enhance security measures.

The GDPR does not change the AWS shared responsibility model, which continues to be relevant for customers. The shared responsibility model is a useful approach to illustrate the different responsibilities of AWS (as a data processor or subprocessor) and customers (as either data controllers or data processors) under the GDPR.

Under the shared responsibility model, AWS is responsible for securing the underlying infrastructure that supports AWS services (“Security of the Cloud”), and customers, acting either as data controllers or data processors, are responsible for personal data they upload to AWS services (“Security in the Cloud”).

AWS offers a GDPR-compliant AWS Data Processing Addendum (AWS DPA), which enables you to comply with GDPR contractual obligations. The AWS DPA is incorporated into the AWS Service Terms.

Article 32 of the GDPR requires that organizations must “…implement appropriate technical and organizational measures to ensure a level of security appropriate to the risk, including …the pseudonymization and encryption of personal data[…].” In addition, organizations must “safeguard against the unauthorized disclosure of or access to personal data.” Refer to the Navigating GDPR Compliance on AWS whitepaper for more details.

Conclusion

In this post, we delved into the significance of GDPR and its impact on safeguarding privacy rights. We discussed five commonly followed best practices that organizations can reference for responding to GDPR right to be forgotten requests for data that resides in Redshift clusters. We also highlighted that the GDPR does not change the AWS shared responsibility model.

We encourage you to take charge of your data privacy today. Prioritizing GPDR compliance and data privacy will not only strengthen trust, but also build customer loyalty and safeguard personal information in digital era. If you need assistance or guidance, reach out to an AWS representative. AWS has teams of Enterprise Support Representatives, Professional Services Consultants, and other staff to help with GDPR questions. You can contact us with questions. To learn more about GDPR compliance when using AWS services, refer to the General Data Protection Regulation (GDPR) Center. To learn more about the right to be forgotten, refer to Right to Erasure.

Disclaimer: The information provided above is not a legal advice. It is intended to showcase commonly followed best practices. It is crucial to consult with your organization’s privacy officer or legal counsel and determine appropriate solutions.


About the Authors

YaduKishore ProfileYadukishore Tatavarthi  is a Senior Partner Solutions Architect supporting Healthcare and life science customers at Amazon Web Services. He has been helping the customers over the last 20 years in building the enterprise data strategies, advising customers on cloud implementations, migrations, reference architecture creation, data modeling best practices, data lake/warehouses architecture, and other technical processes.

Sudhir GuptaSudhir Gupta is a Principal Partner Solutions Architect, Analytics Specialist at AWS with over 18 years of experience in Databases and Analytics. He helps AWS partners and customers design, implement, and migrate large-scale data & analytics (D&A) workloads. As a trusted advisor to partners, he enables partners globally on AWS D&A services, builds solutions/accelerators, and leads go-to-market initiatives

Deepak SinghDeepak Singh is a Senior Solutions Architect at Amazon Web Services with 20+ years of experience in Data & AIA. He enjoys working with AWS partners and customers on building scalable analytical solutions for their business outcomes. When not at work, he loves spending time with family or exploring new technologies in analytics and AI space.

Metasploit Weekly Wrap up

Post Syndicated from Christophe De La Fuente original https://blog.rapid7.com/2023/07/28/metasploit-weekly-wrap-up-21/

Unauthenticated RCE in VMware Product

Metasploit Weekly Wrap up

This week, community contributor h00die added an exploit module that leverages a command injection vulnerability in VMWare Aria Operations for Networks, formerly known as vRealize Network Insight. Versions 6.2 to 6.10 are vulnerable (CVE-2023-20887). A remote attacker could abuse the Apache Thrift RPC interface by sending specially crafted data and get unauthenticated remote code execution on the underlying operating system as the root user. The module first bypasses the reverse proxy that protects the RPC interface and executes its payload with root privileges. This vulnerability has been rated as critical by VMware, with a CVSSv3 base score of 9.8.

Again, WordPress Plugin

Community contributor h00die-gr3y added an exploit module that targets the File Manager Advanced Shortcode WordPress plugin. This module leverages a flaw in the data validation mechanism when uploading a file and gets unauthenticated remote code execution. The plugin does not correctly prevent uploading files with disallowed MIME types. This vulnerability is identified as CVE-2023-2068 and affects version 2.3.2 and prior.

Kerberos Authentication and LDAP socks Proxies support

This release adds support for sending Kerberos and LDAP traffic through user configurable Socks4/Socks5 proxies. The proxies can be set with the Proxies datastore option. This functionality is supported by most modules, such as SMB/WinRM/etc. An example network environment would be:

[ Attacker Machine ] -> [ Socks Proxy (192.168.123.144) ] -> [ Target (10.20.0.137)]

For instance running the auxiliary/gather/ldap_query module with the inline option proxies=socks5:192.168.123.144:1080, or using the older set proxies socks5:192.168.123.144:1080 syntax, will send the network traffic through the user specified Socks proxy – requesting both the Kerberos tickets for authentication as well as the LDAP query itself:

msf6 auxiliary(gather/ldap_query) > rerun rhost=10.20.0.137 username=administrator password=p4$$w0rd5 ldap::auth=kerberos ldap::rhostname=dc3.adf3.local domaincontrollerrhost=10.20.0.137 domain=adf3.local proxies=socks5:192.168.123.144:1080
[*] Reloading module...
[*] Running module against 10.20.0.137

[+] 10.20.0.137:88 - Received a valid TGT-Response
[*] 10.20.0.137:389 - TGT MIT Credential Cache ticket saved to /home/kali/.msf4/loot/20230710120238_default_10.20.0.137_mit.kerberos.cca_426003.bin
[+] 10.20.0.137:88 - Received a valid TGS-Response
[*] 10.20.0.137:389 - TGS MIT Credential Cache ticket saved to /home/kali/.msf4/loot/20230710120238_default_10.20.0.137_mit.kerberos.cca_291783.bin
[+] 10.20.0.137:88 - Received a valid delegation TGS-Response
[*] Discovering base DN automatically
[+] 10.20.0.137:389 Discovered base DN: DC=adf3,DC=local
[+] 10.20.0.137:389 Discovered schema DN: DC=adf3,DC=local
CN=Administrator CN=Users DC=adf3 DC=local
==========================================

 Name                Attributes
 ----                ----------
 badpwdcount         0
 description         Built-in account for administering the computer/domain
 lastlogoff          1601-01-01 00:00:00 UTC
 lastlogon           2023-07-10 16:02:38 UTC
… omitted …

New module content (2)

VMWare Aria Operations for Networks (vRealize Network Insight) pre-authenticated RCE

Authors: Anonymous with Trend Micro Zero Day Initiative, Sina Kheirkhah, and h00die
Type: Exploit
Pull request: #18199 contributed by h00die
Path: exploits/linux/http/vmware_vrni_rce_cve_2023_20887
AttackerKB reference: CVE-2023-20887

Description: This adds an exploit module that leverages a pre-authenticated command injection vulnerability in VMWare Aria Operations for Networks (vRealize Network Insight). Versions from 6.2 to 6.10 are vulnerable and this has been identified as CVE-2023-20887. The module bypasses the reverse proxy that protects the access to the Apache Thrift RPC interface and executes arbitrary commands on the underlying operating system as the root user.

WordPress File Manager Advanced Shortcode 2.3.2 – Unauthenticated Remote Code Execution through shortcode

Authors: Mateus Machado Tesser and h00die-gr3y
Type: Exploit
Pull request: #18142 contributed by h00die-gr3y
Path: exploits/multi/http/wp_plugin_fma_shortcode_unauth_rce
AttackerKB reference: CVE-2023-2068

Description: This adds a WordPress exploit that makes use of the WordPress File Manager Advanced Shortcode 2.3.2 plugin, to gain unauthenticated Remote Code Execution through shortcode.

Enhancements and features (1)

  • #18096 from adfoster-r7 – Updates the LDAP query module and the Kerberos authentication support for WinRM/MSSQL/SMB/LDAP/etc to work in conjunction with the user’s set Proxies datastore value, i.e. set Proxies socks5:127.0.0.1:1080.

Bugs fixed (3)

  • #18187 from cgranleese-r7 – Fixes a crash when running Ruby 3.3.0-preview1 with modules that used invalid syntax when packing or unpacking binary data.
  • #18213 from adfoster-r7 – This fixes a bug in the evasion/windows/syscall_inject module that was caused by an uninitialized variable.
  • #18225 from adfoster-r7 – This fixes multiple missing/invalid references in modules.

Documentation

You can find the latest Metasploit documentation on our docsite at docs.metasploit.com.

Get it

As always, you can update to the latest Metasploit Framework with msfupdate
and you can get more details on the changes since the last blog post from
GitHub:

If you are a git user, you can clone the Metasploit Framework repo (master branch) for the latest.
To install fresh without using git, you can use the open-source-only Nightly Installers or the
binary installers (which also include the commercial edition).

Отчет за първата парламентарната сесия

Post Syndicated from Bozho original https://blog.bozho.net/blog/4121

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

Приети законови текстове:

  • Електронни ваучери за храна – след като в предния парламент беше отхвърлен „минималистичния“ вариант за законопроект за електронни ваучери за храна, след съвместна работа с Министерство на финансите, със Закона за бюджета беше прието от 2024 г. да има електронни ваучери за храна. Избраният подход е максимално технологично-неутрален, така че да не се предпоставя на законово ниво как ще бъдат реализирани ваучерите – оставено е на свободния пазар да установи кой е най-ефективният метод. Най-вероятно това ще става с карти с ограничена употреба, но са възможни и други подходи (напр. със смартфони).
  • Забрана за администрациите да отказват плащане с карта, ако тя е издадена от друга държава – някои администрации приемат всички карти, някои – само български, в зависимост от това какво са подписали с обслужващата си банка. Докато бях министър, съвместно с министъра на финансите изпратихме указания на административните органи да отпаднат ограниченията на база на банката-издател, но това все още не е факт навсякъде, поради което в Закона за ограничаване на плащанията в брой, съгласувано с БНБ, приехме алинея, която забранява такова неравно третиране. Така българи с чуждестранни карти или с карти на финтех компании като Ревоюлт също ще могат да плащат на пос-терминали.
  • Възможност за плащане на електронни фишове и наказателни постановления преди да са връчени – в момента трябва да отидете до КАТ, за да ви връчат електронен фиш или наказателно постановление, преди да можете да го платите. Дори да искате просто да си платите (с отстъпката за навременно плащане), преди приемането на промените в Закона за движението по пътищата не можехте, без да се разходите в работно време до КАТ. Сега можете просто да го платите, и той ще се счита за връчен. Скоро МВР трябва да разреши това на портала си за електронни услуги
  • Туристическа реклама на България – с изменения в Закона за туризма дадохме възможност министъра на туризма да ползва онлайн реклама в големи платформи (Фейсбук, Гугъл и др.) без посредници, които вземат процент от рекламния бюджет
  • В Закона за съдебната власт се приеха текстове за въвеждане на криптографски гаранции за случайното разпределение, което гарантира, че изборът е проверим и неманипулиран
  • В Наказателния кодекс направихме необходимите редакции, за да е недвусмислено ясно, че обикновени потребители не могат да бъдат обект на наказателно преследване, само защото ползват торенти (от край време е криминализирано пиратството, но сега Министерският съвет беше предложил допълване с цел улесняване на досъдебното производство за злоупотреби с обекти на авторското право в големи размери)

Напредък по важни закони:

  • Отпадане на синия талон – този текст го внасяме от 45-тото НС (април 2021 г.), но се очаква да се приеме по-късно днес, макар и по малко странен начин процедурно. Важното е, че синият талон отпада съвсем скоро. След влизането в сила (другата седмица) ще можете да си го скъсате.
  • Електронизиране на данните от трудовата книжка и съответно нейното отпадане – законопроектът мина на първо четене, след което беше създадена работна група, която рза един месец реши много потенциални проблеми и гранични случаи. В крайна сметка регистърът на заетостта ще бъде в НАП, като ще бъде надграден регистъра на трудовите договори. Предстои второ четене в комисия.
  • Изменения в Закона за движението по пътищата за отпадане на стикерите, улеснения във връчването по електронен път и въвеждане на задължения за спиране и връчване на водачи, които имат голям брой невръчени – минал на първо четене във водеща комисия.
  • Изменения в Закона за електронното управление, с които служебни справки се приравняват на удостоверения с цел тяхното отпадане; отпадане на нуждата от квалифициран електронен подпис за заявяване на е-услгуги; електронно връчване на всички документи, свързани с административното наказване; намаляване на таксите за електронни услуги; доуреждане на посредничеството при предоставяне на административни услуги и др. Законопроектът е минал на второ четене в комисия и предстои приемане в зала
  • Отдавна чаканите изменения в Закона за достъп до обществена информация за транспониране на директивата за отворени данни и надграждане на портала за достъп до обществена информация се очаква да бъдат финално приети наесен. На второ четене в комисия намерихме потенциално решение на проблемите на общините заради злоупотреба с право, без да ограничаваме правото на достъп.
  • Предложих изменения в Закона за авторското право и сродните му права с цел повишаване на свободния достъп до научна литература чрез ограничаване на журналите да спират последващо или предхождащо публикуване на научни публикации. Все още не е разглесано в комисия
  • На първо четене в комисия минаха изменения в Закона за обществените поръчки, с които се въвежда повече прозрачност на възлаганията, качване на договори по изключенията от закона и определяне на стандарт за отворени данни. Със закона се предвижда и разкриване на принадлежност към Държавна сигурност на лица в органите на управление на фирми, печелещи над половин милион от обществени поръчки
  • С представители на неправителствения сектор подготвихме изменения в Закона за гражданската регистрация, с който да решим проблема на над 70 хиляди лица, които нямат постоянен адрес и съответно им се отказва издаване на лична карта, чието внасяне предстои
  • Изготвихме изменения в Закона за закрила на детето за забрана за работа с деца на лица, осъждани за педофилия. Между първо и второ четене по Закона за защита от домашно насилие минаха текстове в тази посока (за регистър на педофилите), но смятам, че те имат доста проблеми и трябва да бъде изменени

Зададох доста въпроси към министри (служебни и редовни), които могат да бъдат видени в профила ми, в секция „Парламентарен контрол“, но ето някои по-интересни

Може би не е очевидно, но тези предложения минават с гласовете на ГЕРБ, понякога и на други партии. Както по темите за еврозоната и войната с Украйна, така и по горните теми, мнозинството в парламента приема добри промени. С нашите 63-ма депутати няма как сами да прокараме каквото и да било, така че обсъждаме конструктивно с другите партии. Това е парламентарната демокрация – нещо не минава, само защото звучи много хубаво.

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

Материалът Отчет за първата парламентарната сесия е публикуван за пръв път на БЛОГодаря.

[$] Unmaintained filesystems as a threat vector

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

One of the longstanding strengths of Linux, and a key to its early success,
is its ability to interoperate with other systems. That interoperability
includes filesystems; Linux supports a wide range of filesystem types,
allowing it to mount filesystems created by many other operating systems.
Some of those filesystem implementations, though, are better maintained
than others; developers at both the kernel and distribution levels are
currently considering, again, how to minimize the security risks presented
by the others.

ASRock Rack 1U12E-GENOA/2L2T Review A 1U AMD EPYC 9004 Server with 24x DDR5 DIMM Slots

Post Syndicated from Patrick Kennedy original https://www.servethehome.com/asrock-rack-1u12e-genoa-2l2t-review-a-1u-amd-epyc-9004-server-with-24x-ddr5-dimm-slots/

The ASRock Rack 1U12E-GENOA/2L2T is a new 1U single socket AMD EPYC 9004 platform with an innovative design. We get to share an early review

The post ASRock Rack 1U12E-GENOA/2L2T Review A 1U AMD EPYC 9004 Server with 24x DDR5 DIMM Slots appeared first on ServeTheHome.

Systemd 254 released

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

Systemd 254 has been released. As usual, there is a long list of changes,
including a new list-paths command for systemctl, the
ability to send POSIX signals to services, a “soft reboot” feature that
restarts user space while leaving the kernel in place, improved support for
confidential
virtual machines
“, and a lot more.

The announcement also notes the support for split-/usr systems
will be removed in the next release, and support for version-one control
groups and for System V service scripts will be deleted in the near
future as well.

Cloudflare Radar’s new BGP origin hijack detection system

Post Syndicated from Mingwei Zhang original http://blog.cloudflare.com/bgp-highjack-detection/

Cloudflare Radar's new BGP origin hijack detection system

Cloudflare Radar's new BGP origin hijack detection system

Border Gateway Protocol (BGP) is the de facto inter-domain routing protocol used on the Internet. It enables networks and organizations to exchange reachability information for blocks of IP addresses (IP prefixes) among each other, thus allowing routers across the Internet to forward traffic to its destination. BGP was designed with the assumption that networks do not intentionally propagate falsified information, but unfortunately that’s not a valid assumption on today’s Internet.

Malicious actors on the Internet who control BGP routers can perform BGP hijacks by falsely announcing ownership of groups of IP addresses that they do not own, control, or route to. By doing so, an attacker is able to redirect traffic destined for the victim network to itself, and monitor and intercept its traffic. A BGP hijack is much like if someone were to change out all the signs on a stretch of freeway and reroute automobile traffic onto incorrect exits.

Cloudflare Radar's new BGP origin hijack detection system

You can learn more about BGP and BGP hijacking and its consequences in our learning center.

At Cloudflare, we have long been monitoring suspicious BGP anomalies internally. With our recent efforts, we are bringing BGP origin hijack detection to the Cloudflare Radar platform, sharing our detection results with the public. In this blog post, we will explain how we built our detection system and how people can use Radar and its APIs to integrate our data into their own workflows.

What is BGP origin hijacking?

Services and devices on the Internet locate each other using IP addresses. Blocks of IP addresses are called an IP prefix (or just prefix for short), and multiple prefixes from the same organization are aggregated into an autonomous system (AS).

Cloudflare Radar's new BGP origin hijack detection system

Using the BGP protocol, ASes announce which routes can be imported or exported to other ASes and routers from their routing tables. This is called the AS routing policy. Without this routing information, operating the Internet on a large scale would quickly become impractical: data packets would get lost or take too long to reach their destinations.

During a BGP origin hijack, an attacker creates fake announcements for a targeted prefix, falsely identifying an autonomous systems (AS) under their control as the origin of the prefix.

In the following graph, we show an example where AS 4 announces the prefix P that was previously originated by AS 1. The receiving parties, i.e. AS 2 and AS 3, accept the hijacked routes and forward traffic toward prefix P to AS 4 instead.

Cloudflare Radar's new BGP origin hijack detection system

As you can see, the normal and hijacked traffic flows back in the opposite direction of the BGP announcements we receive.

If successful, this type of attack will result in the dissemination of the falsified prefix origin announcement throughout the Internet, causing network traffic previously intended for the victim network to be redirected to the AS controlled by the attacker. As an example of a famous BGP hijack attack, in 2018 someone was able to convince parts of the Internet to reroute traffic for AWS to malicious servers where they used DNS to redirect MyEtherWallet.com, a popular crypto wallet, to a hacked page.

Prevention mechanisms and why they’re not perfect (yet)

The key difficulty in preventing BGP origin hijacks is that the BGP protocol itself does not provide a mechanism to validate the announcement content. In other words, the original BGP protocol does not provide any authentication or ownership safeguards; any route can be originated and announced by any random network, independent of its rights to announce that route.

To address this problem, operators and researchers have proposed the Resource Public Key Infrastructure (RPKI) to store and validate prefix-to-origin mapping information. With RPKI, operators can prove the ownership of their network resources and create ROAs, short for Route Origin Authorisations, cryptographically signed objects that define which Autonomous System (AS) is authorized to originate a specific prefix.

Cloudflare committed to support RPKI since the early days of the RFC. With RPKI, IP prefix owners can store and share the ownership information securely, and other operators can validate BGP announcements by checking the prefix origin to the information stored on RPKI. Any hijacking attempt to announce an IP prefix with an incorrect origin AS will result in invalid validation results, and such invalid BGP messages will be discarded. This validation process is referred to as route origin validation (ROV).

In order to further advocate for RPKI deployment and filtering of RPKI invalid announcements, Cloudflare has been providing a RPKI test service, Is BGP Safe Yet?, allowing users to test whether their ISP filters RPKI invalid announcements. We also provide rich information with regard to the RPKI status of individual prefixes and ASes at https://rpki.cloudflare.com/.

Cloudflare Radar's new BGP origin hijack detection system

However, the effectiveness of RPKI on preventing BGP origin hijacks depends on two factors:

  1. The ratio of prefix owners register their prefixes on RPKI;
  2. The ratio of networks performing route origin validation.

Unfortunately, neither ratio is at a satisfactory level yet. As of today, July 27, 2023, only about 45% of the IP prefixes routable on the Internet are covered by some ROA on RPKI. The remaining prefixes are highly vulnerable to BGP origin hijacks. Even for the 45% prefix that are covered by some ROA, origin hijack attempts can still affect them due to the low ratio of networks that perform route origin validation (ROV). Based on our recent study, only 6.5% of the Internet users are protected by ROV from BGP origin hijacks.

Despite the benefits of RPKI and RPKI ROAs, their effectiveness in preventing BGP origin hijacks is limited by the slow adoption and deployment of these technologies. Until we achieve a high rate of RPKI ROA registration and RPKI invalid filtering, BGP origin hijacks will continue to pose a significant threat to the daily operations of the Internet and the security of everyone connected to it. Therefore, it’s also essential to prioritize developing and deploying BGP monitoring and detection tools to enhance the security and stability of the Internet's routing infrastructure.

Design of Cloudflare’s BGP hijack detection system

Our system comprises multiple data sources and three distinct modules that work together to detect and analyze potential BGP hijack events: prefix origin change detection, hijack detection and the storage and notification module.

Cloudflare Radar's new BGP origin hijack detection system

The Prefix Origin Change Detection module provides the data, the Hijack Detection module analyzes the data, and the Alerts Storage and Delivery module stores and provides access to the results. Together, these modules work in tandem to provide a comprehensive system for detecting and analyzing potential BGP hijack events.

Prefix origin change detection module

At its core, the BGP protocol involves:

  1. Exchanging prefix reachability (routing) information;
  2. Deciding where to forward traffic based on the reachability information received.

The reachability change information is encoded in BGP update messages while the routing decision results are encoded as a route information base (RIB) on the routers, also known as the routing table.

In our origin hijack detection system, we focus on investigating BGP update messages that contain changes to the origin ASes of any IP prefixes. There are two types of BGP update messages that could indicate prefix origin changes: announcements and withdrawals.

Announcements include an AS-level path toward one or more prefixes. The path tells the receiving parties through which sequence of networks (ASes) one can reach the corresponding prefixes. The last hop of an AS path is the origin AS. In the following diagram, AS 1 is the origin AS of the announced path.

Cloudflare Radar's new BGP origin hijack detection system

Withdrawals, on the other hand, simply inform the receiving parties that the prefixes are no longer reachable.

Both types of messages are stateless. They inform us of the current route changes, but provide no information about the previous states. As a result, detecting origin changes is not as straightforward as one may think. Our system needs to keep track of historical BGP updates and build some sort of state over time so that we can verify if a BGP update contains origin changes.

We didn't want to deal with a complex system like a database to manage the state of all the prefixes we see resulting from all the BGP updates we get from them. Fortunately, there's this thing called prefix trie in computer science that you can use to store and look up string-indexed data structures, which is ideal for our use case. We ended up developing a fast Rust-based custom IP prefix trie that we use to hold the relevant information such as the origin ASN and the AS path for each IP prefix and allows information to be updated based on BGP announcements and withdrawals.

The example figure below shows an example of the AS path information for prefix 192.0.2.0/24 stored on a prefix trie. When updating the information on the prefix trie, if we see a change of origin ASN for any given prefix, we record the BGP message as well as the change and create an Origin Change Signal.

Cloudflare Radar's new BGP origin hijack detection system

The prefix origin changes detection module collects and processes live-stream and historical BGP data from various sources. For live streams, our system applies a thin layer of data processing to translate BGP messages into our internal data structure. At the same time, for historical archives, we use a dedicated deployment of the BGPKIT broker and parser to convert MRT files from RouteViews and RIPE RIS into BGP message streams as they become available.

After the data is collected, consolidated and normalized it then creates, maintains and destroys the prefix tries so that we can know what changed from previous BGP announcements from the same peers. Based on these calculations we then send enriched messages downstream to be analyzed.

Hijack detection module

Determining whether BGP messages suggest a hijack is a complex task, and no common scoring mechanism can be used to provide a definitive answer. Fortunately, there are several types of data sources that can collectively provide a relatively good idea of whether a BGP announcement is legitimate or not. These data sources can be categorized into two types: inter-AS relationships and prefix-origin binding.

The inter-AS relationship datasets include AS2org and AS2rel datasets from CAIDA/UCSD, AS2rel datasets from BGPKIT, AS organization datasets from PeeringDB, and per-prefix AS relationship data built at Cloudflare. These datasets provide information about the relationship between autonomous systems, such as whether they are upstream or downstream from one another, or if the origins of any change signal belong to the same organization.

Prefix-to-origin binding datasets include live RPKI validated ROA payload (VRP) from the Cloudflare RPKI portal, daily Internet Routing Registry (IRR) dumps curated and cleaned up by MANRS, and prefix and AS bogon lists (private and reserved addresses defined by RFC 1918, RFC 5735, and RFC 6598). These datasets provide information about the ownership of prefixes and the ASes that are authorized to originate them.

By combining all these data sources, it is possible to collect information about each BGP announcement and answer questions programmatically. For this, we have a scoring function that takes all the evidence gathered for a specific BGP event as the input and runs that data through a sequence of checks. Each condition returns a neutral, positive, or negative weight that keeps adding to the final score. The higher the score, the more likely it is that the event is a hijack attempt.

The following diagram illustrates this sequence of checks:

Cloudflare Radar's new BGP origin hijack detection system

As you can see, for each event, several checks are involved that help calculate the final score: RPKI, Internet Routing Registry (IRR), bogon prefixes and ASNs lists, AS relationships, and AS path.

Our guiding principles are: if the newly announced origins are RPKI or IRR invalid, it’s more likely that it’s a hijack, but if the old origins are also invalid, then it’s less likely. We discard events about private and reserved ASes and prefixes. If the new and old origins have a direct business relationship, then it’s less likely that it’s a hijack. If the new AS path indicates that the traffic still goes through the old origin, then it’s probably not a hijack.

Signals that are deemed legitimate are discarded, while signals with a high enough confidence score are flagged as potential hijacks and sent downstream for further analysis.

It's important to reiterate that the decision is not binary but a score. There will be situations where we find false negatives or false positives. The advantage of this framework is that we can easily monitor the results, learn from additional datasets and conduct the occasional manual inspection, which allows us to adjust the weights, add new conditions and continue improving the score precision over time.

Aggregating BGP hijack events

Our BGP hijack detection system provides fast response time and requires minimal resources by operating on a per-message basis.

However, when a hijack is happening, the number of hijack signals can be overwhelming for operators to manage. To address this issue, we designed a method to aggregate individual hijack messages into BGP hijack events, thereby reducing the number of alerts triggered.

Cloudflare Radar's new BGP origin hijack detection system

An event aggregates BGP messages that are coming from the same hijacker related to prefixes from the same victim. The start date is the same as the date of the first suspicious signal. To calculate the end of an event we look for one of the following conditions:

  • A BGP withdrawn message for the hijacked prefix: regardless of who sends the withdrawal, the route towards the prefix is no longer via the hijacker, and thus this hijack message is considered finished.
  • A new BGP announcement message with the previous (legitimate) network as the origin: this indicates that the route towards the prefix is reverted to the state before the hijack, and the hijack is therefore considered finished.

If all BGP messages for an event have been withdrawn or reverted, and there are no more new suspicious origin changes from the hijacker ASN for six hours, we mark the event as finished and set the end date.

Hijack events can capture both small-scale and large-scale attacks. Alerts are then based on these aggregated events, not individual messages, making it easier for operators to manage and respond appropriately.

Alerts, Storage and Notifications module

This module provides access to detected BGP hijack events and sends out notifications to relevant parties. It handles storage of all detected events and provides a user interface for easy access and search of historical events. It also generates notifications and delivers them to the relevant parties, such as network administrators or security analysts, when a potential BGP hijack event is detected. Additionally, this module can build dashboards to display high-level information and visualizations of detected events to facilitate further analysis.

Lightweight and portable implementation

Our BGP hijack detection system is implemented as a Rust-based command line application that is lightweight and portable. The whole detection pipeline runs off a single binary application that connects to a PostgreSQL database and essentially runs a complete self-contained BGP data pipeline. And if you are wondering, yes, the full system, including the database, can run well on a laptop.

The runtime cost mainly comes from maintaining the in-memory prefix tries for each full-feed router, each costing roughly 200 MB RAM. For the beta deployment, we use about 170 full-feed peers and the whole system runs well on a single 32 GB node with 12 threads.

Using the BGP Hijack Detection

The BGP Hijack Detection results are now available on both the Cloudflare Radar website and the Cloudflare Radar API.

Cloudflare Radar

Under the “Security & Attacks” section of the Cloudflare Radar for both global and ASN view, we now display the BGP origin hijacks table. In this table, we show a list of detected potential BGP hijack events with the following information:

  • The detected and expected origin ASes;
  • The start time and event duration;
  • The number of BGP messages and route collectors peers that saw the event;
  • The announced prefixes;
  • Evidence tags and confidence level (on the likelihood of the event being a hijack).
Cloudflare Radar's new BGP origin hijack detection system

For each BGP event, our system generates relevant evidence tags to indicate why the event is considered suspicious or not. These tags are used to inform the confidence score assigned to each event. Red tags indicate evidence that increases the likelihood of a hijack event, while green tags indicate the opposite.

For example, the red tag "RPKI INVALID" indicates an event is likely a hijack, as it suggests that the RPKI validation failed for the announcement. Conversely, the tag "SIBLING ORIGINS" is a green tag that indicates the detected and expected origins belong to the same organization, making it less likely for the event to be a hijack.

Cloudflare Radar's new BGP origin hijack detection system

Users can now access the BGP hijacks table in the following ways:

  1. Global view under Security & Attacks page without location filters. This view lists the most recent 150 detected BGP hijack events globally.
  2. When filtered by a specific ASN, the table will appear on Overview, Traffic, and Traffic & Attacks tabs.

Cloudflare Radar API

We also provide programmable access to the BGP hijack detection results via the Cloudflare Radar API, which is freely available under CC BY-NC 4.0 license. The API documentation is available at the Cloudflare API portal.

The following curl command fetches the most recent 10 BGP hijack events relevant to AS64512.

curl -X GET "https://api.cloudflare.com/client/v4/radar/bgp/hijacks/events?invlovedAsn=64512&format=json&per_page=10" \
    -H "Authorization: Bearer <API_TOKEN>"

Users can further filter events with high confidence by specifying the minConfidence parameter with a 0-10 value, where a higher value indicates higher confidence of the events being a hijack. The following example expands on the previous example by adding the minimum confidence score of 8 to the query:

curl -X GET "https://api.cloudflare.com/client/v4/radar/bgp/hijacks/events?invlovedAsn=64512&format=json&per_page=10&minConfidence=8" \
    -H "Authorization: Bearer <API_TOKEN>"

Additionally, users can also quickly build custom hijack alerters using a Cloudflare Workers + KV combination. We have a full tutorial on building alerters that send out webhook-based messages or emails (with Email Routing) available on the Cloudflare Radar documentation site.

More routing security on Cloudflare Radar

As we continue improving Cloudflare Radar, we are planning to introduce additional Internet routing and security data. For example, Radar will soon get a dedicated routing section to provide digestible BGP information for given networks or regions, such as distinct routable prefixes, RPKI valid/invalid/unknown routes, distribution of IPv4/IPv6 prefixes, etc. Our goal is to provide the best data and tools for routing security to the community, so that we can build a better and more secure Internet together.

Visit Cloudflare Radar for additional insights around (Internet disruptions, routing issues, Internet traffic trends, attacks, Internet quality, etc.). Follow us on social media at @CloudflareRadar (Twitter), cloudflare.social/@radar (Mastodon), and radar.cloudflare.com (Bluesky), or contact us via e-mail.

What’s Up, Home? – How to secure your (home) monitoring

Post Syndicated from Janne Pikkarainen original https://blog.zabbix.com/whats-up-home-how-to-secure-your-home-monitoring/26241/

As my home monitoring experiment has become such a celebrity and as it has so much going on, I’m trying to make sure I won’t ever lose its configuration and data, no matter what would happen. Here are some tips and reminders for you, too.

In the IT world, so much can go wrong. Hardware can die, files can become corrupt, malware can hit you, hackers can breach your systems, buggy software updates can cause havoc, you can fat-finger some commands or click on the wrong place and remove data… the list is endless. Here are some ways I’m attempting to protect my home monitoring environment.

Keep software updated

First things first. In today’s malicious world, it’s mandatory that you keep your software updated. With Linux and Zabbix, you don’t have an excuse to skip the updates. Updating your systems is fast and trouble-free. In small environments like home, even major Zabbix upgrades are fast as the database is not very big, so the database migrations that in a corporate environment can take time, will go through in minutes if not faster.

Remember to backup

Keep your backups in good shape. In my case, I do take backups with BackupPC and monitor my backups with Zabbix.

But I don’t trust one environment. What if my BackupPC says Kaboom? A nightly cron job also copies backup archives from my Raspberry Pi to my Mac, which in turn mirrors the backups to my iCloud. And, there’s one more cloud service I’m using for all my backups but not mentioning it here by name.

Test your backups

As long as you have not verified that your backups do actually work, you do not have a working backup. Have a virtual machine into which you can try to restore your backups. See if they work. Test them periodically, either manually or figure out an automated way to do that. 

In the case of Zabbix, you can make your primary Zabbix monitor your test environment, and make Zabbix alert if your restore environment Zabbix suddenly starts responding back something else than the regular login page, or if the restore environment database doesn’t come back with some query response you would expect.

Setup a HA cluster

As any hardware can die, it’s not a bad idea to set up a HA cluster. Last winter I was preparing for potential electricity blackouts here in Finland and did setup my laptop to be a secondary node for my Zabbix. This setup has been working very well.

Use strong passwords

Even if it would only be your sandbox environment where you do test new stuff, please remember to use strong passwords. An evil actor can attempt to breach more targets in your network through a single point of failure.

Use ssh keys

Instead of username + password combination, use ssh keys for ssh authentication. Keys are immune to brute-force attempts and with tuning, ssh keys can also be allowed to only connect from specific IPs and run only specific commands. You know how in your ~/.ssh/authorized_keys the lines do start with something like 

ssh-rsa aZfgT12b(....

but if you modify it to be 

command="/usr/bin/rsync" ssh-rsa aZfgT12b(....

well, then only rsync would be allowed.

Or, for IP address limitation

from="123.123.123.123" ssh-rsa aZfgT12b(....

Of course, these can be combined:

from="123.123.123.123" command="/usr/bin/rsync" ssh-rsa aZfgT12b(....

Obviously, this grants you much more security than traditional logins.

Use HashiCorp Vault

OK, I admit I’m not doing this at home as it would be overkill for my few logins. But, in a larger environment with absolutely critical safety requirements, use HashiCorp Vault for protecting your credentials. Zabbix has native support for it.

Monitor your logs

Setup a centralized log server — it can be your Zabbix server environment, too — and make sure you monitor the logs. My Zabbix gets all my logs, but wouldn’t be a bad idea to use more advanced log monitoring tools, too. Since I already do have ElastiFlow running at home, at some point I might start utilizing Elasticsearch for the logs. Not doing it much yet.

Use chkrootkit, AIDE, others

Tools like AIDE or chkrootkit can help you detect an intrusion. Set them to run in your cron and get alerted in case of any anomalies. Maybe I’ll one day integrate Zabbix with these tools.

Firewall your environment, use VPN

Don’t allow direct access from the Internet to your Zabbix, or your database, or anything really. In my case, my Asus router allows setting up OpenVPN connections, so that’s what I use. Whilst on the go, I just connect to OpenVPN on my phone and do whatever I need remotely through that.

Anything else?

Did I miss something? Let me know in the comments.

This post was originally published on the author’s page.

The post What’s Up, Home? – How to secure your (home) monitoring appeared first on Zabbix Blog.

Indirect Instruction Injection in Multi-Modal LLMs

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2023/07/indirect-instruction-injection-in-multi-modal-llms.html

Interesting research: “(Ab)using Images and Sounds for Indirect Instruction Injection in Multi-Modal LLMs“:

Abstract: We demonstrate how images and sounds can be used for indirect prompt and instruction injection in multi-modal LLMs. An attacker generates an adversarial perturbation corresponding to the prompt and blends it into an image or audio recording. When the user asks the (unmodified, benign) model about the perturbed image or audio, the perturbation steers the model to output the attacker-chosen text and/or make the subsequent dialog follow the attacker’s instruction. We illustrate this attack with several proof-of-concept examples targeting LLaVa and PandaGPT.

Коалицията (по)тегли. Жегата мина

Post Syndicated from Емилия Милчева original https://www.toest.bg/koalitsiyata-potegli-zhegata-mina/

Коалицията (по)тегли. Жегата мина

Ако наличието на бюджет, правителство и управленска програма са признаци за политическа нормалност, то значи България се нормализира. Летният политически сезон приключи с оптимизъм за бъдещето на ротацията между първите две политически сили – проводниците на нормалността. Първото съвместно изявление тази седмица на лидерите на управляващия съюз – Кирил Петков (ПП), Христо Иванов (ДБ) и Бойко Борисов (ГЕРБ), режисирано и напътствано от последния, даде заявка за общо бъдеще, по-силно от управленска програма.

Со кротце, со благо

Борисов посочи Иванов като „водач“ за съдебната реформа, когото ще следват, и „писмовния човек“, който ще подготви и предложи механизма за вземане на общите решения на двете коалиции. Макар този механизъм да беше обещан в пакет с управленската програма, така и не се появи. Пред bTV съпредседателят на ДБ Атанас Атанасов съобщи, че протокол за вземане на решения ще бъде подписан в началото на идната седмица. Всичко е уточнено, каза той. Но и без него управляващите се справят нелошо с вземането на решения – бързо се разбраха за ръководството на БНБ, опъват си нервите за НЗОК и Сметната палата, но не задълго. И за да прилича коалицията на истинска коалиция, демонстрират несъгласия по някои теми.

Най-прясно манифестираното негодувание беше свързано с бюджета и промените по проекта на финансовия министър Асен Василев, но на финала съществената част от тези промени – повишенията на заплати, бяха запазени, а отпаднаха и текстовете, срещу които протестираше ресторантьорският бранш. Данъкоплатците ще трябва да осигурят над 400 млн. лв. за повишени заплати, с които депутатите обремениха разходите, над една трета от които са за МВР.

Ревизиран беше първоначалният вариант фирми с 50 и повече души персонал да плащат заплатите само по банков път – запази се за тези със 100 и над 100 наети. В България техният брой е твърде малък. По данни на НСИ от края на 2022 г. в страната функционират общо 412 878 предприятия, от които 383 592, или почти 93%, имат персонал до 9 души, в 4436 работят между 50 и 249 наети, а с повече от 250 са едва 754, сред които телекомите, големите търговски вериги и др., собственост на големи международни компании.

Отпадна предложението на Министерството на финансите ресторантьорите да плащат възнагражденията само по банков път, независимо от броя на работещите. Браншът запази и ниската си ставка по ДДС от 9%, въведена заради пандемията от COVID-19. Асен Василев я защити, че помага за изсветляването на бизнеса, но не представи данни за „аргумента“ си. Парламентът отхвърли т.нар. безплатен обяд – идеята на Василев клиент на заведение да откаже да плати сметката, ако не получи касов бон.

Запазват се енергийните компенсации за бизнеса, здравните заведения, училища и храмове, подпомогнати за м.г. с над 6 млрд. лв. за купуваната от тях електроенергия от свободния пазар. ГЕРБ склониха и 350 млн. евро от оперативни програми, които ще останат неизразходвани, да се прехвърлят на Фонд „Сигурност на електроенергийната система“, а оттам – в Министерството на енергетиката, което ще ги внесе в бюджета.

Програма има, механизъм за решения – не

Наесен „не-коалицията“ ще е само ироничен прякор, „сглобката“ – забравен текст от SMS. Правителството публикува програма за управление, съгласувана с ПП–ДБ и ГЕРБ–СДС, и въпреки своите 146 страници документът не е особено амбициозен откъм реформи. Заявеното потвърждава известни от години цели, като еврозоната и Шенген, реализиране на Плана за възстановяване и устойчивост (ПВУ), овладяване на инфлацията и ефективно управление на общински проекти. За изпълнението до края на 2024 г. са вписани множество законопроекти, стратегии, концепции и наредби, част от които са свързани с наваксване заради срокове.

Датата за присъединяване към еврозоната е 1 януари 2025 г., а мащабна разяснителна кампания ще стартира през септември. Законът за въвеждане на еврото е предвиден като последен от необходимите за еврозоната – за април догодина. Според кабинета присъединяването към Шенгенското пространство предстои до края на 2023 г.

В програмата не са предвидени реформи за железниците, нито пък в здравеопазването, където българските граждани продължават да доплащат все повече и повече, но качеството на здравните услуги не се подобрява. Не се предлага и решение за острия недостиг на медицински сестри. И това правителство като други преди него е записало законови промени – със срок до ноември т.г., които да забранят създаване на нови болници „до утвърждаване на нова национална здравна карта“. (Лечебните заведения в България са 341, бюджетът на НЗОК, откъдето се финансират, е близо 7,03 млрд. лв. и по традиция лъвският пай – близо 47%, е предназначен за болниците.) Трудно е за вярване дали ще се случи, тъй като и предишните ограничения са издържали колкото и забраните за строителство по морето. За Националната детска болница обаче е предвидено до февруари 2024 г. да бъде готова техническата спецификация за обществена поръчка за проектирането на комплекса.

Освен предложение за изграждане на нови ядрени мощности в Козлодуй със срок декември 2024 г., други големи проекти не са разписани. Като най-амбициозни и детайлно разработени се отличават инициативите в енергетиката и образованието. Кабинетът „Денков–Габриел“ се надява да получи второто плащане по ПВУ през декември, година след първото. Декември е и заложеният срок, в който да представи в Европейската комисия преработения план, свързан с реформата в декарбонизацията на енергийния сектор.

До септември трябва да се проведат преговорите с Украйна за продажба на оборудването за АЕЦ „Белене“ – парламентът поиска да не е на цена, по-ниска от платената, т.е. под 660 млн. евро. Споменати са и ускорен ремонт и рехабилитация на ПАВЕЦ „Чаира“, за които се говори повече от година и половина, ефективно управление на енергийния преход на комплекса „Марица-изток“ – за което до момента политическа воля не се намери.

В управленската програма са записани и вече приключили действия, като приемането на бюджета за 2023 г., също и включването на държавата в търсене на нефт и природен газ в Черно море. Идеята е БЕХ да придобие дял от 20% в консорциума на Total и OMV, които търсят въглеводороди в „Блок 1-21 Хан Аспарух“.

До октомври ще бъдат пуснати търгове за изграждане на поне 285 MW капацитет за производство на евтина електроенергия от ВЕИ.

В сферата на образованието се обещава най-сетне да бъде готов, макар и през ноември 2024 г., стандартът за качество в училищното образование. Замислени са и други радикални промени, например въвеждане на тригодишно обучение за придобиване на бакалавърска степен. А до февруари правителството се е задължило да въведе национална система за проследяване на ранното детско развитие в яслите и в детските градини. Срокът за новите учебни програми обаче е учебната 2025/2026 г.

Съдебната реформа – сбъдната мечта?

Пред телевизионните камери тази седмица Бойко Борисов обеща мечтата на Христо Иванов за съдебна реформа, която не се е сбъднала преди десет години, да бъде сбъдната сега от „не-коалицията“. Преди десетилетие Иванов беше министър на правосъдието във второто правителство на Борисов, а сглобка на ГЕРБ, ДПС и БСП опраска конституционните промени. Сега е един от лидерите на коалиция, която ги предлага отново в комбинация с други, а Борисов е партньор в управлението.

Основните акценти в проекта за изменение на Конституцията са промяна на датата на националния празник – 24 май; не повече от два мандата на кметовете на общини; разделяне на ВСС на съдийски и прокурорски съвет, за да се осигури съдебната независимост; намаляване на мандата на главния прокурор и радикално ограничаване на правомощията му – идеята е да бъде само административен ръководител на Върховната касационна прокуратура; въвеждане на стандарт за избирането на регулаторните и контролните органи; трансформация на статута на служебните кабинети; възможност за подаване на индивидуална конституционна жалба от всеки гражданин.

ГЕРБ вече обяви, че не подкрепя ограничаването на кметските мандати и настоява за по-голям баланс в правомощията на служебните кабинети.

Засега проектът вдигна пушилка заради предложението, дошло от „Демократична България“ 24 май да стане националният празник на България, което означава, че ще замени 3 март. Целта според депутатката от ПП–ДБ Надежда Йорданова е „да вдигнем на конституционно ниво принципите, които изграждат българската държавност“. Някои предложения събудиха недоумението на конституционалисти и известни юристи като адвокат Михаил Екимджиев, който в интервю пред „Сега“ ги определи като националистическа доктрина, идентична с тази на Александър Дугин и Путин.

Чл. 3 от законопроекта гласи:

(1) Българската държавност се основава на ценностите на просвещението, духовността, свободата и равноправието, въплътени в идеите и делото на светите братя Кирил и Методий и техните ученици, на Апостола на българската свобода Васил Левски и на възрожденските будители и революционери. (2) В утвърждаване на тези ценности образованието, науката и културата и опазването на културно-историческото наследство са стратегически национални приоритети. (3) Официалният език в републиката е българският. Държавата гарантира и насърчава неговото опазване. (4) Всички исторически установени в България културни традиции са неразделна част от националното ни културно богатство.

Тези промени обаче тепърва ще се обсъждат, ще се оспорват в Конституционния съд и едва ли ще бъдат приети до края на годината, както беше съобщено. Конституционното мнозинство от ПП–ДБ, ГЕРБ–СДС и ДПС, което се е зарекло да внесе общ проект, едва ли ще бърза. Може и да чака ротацията на акад. Денков с кандидатката на ГЕРБ Мария Габриел в началото на март. В управленската програма конституционният проект е вписан без срок за изпълнение.

В раздел „Правосъдие“ на управленската програма обаче се откриват други интересни предложения, например Концепция за регулиране на лобистките дейности в Република България. Срокът да види бял свят е ноември, а се подготвя съвместно с Базелския институт за добро управление. До момента всички опити за регулиране на лобизма са удряли на камък, а законодателните идеи в тази посока са идвали все от ДПС.

По отношение на приетия на първо четене и застопорен законопроект за противодействие на корупцията, който предвижда реформа на структурата на КПКОНПИ и създаване на нова антикорупционна комисия с разследващи функции, управляващите чакат препоръки от Брюксел. Иначе проектът няма да стигне до обсъждане за второ гласуване в Комисията по правни въпроси.

Наесен коалицията трябва да започне подготовката на бюджета за 2024 г. и на обещаните законопроекти, а политическите сили – кампаниите си за местни избори. Всичко върви в коловозите на тройно гарантирана нормалност.

По буквите: Расучану, Кенаров

Post Syndicated from Зорница Христова original https://www.toest.bg/po-bukvite-rasuchanu-kenarov/

„Вятърът, духът, дъхът“ от Андрея Расучану

По буквите: Расучану, Кенаров

превод от румънски Лора Ненковска, София: изд. ICU, 2023

Гъста като петмез проза. Лепкав, сладостен, поетичен език, омаломощаващо внимание към детайла, което те повлича, сиропира читателския ти ум и като че ли парализира физическите реакции на ужаса, с който са изпъстрени тези страници. „Питай встрани“, казва моя позната терапевтка. „Пациентът следи с очи пръстите на аналитика, докато изважда травмата от дългосрочната памет и я депозира в краткосрочната“, гласи описанието на друг метод за справяне с посттравматичния синдром.

Кое дете е било, каза ли ти, а как изглеждаше, докато ти разказваше, спокоен ли беше, какъвто е обикновено, с тревожен поглед, с безразличен глас, който сякаш потъва в повея на вятъра…,

пита героинята по повод потрисаща история за канибализъм. И сякаш целият ѝ разказ, с всичките ѝ травми, потъва в тази извънредна сетивност: детството, полепнало във водна леща, миришещо на селски двор, на селски клозет, на топли тела, които се движат по средата на двора, докато детето гледа от тъмния прозорец; семейният живот, потънал в мътната вода в запушената мивка, изплувал като трупа на съпруга беглец през реката, която би трябвало да го отведе към Югославия, сиропиран като саварината, която съпругът изяжда преди това с любовницата си, а героинята отбелязва 1) начина, по който той най-напред маха маслената розичка от сладкиша, 2) пуловера, който самата тя му е купила и изпрала с шампоан, за да не губи мекотата си, 3) унижението да прочете за тази сцена в доноса на Секуритате…

По буквите: Расучану, Кенаров

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

Някога ми каза, че ако хората вече ги няма, това не означава, че миналото им принадлежи на всички, всеки с неговата версия и интерпретация… Добре, бих ти отвърнал, но ако не можеш да научиш как точно са се случили нещата, това не значи, че не са се случили. Не можеш да ги изтриеш от историята само защото не ти е дадено да познаеш цялата истина за тях.

Третата част на книгата, озаглавена „Михалаки“, като че ли свидетелства за последния етап в преработването на истината – тогава, когато тя не е нито болезнено прясна, нито болезнено убеглива, а като че ли завинаги уталожена в ритмите на литературата. Отложена по-назад във времето, тя сякаш веднага придобива патината на мита. С други думи, историческият факт избелява и остава да изпъква главно образът – като този на слонския скелет в училищния кабинет по естествена история, където депутатите били заключени, докато не изберат нов княз. Но в същото време се наслагва и в историческата памет на самото място, и в преповтарящите се през поколения теми – като трудната и разпокъсана връзка между поколенията, като непрестанния мотив на сирачеството и отритнатостта.

Извънредно трудна като стилистика книга, бляскава преводаческа работа на Лора Ненковска.

„Диктатори, трактори и други приключения“ от Димитър Кенаров

превод от английски Ангел Игов, Пловдив: ИК „Жанет 45“, 2023

През юли 2008 г. жителите на Белград откриват, че в един от обикновените бетонни квартали е арестуван възрастен човек с вързана на опашка прошарена коса. Въпросният Драган е познат като духовен учител, проповядващ един вид православна мистика. Истинското му име обаче е Радован Караджич.

По буквите: Расучану, Кенаров

Повечето хора имат чувство за териториалност по отношение на истината.

Ние, българите, често смятаме, че трябва да знаем повече за Източна Европа от западния читател, не дай си боже от този, който е отдалечен от нас през океана. По тази причина статиите на Димитър Кенаров, писани за престижни американски списания, би трябвало леко да дразнят. Още повече – преводни. Още повече – написани умело, с литературен усет, пластичен език и космополитни препратки. Това ли момче ще ни каже кой живее в съседния вход?

Ами да. Защото

териториалната близост е илюзорна, ако не видиш нещо с очите си;

ако не отидеш с готовността да зададеш неудобен въпрос, да подхванеш нелицеприятна тема. Да бъдеш на места, различни от тези, на които ходят „хора като теб“. И аз съм била в Белград, но не би ми хрумнало да отида да видя как домът на Милошевич е превърнат в място за поклонение. Не съм била арестувана в Беларус. И реакцията ми в началото на войната в Украйна не е била да тръгна натам, за да видя с очите си какво става.

И все пак Димитър Кенаров не е типичният разследващ журналист; той не търси интервюта с главните герои от новинарските емисии. Вместо това отива на място и описва тяхната среда. Хората, които са ги направили възможни. Начина, по който реагираме след новината за чудовищното. Като отказваме да повярваме и се разпиляваме в конспиративни теории. Като опаковаме чудовищното като сензация, таблоиден гъдел, в който моралните съображения постепенно отпадат и запомняме само къде сме се хилили, надлежно погъделичкани по чакрите. Като в туристическата обиколка „Попарт Караджич“. Иначе казано,

най-важното в тези статии – това, което си струва човек да опише от първа ръка – е процесът на нормализация на ненормалното, преобразуването на нечовешкото в „човещинка“,

ключовата роля не на Хамлет или Клавдий, а на Розенкранц и Гилдернстерн. От Сърбия, от България, от Македония, от Полша, Беларус, поречието на Дунав, Ирак, Сараево, Украйна. И в тази роля е наистина важно да се видим отстрани. Или поне да осъзнаем, че сме видими.


Активните дарители на „Тоест“ получават постоянна отстъпка в размер на 20% от коричната цена на всички заглавия от каталозите на ICU и „Жанет 45“, както и на няколко други български издателства в рамките на партньорската програма Читателски клуб „Тоест“. За повече информация прочетете на toest.bg/club.

В емблематичната си колонка, започната още през 2008 г. във в-к „Култура“, Марин Бодаков ни представяше нови литературни заглавия и питаше с какво точно тези книги ни променят. Вярваме, че е важно тази рубрика да продължи. От човек до човек, с нова книга в ръка.

Ранната бременност или бедността – яйцето или кокошката?

Post Syndicated from Мирела Петкова original https://www.toest.bg/rannata-bremennost-ili-bednostta-yaitseto-ili-kokoshkata/

Ранната бременност или бедността – яйцето или кокошката?

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

Успява ли да стъпи на трудовия пазар, ако изобщо никога не е работила, тъй като ражда на 16 години? Намира ли си работа, която ѝ позволява да е финансово независима и да е квалифицирана и високоплатена? Как може да се мотивира човек в подобна ситуация да стане активна част от обществото и да не изпитва срам, че е по-възрастен от съучениците или колегите си? Как влияе ранната бременност на икономическите възможности на бъдещите поколения?

Тука има, тука няма данни

Колко от майките в България, които раждат рано, успяват да завършат образованието си? Или кога започват първата си работа? Не знаем. Докато за други държави, като САЩ, има изключително подробна статистика колко завършват или работят след бременност в тийнейджърска възраст, у нас данни липсват. В САЩ едва 50% от майките, родили в тийнейджърска възраст, завършват гимназия до 22 години, в сравнение с 90% от жените, които не раждат, преди да излязат от пубертета. Едва 10% от жените, минали през ранна бременност в САЩ, завършват 2- или 4-годишна програма за висше образование.

В България данните за раждаемостта по възраст се генерират от Националния статистически институт (НСИ), като проблемът е обобщеният вид, в който се представя информацията. Имаме данни за броя жени, родили под 20-годишна възраст, но не и как тенденцията се изменя през годините. Липсва публична информация за раждаемостта в категориите 10–14 и 15–19 години, като за тези възрастови групи са налице единствено данни за общата плодовитост. НСИ тълкува плодовитостта като „среден брой деца, които би родила една жена през целия си фертилен период съобразно повъзрастовата плодовитост през отчетната година“, но това не дава яснота колко момичета са станали майки в конкретен период.

Никаква по-детайлна статистика за социално-икономическата обремененост на една жена, която е родила рано, не е налице. Подобна информация би дала представа за домакинството, в което жената е отраснала, включително за историята на ранна бременност в семейството, посещението на училище през детството (преди забременяването), развитието ѝ, след като роди, и др.

Макар да говорим за това как една жена става част от трудовия пазар след ранна бременност, образованието има своето място и в тази история – то е ключов фактор в уравнението на ранното забременяване. Радосвета Стаменкова, изпълнителната директорка на Българската асоциация по семейно планиране и сексуално здраве (БАСП), е убедена в това. Според Стаменкова, за да не забременяват момичета в ранна възраст, е много важно да се работи за предотвратяване на ранното им отпадане от училище. Битката за оставането им в класните стаи е битка за бъдещето им, защото със завършването на средното им образование възможността за реализация, различна от това да станат майки на 16 години и да останат майки през целия си живот, се увеличава.

По данни на НСИ за 2022 г. само половината (!) от завършилите основно образование в България успяват да завършат и средното си образование. Ако през 2018 г. малко над 71 000 ученици получават основно образование, то през 2022 г. едва 36 000 вземат диплома за средно. Тук е важно да се отбележи, че през 2018 г. влизат в сила промените, според които основно образование се завършва в седми, а не в осми клас, и така цялостната статистика за конкретния випуск се размества. Освен това няколко хиляди ученици продължават гимназиалното си образование в чужбина поради емиграция на семейството или просто като образователен избор. Те също влизат в тази статистика на „отпадналите“. Какво се случва с останалите? Къде са?

Ето в тази статистика са и онези момичета, които стават майки рано и впоследствие изпитват затруднения да завършат образованието си поради новопоявилите се задължения покрай детето или да се квалифицират, за да си намерят работа. Само че нямаме точни данни тъкмо за това.

Отново по данни на НСИ от 2022 г. нивото на образование оказва съществено влияние върху риска от бедност. Най-високият дял на работещи бедни е налице при хората без образование или само с начално – 68,5%. Разликата между основното и средното образование е осезаема – 32,9% от хората с основно образование са работещи бедни, докато при завършилите ХII клас процентът е 8,8%.

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

При всички положения е сигурно, че образованието е първата стъпка към по-голям шанс за квалифицирана и достойно платена работа, защото то екипира жената с уменията да взема решения и да се развива. В българското общество остава прието основната част от грижите за едно дете, а следователно и компромисите с личния живот да се поемат от майката. Напускането на училище след забременяване не е изненадващо, като най-важният фактор е грижата, която момичето трябва да положи за детето си, но са налице и други, като стигматизирането от връстниците и семейството.

Всеки случай е отделен, но повечето научни изследвания говорят, че жените, които раждат първото си дете в юношеска възраст и не завършват образованието си, обикновено имат деца и внуци, за които е по-малко вероятно да завършат образованието си. Иначе казано, ранната бременност има преки ефекти върху бъдещите доходи и икономическото състояние на няколко поколения в едно домакинство. Унаследеността на проблема създава социално-икономически цикъл, в който се въртят хора с ограничени възможности, ограничени умения и ограничен достъп до пазара на труда.

Културата на отчаяние

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

„Културата на отчаяние“ е понятие, с което се назовава причинно-следствената връзка между социално-икономическата среда, в която расте едно момиче, и шанса то да забременее в юношеските си години. Понятието е развито от изследователите Мелиса Кърни и Филип Ливайн, работещи съответно към Центъра за изследване на населението в Университета на Мериленд и „Уелсли Колидж“. Двамата се позовават на данни, обхващащи над 42 000 жени в периода 1982–2008 г. в САЩ, и използват набор от похвати на иконометричното моделиране, за да отчетат и допълнителните фактори, влияещи върху раждаемостта сред тийнейджърките, като раса, етнос, религия и др.

Работата на изследователите е базирана на по-ранни социологически проучвания, в които се разглежда формирането на специфични места с константна бедност, дължаща се на липса на възможности, социална изолация и отлъчване от пазара на труда. Кърни и Ливайн твърдят, че комбинацията от бедност и живот в социално неравенство, водеща до засиленото чувство за липса на перспективи, е ключовият фактор за тийнейджърската бременност.

В България по последни данни на НСИ за 2022 г. относителният дял на бедните спрямо линията на бедността е 22,9% общо за страната. Към датата на публикуване на изследването линията на бедност в България е 413 лв., а към днешна дата е 504 лв. В контекста на тези данни е важно да се споменат поне още два фактора, които биха могли да са част от пътя, водещ до бременност в юношеска възраст. Първо, жените са в по-голям риск от бедност, тъй като 25,8% от тях в сравнение с 19,9% от мъжете са в горната статистика. Тази тенденция е растяща – през 2018 г. процентът за жените е бил 23,4. Шансът за една жена да излезе от тази статистика не е особено голям, ако съдим по измерванията на социалната мобилност.

По данни на Световната банка неравенството в доходите в България се увеличава през последните десетилетия. Казано по-просто, пропастта между богати и бедни расте и е все по-трудно да повишиш доходите си, ако тръгваш от ниско финансово стъпало. Тоест дори по-голямата част от ражданията на възраст под 18 години, които сме свикнали да виждаме отразявани по медиите, да се свързват с ромските общности, това не е етнически феномен, а феномен на бедността. Радосвета Стаменкова разказва, че има и момичета от български произход, които поради неинформираност, незнание, неизползване на контрацептиви стигат до забременяване в ранна възраст. Те просто нямат стигма върху върху себе си, прекратяват бременността и не влизат в статистиката.

Политики на килограм

А как изобщо се правят политики, ако няма данни, на които да се основават? Не можем като общество сериозно да оценим доколко ранното забременяване влияе на икономиката ни и на бъдещите поколения, ако гледаме на него само като присъщо на ромската общност.

Политиките на едро могат да са ефективни, но не и когато става въпрос за неравенство и изваждане на хората от цикъла на бедността. В това е сигурен Адриан Николов, икономист в Института за пазарна икономика, с фокус върху пазара на труда, бедността и неравенството у нас, с когото „Тоест“ говори по темата. Когато става въпрос как се отнасяме към елиминиране на неравенствата, Адриан смята, че инструментите на държавата не са подредени правилно.

В момента се занимаваме с това да осигуряваме временна заетост на безработните, да повишаваме доходите на всички поравно, да се фокусираме върху програми, които засягат цялото население.

За пример той дава решението на парламента от по-рано тази година, с което се прие всички ученици да получават безплатни учебници от учебната 2024/2025 г. нататък. Изчисленията досега показват, че тази мярка ще струва на бюджета около 80 млн. лв.

Нека бъде ясно: това най-вероятно ще помогне на учениците в затруднено положение да останат в училище. Според изследване на Фондация „Тръст за социална алтернатива“ 6% от българските ученици отпадат от образователната система поради крайна бедност. В изследването се твърди, че безплатните учебници и транспортните възможности са ключови за по-голям достъп до образованието. Но…

От гледна точка на неравенството, когато дадем на цялата доходна структура по 100 лв., ние сме неутрални към него, защото резултатът остава същият. Ако дадем само на бедните по 500 лв., тогава техният доход ще се повиши спрямо богатите. Ако се опитаме наистина да свиваме разликата между бедните и богатите, то доходни тестове, таргетиране на хора в нужда, които са наистина бедни, и други подобни мерки биха били адекватни.

Адриан Николов също обръща внимание на липсата на данни, когато става въпрос за подкрепа на майките в крайна нужда. Макар да знаем, че средната възраст при първо раждане в София е 30,7 години, а в Сливен – 23,8 години, според него няма систематични анализи за нуждите на домакинствата и регионите, върху които трябва да се фокусираме.

Ние даваме майчинство поравно, независимо как функционира домакинството. Почти всички помощи, които са свързани с отглеждане на деца и майчинство, по никакъв начин не са обвързани с конкретна необходимост.

И макар този тип финансови субсидии, заместващи дохода, далеч да не са единственото, от което се нуждае едно семейство, те са най-доброто, предлагано от държавата ни за момента, и промяната им в период на демографски срив съвсем не е решението, както предупреждава Адриан Николов. Но според него индивидуалният подход към потребностите на всеки отделен случай е успешен модел за справяне с неравенствата, бедността и социалното изключване на хора и групи от хора. „Въпросът е как да прилагаме политики, които са насочени към конкретните потребности на конкретното домакинство и човек. Защото когато се опитваме да решаваме проблемите на всички, най-вероятно не помагаме на никого“, завършва Николов.

Той е съгласен, че липсата на образование до голяма степен възпрепятства една жена да е активна на пазара на труда и следователно да има шанс да излезе от кръга на бедност.

У нас средното образование е големият решаващ фактор, който на практика гарантира заетост, води до много голямо повишаване на заплатата в сравнение с хората с по-ниско образование.

Но отвъд превенцията, т.е. развитието на социални „обезопасителни мрежи“, които да задържат момичетата в училище, има какво да се направи и за етапа, в който те си търсят работа. Ключовата дума тук е „гъвкавост“ или „заетост на непълен работен ден“. „Майките успяват да съчетават грижата за децата и работата чрез подобни възможности за заетост. Те създават голям мост между бременността, отглеждането на дете и пазара на труда“, допълва Адриан Николов.

В заключение, смисленото подпомагане на която и да е група – било то млади майки, работещи бедни или комбинацията от двете – изисква набор от мерки и промени от страна на държавата и обществото. Такива са намаляване на социалното неравенство в страната, подобряване на достъпа до образование, развиване на националната статистика в детайли и еволюция на трудовия пазар към модел, който подкрепя, а не дискриминира жените, грижещи се за дете, без значение на каква възраст са родили. Всички тези мерки влизат под шапката на икономическото приобщаване и развитието на средата, в която растат младите момичета.

Може и да няма категоричен отговор на въпроса дали бедността винаги предшества ранната бременност, или е цикъл, подобен на казуса с яйцето и кокошката. Но това не е пречка да видим, че проблемите на младите майки у нас са пресечна точка на редица нерешени социално-икономически задачи. Въпросът е имаме ли намерение да се заемем с тези задачи, или винаги ще има нещо по-важно, докато накрая не стане прекалено късно за каквото и да е решение.

Ако ние сме риби, които плуват в морето,

Post Syndicated from Тоест original https://www.toest.bg/ako-nie-sme-ribi-koito-pluvat-v-moreto/

Ако ние сме риби, които плуват в морето,

любовта е мрежа.
Любовта е ръце, които мятат мрежата.
Любовта е кораб, който пренася рибата.
Любовта е готвач, който я пържи.
Любовта е уста, която я сдъвква,
хранопровод, който я прекарва,
стомах и черва, които я смилат,
пръст, която поема рибешкия скелет, перките, люспите, червата, недоядените остатъци.

Преди теб бях риба, която плува в студеното море заедно с други риби,
безразлична и свободна.
Сега съм пържен скелет, готов да се разложи,
да натори земята със себе си
и да гледа небето, което
от морето не се виждаше никога.

Албена Тодорова


Албена Тодорова (р. 1983) е авторка на три стихосбирки. Финансист по професия. След десет години в Япония, Германия и Великобритания, в момента живее в София. Стихотворението на месеца е част от книгата ѝ „Ще ти бъда тяло“, която се очаква да излезе през 2023 г. в ИК „Жанет 45“.


Според Екатерина Йосифова „четящият стихотворение сутрин… добре понася другите часове“ от деня. Убедени, че поезията държи умовете ни будни, а сърцата – отворени, в края на всеки месец ви предлагаме по едно стихотворение. Защото и в най-смутни времена доброто стихотворение е добра новина.

The collective thoughts of the interwebz