docs/journals/2023_02_20.md
2023-02-20 15:04:00 +01:00

6.6 KiB

  • English Lesson
  • Spotify #Software
  • https://github.com/alex/what-happens-when
    • Interview Frage zu was passiert wenn man google.com in den Browser eingibt.
      • Frage wird auf mehreren Leveln beantwortet.
  • Simplelogin
    • Use to create temporary email adresses collapsed:: true
      • https://github.com/simple-login/app
        • #  generate a private and public key for DKIM:
          openssl genrsa -out dkim.key 1024
          openssl rsa -in dkim.key -pubout -out dkim.pub.key
          
      • Set A-Record to IP of Oracle Instance 152.67.84.147 Cloud
      • Create MX-Record simplelogin.mexl.de
        • image.png
        • dig mexl.de mx
          
          ;; ANSWER SECTION:
          mexl.de.                18      IN      MX      10 simplelogin.mexl.de.
          
      • DKIM - TXT Record
        • sed "s/-----BEGIN PUBLIC KEY-----/v=DKIM1; k=rsa; p=/g" $(pwd)/dkim.pub.key | sed 's/-----END PUBLIC KEY-----//g' |tr -d '\n' | awk 1
          
          v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKMSgDGFeKXZgLyUI/paUXvWNhFywntJov4xR1bATzY35Ys1OX2yVPhAkGzAbMW3t792gw3RqfMDXsj7nydaz2zPzoW7w7qMGOJKpg/NFTdM2FUm0UZNeL+EazJqcgRthwqBYpebYbpUaKYK/ZtpQeN1HMKQqBs7RI+i4Hwp3+zQIDAQAB
          
        • image.png
        • dig @1.1.1.1 dkim._domainkey.mexl.de txt
          
          ;; ANSWER SECTION:
          dkim._domainkey.mexl.de. 150    IN      TXT     "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKMSgDGFeKXZgLyUI/paUXvWNhFywntJov4xR1bATzY35Ys1OX2yVPhAkGzAbMW3t792gw3RqfMDXsj7nydaz2zPzoW7w7qMGOJKpg/NFTdM2FUm0UZNeL+EazJqcgRthwqBYpebYbpUaKYK/ZtpQeN1HMKQqBs7RI+i4Hwp3+zQIDAQAB"
          
      • SPF - TXT Record collapsed:: true
        • mexl.de
          v=spf1 mx ~all
          
      • DMARC - TXT Record collapsed:: true
        • _dmarc.mexl.de
          v=DMARC1; p=quarantine; adkim=r; aspf=r
          
      • Create Docker network
        • sudo docker network create -d bridge \
              --subnet=10.0.0.0/24 \
              --gateway=10.0.0.1 \
              sl-network
          
      • Postgress
        • docker-compose.yml

          version: "3"
          services:
              sl-db:
                  image: postgres:12.1
                  container_name: sl-db
                  ports:
                      - "127.0.0.1:5432:5432"
                  volumes:
                      - ./sl/db:/var/lib/postgresql/data
                  environment:
                      - POSTGRES_PASSWORD=!oG3^fx!UMn%bazokfs9MSJoiD
                      - POSTGRES_USER=simplelogin
                      - POSTGRES_DB=simplelogin
                  restart: unless-stopped
          networks:
              default:
                  name: sl-network
                  external: true
          
        • Test postgres collapsed:: true

          • docker compose up -d
          • docker compose run sl-db psql -U simplelogin simplelogin
        • sudo apt-get install -y postfix postfix-pgsql -y

        • /etc/postfix/main.cf

          # POSTFIX config file, adapted for SimpleLogin
          smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
          biff = no
          
          # appending .domain is the MUA's job.
          append_dot_mydomain = no
          
          # Uncomment the next line to generate "delayed mail" warnings
          #delay_warning_time = 4h
          
          readme_directory = no
          
          # See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
          # fresh installs.
          compatibility_level = 2
          
          # TLS parameters
          smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
          smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
          smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
          smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
          smtp_tls_security_level = may
          smtpd_tls_security_level = may
          
          # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
          # information on enabling SSL in the smtp client.
          
          alias_maps = hash:/etc/aliases
          mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/24
          
          # Set your domain here
          mydestination =
          myhostname = simplelogin.mexl.de
          mydomain = mexl.de
          myorigin = mexl.de
          
          relay_domains = pgsql:/etc/postfix/pgsql-relay-domains.cf
          transport_maps = pgsql:/etc/postfix/pgsql-transport-maps.cf
          
          # HELO restrictions
          smtpd_delay_reject = yes
          smtpd_helo_required = yes
          smtpd_helo_restrictions =
              permit_mynetworks,
              reject_non_fqdn_helo_hostname,
              reject_invalid_helo_hostname,
              permit
          
          # Sender restrictions:
          smtpd_sender_restrictions =
              permit_mynetworks,
              reject_non_fqdn_sender,
              reject_unknown_sender_domain,
              permit
          
          # Recipient restrictions:
          smtpd_recipient_restrictions =
             reject_unauth_pipelining,
             reject_non_fqdn_recipient,
             reject_unknown_recipient_domain,
             permit_mynetworks,
             reject_unauth_destination,
             reject_rbl_client zen.spamhaus.org,
             reject_rbl_client bl.spamcop.net,
             permit
          
        • /etc/postfix/pgsql-relay-domains.cf

          # postgres config
          hosts = localhost
          user = simplelogin
          password = !oG3^fx!UMn%bazokfs9MSJoiD
          dbname = simplelogin
          
          query = SELECT domain FROM custom_domain WHERE domain='%s' AND verified=true
              UNION SELECT '%s' WHERE '%s' = 'mydomain.com' LIMIT 1;
          
        • /etc/postfix/pgsql-transport-maps.cf

          # postgres config
          hosts = localhost
          user = simplelogin
          password = !oG3^fx!UMn%bazokfs9MSJoiD
          dbname = simplelogin
          
          # forward to smtp:127.0.0.1:20381 for custom domain AND email domain
          query = SELECT 'smtp:127.0.0.1:20381' FROM custom_domain WHERE domain = '%s' AND verified=true
              UNION SELECT 'smtp:127.0.0.1:20381' WHERE '%s' = 'mydomain.com' LIMIT 1;