Wednesday, December 11, 2024

Update openSSL to latest 1.1.1 version (1.1.1w)

 

OpenSSL 3.0.0 comes with a host of ...

By the time(2024) one our system use this old OpenSSL version 1.1.1g and we are going to update it to latest version of 1.1.1 openSSL version.

1st we verify the current verions of openSSL.

openssl version.

Then we need to download openssl. By the time the latest version of openSSL does not appear in directly openSSL downloads. Therefore, we need to fetch it from archive.  

Archive page:https://openssl-library.org/source/old/1.1.1/index.html

  1.  Fetch the tarball: wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
  2. Unpack the tarball with tar -zxf openssl-1.1.1g.tar.gz && cd openssl-1.1.1g
  3. Issue the command ./config.
  4. Issue the command make (You may need to run sudo apt install make gcc before running this command successfully).
  5. Run make test to check for possible errors.
  6. Backup current openssl binary: sudo mv /usr/bin/openssl ~/tmp
  7. Issue the command sudo make install.
  8. Create symbolic link from newly install binary to the default location:
  9. sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
    

  10. Run the command sudo ldconfig to update symlinks and rebuild the library cache.

Assuming that there were no errors in executing steps 4 through 10, you should have successfully installed the new version of OpenSSL.

Again, from the terminal issue the command to verify the installation:

openssl version


Thursday, December 28, 2023

කරුණාදාසගේ උකස් කොලේ CHORDS

Lyrics and Vocal- Shanaka Udara
Sub vocal- Nuwan Dharshana Weerakoon
Music - Shayan Vimukthi Panda Six
Video production - Art Armory productions
Guitar- Deshanka Weerasooriya

Karunadasage Ukaskole - Shanaka Udara Mp3 Download

C                         
කරුණාදාසගේ සාක්කුවේ

F                    Am
ගැඹුරේ තිබු ඒ උකස් කොලේ

Dm                                       G
හුඟක්ම දාඩියටයි තෙත්වෙන්නේ...

Dm                       G            C              
අව්වේ සැරටම ආයෙත් වේලෙන්නේ...


C
කරුණාදාසගේ උකස් කොලේ

F
පහේ කාසි යට තෙරපෙන්නේ

Am                                      G
තෙරපී තෙරපී මිරිකී යට යන්නේ...

Dm                              G                          C     
ඉරුණොත් අම්මපා මොන දෙයියද දන්නේ...


C
පොඩි එකීට ඇස්ටෝන්

Am
ලඟ ලඟ දන්නැද්දෝ

Dm
ලොකු කෙලීට ලැප්ටොප්

C
ඔලු පොලේ ගහන්න වෙන්නැද්දෝ...


C                                                     Dm
යකඩ ඉන්නටයි පොක්කලන් කැඩුණේ

Am
පාරේ වලවල්වලයි ජීවිතේ ගෙවුණේ

Dm                                                    G
පඩියම ඉවරයි ණය ටිකයි ගෙවුණේ

G
අන්තිමේ කසාද මුද්දටත් කෙලියේ

C                                          Dm
බෝතල් පිරිච්ච රාක්ක එහෙමත්

Am
කරුණාදාසට හිනාවෙයි කොහොමත්

Dm
කොහොමනමුත් එක උගුරයි මොන කාලත්
C                   G
සංතෝසය තිබුණේ...


C
සෑහෙන්න බෑ මූට
Am
පෑහෙන්නෙ පාරමයි

Am                      D
රෑ වෙන්න වෙන්න තව

Am
ස්පාත් කතාකරයි...


C
වේලෙන්නෙ වැස්සටයි

පාරෙ වතුරෙන් එකයි
Am
දාසගේ රස්සාව


එහෙම්මම වතුරේ යයි...


C                      Am
තිබුණානම්... වඩයක්වත්...//


C
ගොනා ඇන්නේ දාසගේ ගෑනිට බන්

F
වැටෙන්න ගහකුත් නෑ ඌට දැන්
Am                                    G
අතහැරියේ ඌ හීනයි පොදි ගණන්...

                                                                       C
හිටිගමන් පිස්සා දුවයි කෝච්චිය ලඟම ලඟ‍යි...


C
උකස් කොලේ කාපුදෙන් යකඩ යකා

Am                                    F
හිතන් දාස රේල් පාරේ දිගා උනා

Dm                                                         G
ලඟ එන කෝච්චිය පොඩි දුව මතක් කරා
Dm                                                          C
දාසගේ ඔලුවේ බර බෙල්ලත් එක්ක ගියා...

Dm                                                           C
උකස් කොල දහස් ගණන් උගේ බෙල්ල උඩින් ගියා...

Tuesday, October 4, 2022

 

EKS change ownership of cluster.

Issue:
Your current user or role does not have access to Kubernetes objects on this EKS cluster

This may be due to the current user or role not having Kubernetes RBAC permissions to describe cluster resources or not having an entry in the cluster’s auth config map.

Root Cause:
When an EKS cluster created by an IAM user, the auth config map only recorded by that specific IAM user name. In such kind of scenario any other IAM user will not be able, read, write cluster properties even the account administrator.

Best practice:
AWS EKS best practice is the using separate IAM user/role to create or operate clusters to avoid such kind of scenarios.

Fix:


Please note that, you should have AWS administrator access to perform this.

Step 1: Get cluster creation role.

Either, we should know the cluster creation role or it should be retrieved by aws internal-control-plane. But none of AWS user do not have permission for this, hence, we have to get AWS technical support for this action.

Step 2: Generate new access key for cluster owner.

Please note that, this can be done only if cluster owner still exist in AWS IAM accounts,
Otherwise, create a new IAM user with the same name and proceed to next steps.

Goto AWS IAM service and select the cluster owner. Then select “Security Credentials tab“ below over there create new access key.

Step 3: Define cluster owner access ID to aws cli.

Edit ~/.aws/credentials file and include cluster owner programmatic access credentials over there.
First, backup your credentials as another profile and add cluster owner credentials as default.

Step 4: Verify active user.

aws sts get-caller-identity

Output should be like this, you should get the cluster owner arn in the ARN field :

{

"UserId": "AIDAQDUJLDNY5HP6BVNL5",

"Account": "007804230513",

"Arn": "arn:aws:iam::007804230513:user/kavishka"

}

Step 5: Change to kubeconfig to related cluster.

You need to update cluster config to the related cluster. In order to do that change name and region in following command.

aws eks update-kubeconfig --name bahasanlp --region ap-southeast-1

Step 6: Verify the cluster and nodes.

kubectl get nodes

Sample output:
NAME STATUS ROLES AGE VERSION

ip-192-168-17-164.ap-southeast-1.compute.internal Ready <none> 28d v1.19.6-eks-49a6c0

ip-192-168-182-188.ap-southeast-1.compute.internal Ready <none> 76d v1.19.6-eks-49a6c0

Step 7: Change the owner to the current user.

In following command define the cluster name, region and user arn of new user accordingly and execute the command.

eksctl create iamidentitymapping --cluster bahasanlp --region=ap-southeast-1 --arn arn:aws:iam::007804230513:user/kavishka --group system:masters --username admin

Step 8: Revert back aws auth config.

Edit ~/.aws/credentials file again and remove previous cluster owner credentials.

Step 9: Verify active user.

aws sts get-caller-identity

Output should be like this, you should get the cluster owner arn in the ARN field :

{

"UserId": "AIDAQDUJLDNY5HP6BVNL5",

"Account": "007804230513",

"Arn": "arn:aws:iam::007804230513:user/kavishka"

}

Step 6: Verify the access cluster and nodes.

kubectl describe cm aws-auth -n kube-system
If you have change the cluster owner successfully, the output must be like following,

Name: aws-auth
Namespace: kube-system
Labels: <none>
Annotations: <none>

Data

mapRoles:

  • groups:

    • system:bootstrappers

    • system:nodes
      rolearn: arn:aws:iam::007804230513:role/eksctl-airflow-nodegroup-workers-NodeInstanceRole-74NMVN4R9NC2
      username: system:node:{{EC2PrivateDNSName}}

mapUsers:

  • groups:

    • system:masters
      userarn: arn:aws:iam::007804230513:user/kavishka
      username: admin

Events: <none>


 

Thursday, May 12, 2022

Setup username-token authentication for Gradle

 

What is github authentication?


Well as it sounds, github authentication is used for accessing github resources(repositories/registries). 

Also github offering various kind of authentication methods to authenticate a resource. You have to use one of them in most cases and unless the resources is not public.

Let’s have a look on authentication methods in github.
  • username - password authentication
  • ssh authentication
  • Token authentication 
  • SSO authentication

why we need token authentication for github?


So as we discussed there are few authentication methods in github. But, why we need token authentication with gradle?

The simplest answer is to access to github registry packages

In gradle, it is not supported to ssh or sso authentication. So we have to choose user-pass authentication or token authentication,
Under the best practices and security reasons best option is using token authentication.

Setting up Token authentication in github and gradle


Github:
  1. Verify your email address, if it hasn't been verified yet.
  2. In the upper-right corner of any page, click your profile photo, then click Settings.
  1. In the left sidebar, click Developer settings.

  1. Click Generate new token.
  1. Give your token a descriptive name.
  2. Select the scopes, or permissions, you'd like to grant this token. To use your token to access repositories from the command line, select repo.
  1. Click Generate token.
Setting up github token with gradle

To use github token in gradle you need to add it to gradle global properties

The global properties file should be located in your home directory:
  • On Windows: C:\Users\<you>\.gradle\gradle.properties
  • On Mac/Linux: /Users/<you>/.gradle/gradle.properties

Replace youre username and Token.

USERNAME="Your username"
TOKEN="Your password"


Now try to build your favorite gradle project.


AWS Firewall Manager

 

AWS Firewall Manager is a security management service which allows you to centrally configure and manage firewall rules across your accounts and applications in AWS Organizations. As new applications are created, Firewall Manager makes it easy to bring new applications and resources into compliance by enforcing a common set of security rules. Now you have a single service to build firewall rules, create security policies, and enforce them in a consistent, hierarchical manner across your entire infrastructure, from a central administrator account.
Using AWS Firewall Manager, you can easily roll out AWS WAF rules for your Application Load Balancers, API Gateways, and Amazon CloudFront distributions. You can create AWS Shield Advanced protections for your Application Load Balancers, ELB Classic Load Balancers, Elastic IP Addresses and CloudFront distributions. You can also configure new Amazon Virtual Private Cloud (VPC) security groups and audit any existing VPC security groups for your Amazon EC2, Application Load Balancer (ALB) and ENI resource types. You can deploy AWS Network Firewalls across accounts and VPCs in your organization. Finally, with AWS Firewall Manager, you can also associate your VPCs with Amazon Route 53 Resolvers DNS Firewall rules.


Benefits


Firewall Manager provides these benefits:
  • Helps to protect resources across accounts
  • Helps to protect all resources of a particular type, such as all Amazon CloudFront distributions
  • Helps to protect all resources with specific tags
  • Automatically adds protection to resources that are added to your account
  • Allows you to subscribe all member accounts in an AWS Organizations organization to AWS Shield Advanced, and automatically subscribes new in-scope accounts that join the organization
  • Allows you to apply security group rules to all member accounts or specific subsets of accounts in an AWS Organizations organization, and automatically applies the rules to new in-scope accounts that join the organization
  • Lets you use your own rules, or purchase managed rules from AWS Marketplace
Firewall Manager is particularly useful when you want to protect your entire organization rather than a small number of specific accounts and resources, or if you frequently add new resources that you want to protect. Firewall Manager also provides centralized monitoring of DDoS attacks across your organization.

AWS Firewall Manager handles five types of protection policies - AWS WAF, AWS Shield Advanced, Amazon VPC security groups, AWS Network Firewall, and Amazon Route 53 Resolver DNS Firewall. AWS Firewall Manager protection policies are priced with a monthly fee per region (prorated hourly).


For AWS Network Firewall protection policies, AWS Firewall Manager has these main pricing components:
  • AWS Firewall Manager protection policy - Monthly fee per Region.
  • AWS Network Firewall endpoints - Those created by Firewall Manager will be charged based on current pricing. For more details, see AWS Network Firewall pricing.
  • AWS Config Rules - Those rules created by Firewall Manager to monitor changes in resource configurations are charged based on current pricing. For more details, see AWS Config pricing.
You only pay for what you use, as you use it; there are no minimum fees and no upfront commitments


For AWS WAF protection policies, AWS Firewall Manager has these main pricing components:
  • AWS Firewall Manager protection policy - Monthly fee per Region.
  • AWS WAF WebACLs or Rules - Those created by Firewall Manager will be charged based on current pricing. For more details, see AWS WAF pricing.
  • AWS Config Rules - Those rules created by Firewall Manager to monitor changes in resource configurations are charged based on current pricing. For more details, see AWS Config pricing.
If you are an AWS Shield Advanced customer:
For AWS Shield Advanced customers, AWS Firewall Manager protection policy is included at no additional charge. Shield Advanced customers will be charged for the AWS Config rules created to monitor any changes in resource configurations. For more details, check the AWS Shield pricing and AWS Config pricing.

AWS Shield protection policies can be created using AWS Firewall Manager only for Shield Advanced users. The price is included in the AWS Shield Advanced subscription at no additional cost. In addition, the pricing components are as follows:
• AWS Shield Advanced Data Transfer Out Usage Fees: For more details, see AWS Shield pricing
• AWS Config Rules - Those rules created by Firewall Manager to monitor changes in resource configurations are charged based on current pricing. For more details, see AWS Config pricing


For Amazon VPC security group protection policies, AWS Firewall Manager has these main pricing components:
• AWS Firewall Manager protection policy - Monthly fee per Region.
• AWS Config Rules - Those rules created by Firewall Manager to monitor changes in resource configurations are charged based on current pricing. For more details, see AWS Config pricing.
You only pay for what you use, as you use it; there are no minimum fees and no upfront commitments.

For Amazon Route 53 Resolver DNS Firewall protection policies, AWS Firewall Manager has these main pricing components:
  • AWS Firewall Manager protection policy - Monthly fee per Region.
  • Route 53 Resolver DNS Firewall charges- Rule groups created by Firewall Manager will be charged based on current pricing. For more details, see Route 53 Resolver DNS Firewall pricing.
  • AWS Config Rules - Those rules created by Firewall Manager to monitor changes in resource configurations are charged based on current pricing. For more details, see AWS Config pricing.
You only pay for what you use, as you use it; there are no minimum fees and no upfront commitments.


AWS Firewall Manager pricing for customers


AWS Network Firewall protection policy

All public regions


AWS WAF protection policy

All public regions
$100.00 per policy per Region
Global (Amazon CloudFront locations)
$100.00 per policy per Region


AWS Shield Advanced protection policy

All public regions
Included for Shield Advanced customers. No charge per policy per Region
Global (Amazon CloudFront locations)
Included for Shield Advanced customers. No charge per policy per Region
  • AWS WAF WebACLs or Rules created by Firewall Manager - Included. No additional charge.
  • AWS Config rules created by Firewall Manager - See AWS Config pricing
  • AWS Shield Advanced - See AWS Shield pricing


Amazon VPC security group protection policy

All public regions


Amazon Route 53 Resolver DNS Firewall protection policy

All public regions


AWS Firewall Manager prerequisites


This topic shows you how to get ready to administer AWS Firewall Manager. You use one Firewall Manager administrator account to manage all Firewall Manager security policies for your organization in AWS Organizations. Except where noted, perform the prerequisite steps using the account that you will use as the Firewall Manager administrator.
Before you use Firewall Manager for the first time, perform the following steps in sequence.
Topics
After you follow these steps, you can configure Firewall Manager to begin protecting your resources. For more information, see Getting started with AWS Firewall Manager AWS WAF policies.

Step 1: Join and configure AWS Organizations


To use Firewall Manager, your account must be a member of the organization in the AWS Organizations service where you want to use your Firewall Manager policies.
Note
For information about Organizations, see AWS Organizations User Guide.

To establish the required AWS Organizations membership and configuration
  1. Choose an account to use as the Firewall Manager administrator for the organization in Organizations.
  2. If your chosen account isn't already a member of the organization, have it join. Follow the guidance at Inviting an AWS account to join your organization.
  3. AWS Organizations has two available feature sets: consolidated billing features and all features. To use Firewall Manager, your organization must be enabled for all features. If your organization is configured only for consolidated billing, follow the guidance at Enabling All Features in Your Organization.

Step 2: Set the AWS Firewall Manager administrator account


This procedure uses the account and organization that you chose and configured in the preceding step.
When you set the Firewall Manager administrator account, Firewall Manager automatically sets it as the AWS Organizations Delegated Administrator for Firewall Manager. This allows Firewall Manager to access information about the organizational units (OUs). You can use OUs to specify the scope of your Firewall Manager policies. For more information about setting policy scope, see the guidance for the individual policy types under Creating an AWS Firewall Manager policy. For more information about Organizations and management accounts, see Managing the AWS Accounts in Your Organization.
To set the Firewall Manager administrator account
  1. Sign in to the AWS Management Console using an existing AWS Organizations management account. You can sign in using the account's root user (not recommended) or another IAM user or IAM role within the account that has equivalent permissions.
  2. Open the Firewall Manager console at https://console.aws.amazon.com/wafv2/fmsv2
.
Choose Get started.
Type the ID of the account that you've chosen to use as the Firewall Manager administrator.
Note
This account is given permission to create and manage Firewall Manager policies across all accounts within your organization.
Choose Set administrator.

Step 3: Enable AWS Config


To use Firewall Manager, you must enable AWS Config.
Note
You incur charges for your AWS Config settings, according to AWS Config pricing. For more information, see Getting Started with AWS Config.
To enable AWS Config for Firewall Manager
  1. Enable AWS Config for each of your AWS Organizations member accounts, including the Firewall Manager administrator account. For more information, see Getting Started with AWS Config.
  2. Enable AWS Config for each AWS Region that contains the resources that you want to protect. You can enable AWS Config manually, or you can use the AWS CloudFormation template "Enable AWS Config" at AWS CloudFormation StackSets Sample Templates.
  3. If you don't want to enable AWS Config for all resources, then you must enable the following according to the type of Firewall Manager policies that you use:
    • WAF policy – Enable Config for the resource types CloudFront Distribution, Application Load Balancer (choose ElasticLoadBalancingV2 from the list), API Gateway, WAF WebACL, WAF Regional WebACL, and WAFv2 WebACL. To enable AWS Config to protect a CloudFront distribution, you must be in the US East (N. Virginia) Region. Other Regions don't have CloudFront as an option.
    • Shield policy – Enable Config for the resource types Shield Protection, ShieldRegional Protection, Application Load Balancer, EC2 EIP, WAF WebACL, WAF Regional WebACL, and WAFv2 WebACL.
    • Security group policy – Enable Config for the resource types EC2 SecurityGroup, EC2 Instance, and EC2 NetworkInterface.
    • Network Firewall policy – Enable Config for the resource types NetworkFirewall FirewallPolicy, NetworkFirewall RuleGroup, EC2 VPC, EC2 InternetGateway, EC2 RouteTable, and EC2 Subnet.
    • DNS Firewall policy – Enable Config for the resource types DNSFirewall RuleGroup and EC2 VPC.


Step 4: For Network Firewall and DNS Firewall policies, enable resource sharing


To manage Firewall Manager Network Firewall and DNS Firewall policies, you must enable sharing with AWS Organizations in AWS Resource Access Manager. This allows Firewall Manager to deploy protections across your accounts when you create these policy types.
To enable sharing with AWS Organizations in AWS Resource Access Manager
If you run into problems with resource sharing, see the guidance at Resource sharing for Network Firewall and DNS Firewall policies.

Step 5: To use AWS Firewall Manager in Regions that are disabled by default


To use Firewall Manager in a Region that's disabled by default, you must enable the Region for both the management account of your AWS organization and the Firewall Manager administrator account.
For information about Regions that are disabled by default and how to enable them, see Managing AWS Regions in the AWS General Reference.
To enable a disabled Region
  • For both the Organizations management account and the Firewall Manager administrator account, follow the guidance at Enabling a Region in the AWS General Reference.


Managing the AWS Firewall Manager administrator


You use your Firewall Manager administrator account to manage your Firewall Manager policies. When you set the Firewall Manager administrator account, Firewall Manager automatically sets it as the AWS Organizations Delegated Administrator for Firewall Manager. This allows Firewall Manager to access information about the organizational units (OUs) that you use to specify the scope of your Firewall Manager policies. For more information about Organizations and management accounts, see Managing the AWS Accounts in Your Organization.
To begin using Firewall Manager, you set up your Firewall Manager administrator account and perform other required steps. To do this, follow the guidance under AWS Firewall Manager prerequisites.
This topic provides information and guidance for managing your existing administrator account.
Required settings for the Firewall Manager administrator
The Firewall Manager administrator account must have the following settings:
  • It must be a member of the organization in AWS Organizations where you want to apply your Firewall Manager policies.
  • It must be designated as the Firewall Manager administrator by the Organizations management account for the organization.


Update openSSL to latest 1.1.1 version (1.1.1w)

  By the time(2024) one our system use this old OpenSSL version 1.1.1g and we are going to update it to latest version of 1.1.1 openSSL v...