Rocky Linux와 같은 리눅스 배포판에서 firewalld와 iptables는 모두 방화벽을 관리하는 도구이지만, 그 작동 방식과 관리 방법에 차이가 있습니다. 두 도구는 주로 네트워크 트래픽을 필터링하고 방화벽 규칙을 설정하는 데 사용됩니다.

 

1. firewalld

  • 동적 방화벽 관리 도구로, 시스템이 동작 중일 때도 방화벽 규칙을 즉시 적용할 수 있습니다. 이를 통해 연결을 끊거나 네트워크 서비스에 영향을 주지 않고도 방화벽 규칙을 수정할 수 있습니다.
  • firewalld는 영역(zone) 개념을 도입하여 네트워크 인터페이스를 다양한 보안 수준으로 그룹화할 수 있습니다. 각 영역에는 다른 방화벽 규칙 세트가 적용될 수 있습니다.
  • 설정 파일이 XML 형식으로 구성되어 있으며, 명령어는 직관적입니다.
  • 추상화 레이어를 제공하여 고급 설정을 보다 쉽게 관리할 수 있습니다.
  • 주로 nftables 백엔드를 사용합니다. 이는 iptables와 유사한 역할을 하지만 더 최신의 방화벽 기술입니다.

장점:

  • 동적인 설정 변경이 가능.
  • 직관적인 영역 기반 관리.
  • 복잡한 설정을 간단하게 할 수 있음.

2. iptables

  • 전통적인 방화벽 도구로, 네트워크 패킷 필터링을 위한 명령 줄 도구입니다.
  • iptables는 statelessstateful 패킷 필터링을 지원합니다.
  • 규칙을 설정할 때 실시간으로 즉각 적용이 가능하지만, 규칙을 수정하려면 보통 전체 규칙 세트를 다시 로드해야 합니다.
  • 사전 정의된 체인과 테이블을 사용하여 트래픽을 필터링합니다. 체인은 INPUT, FORWARD, OUTPUT 등이고, 테이블은 필터, NAT, Mangle 등으로 나뉩니다.
  • iptables는 리눅스 방화벽 관리에서 오랫동안 표준으로 사용되어 왔지만, 최근에는 nftables로 대체되고 있습니다.

장점:

  • 고도로 세밀한 설정 가능.
  • 방화벽의 동작 방식을 매우 구체적으로 제어할 수 있음.
  • 오랜 시간 동안 많은 리눅스 배포판에서 사용되어 온 안정적인 도구.

주요 차이점

  • 관리 방식: firewalld는 iptables보다 더 높은 수준의 추상화와 유연한 관리 인터페이스를 제공합니다. 반면, iptables는 더 세밀하고 구체적인 제어가 가능하지만, 설정이 복잡할 수 있습니다.
  • 동적 vs 정적: firewalld는 시스템을 재시작하거나 네트워크 연결을 끊지 않고도 규칙을 실시간으로 변경할 수 있습니다. iptables는 규칙을 변경할 때 일부 영향을 미칠 수 있습니다.
  • 백엔드: firewalld는 최신 리눅스 배포판에서 nftables를 기본 백엔드로 사용하지만, iptables는 오래된 방화벽 관리 도구로 iptables 프레임워크 자체를 사용합니다.

따라서, 보다 간편하고 동적인 방화벽 관리를 원한다면 firewalld를, 더 세밀한 규칙 제어를 원한다면 iptables를 사용할 수 있습니다.

 

 

라고 Chat GPT 에서 얘기해준다.,

 

기존 Centos 에서 iptables로 방화벽 관리를 주로 했었는데,

Rocky Linux 에서는 firewalld를 사용해서 방화벽 관리를 하고 있다.

 

커맨드 라인으로 일일이 추가/관리하는게 번거로워서..

 

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>gitlab</short>
  <description>Grafana is an open platform for beautiful analytics and monitoring</description>
  <port protocol="tcp" port="4963"/>
  <port protocol="tcp" port="4922"/>
</service>

/usr/lib/firewalld/services/gitlab.xml

 

이렇게 서비스 파일을 만들고,

 

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <service name="logstash"/>
  <service name="kibana"/>
  <service name="grafana"/>
  <service name="elasticsearch"/>
  <service name="prometheus"/>
  <service name="sonarqube"/>
  <service name="registry"/>
  <service name="gitlab"/>
</zone>

/etc/firewalld/zones/public.xml

 

여기에 서비스를 등록한다.

 

그리고 나서,

 

sudo systemctl start firewalld

 

자동재시작 등록은

sudo systemctl enable firewalld

서울 강남 집 잔금을 치루고 5개월 정도 흐른 시점에,

한국부동산원에서 보낸 등기가 집에 도착을 했다.

 

이름만 들어도 불길한 그런 등기였는데,

내용을 보니 집을 어떻게 구매하게 되었는지에 대한 소명자료였다.

 

뭐, 탈세해서 집을 구매한 건 아니니까, 

사실대로 적으면 되긴한데,

그 적는 과정이 귀찮기도 하고, 혹시 잘못적으면 국세청 조사가 나오는게 아닐까 걱정도 되었다.

 

투기지역 매수할 때 적어서 내는,

주택취득자금 조달 및 입주계획서와 비슷해서 

매수할때 조달 계획서를 잘 적었다면 거의 그대로 적으면 된다.

 

 

 

어려운건 없으니 부동산 계약서를 보면서 하나씩 적으면 된다.

"공동명의" 인 경우 따로 따로 작성을 해야 한다. (이건 등기도 따로 따로 옴)

 

 

 

집을 매수할때 치른 자금에 대해서 그 출처를 기입한다. (그 돈 어디서 났어?)

나의 경우에는 예금을 나에게 몰았고,

배우자는 예금, 대출, 세입자 전세금을 넣었다.

 

예) 

<공동명의1>

[금융기관 예금액]

총 금액 : 470,000,000 (4억 7천)

 

날짜 : 2024. 08. 01 

금액 : 340,000,000 (3억 4천)

거래기관명 : 국민은행

 

날짜 : 2024. 08. 01 

금액 : 130,000,000 (1억 3천)

거래기관명 : 신한은행

 

합계 : 4억 7천

 

<공동명의2>

[금융기관 예금액]

총 금액 : 470,000,000 (4억 7천)

 

날짜 : 2024. 08. 01 

금액 : 470,000,000 (4억 7천)

거래기관명 : 국민은행

 

금융기관 대출액 - 담보대출

총 금액 : 470,000,000 (4억 7천)

날짜 : 2024. 09. 20 

금액 : 470,000,000

거래기관명 : 신한은행

 

임대보증금

총 금액 : 500,000,000 (5억)

날짜 : 기존 임대차 계약 승계 (전세 승계)

 

합계 : 14억 4천

 

 

 

실제 집을 매수했을 때,

지불했던 계약금, 중도금, 잔금을 나눠서 기입한다.

 

예)

 

<계약금>

총 금액: 1억2천 

 

일자 : 2024.05.01

거래금액 : 60,000,000 
거래방법 : 계좌이체

증빙자료 : 거래내역서 (국민은행)

 

일자 : 2024.05.01

거래금액 : 60,000,000 
거래방법 : 수표지급

증빙자료 : 수표 출금내역 (국민은행)

 

 

<중도금>

총 금액: 4억6천 

 

일자 : 2024.06.01

거래금액 : 100,000,000 
거래방법 : 계좌이체

증빙자료 : 거래내역서 (국민은행)

 

일자 : 2024.06.01

거래금액 : 100,000,000 
거래방법 : 계좌이체 

증빙자료 : 거래내역서 (국민은행)

 

 

 

 

이런식으로 공동명의의 경우 따로 따로 작성을 한다.

총 합이 그 집을 매수하는데 들어간 비용으로 맞아 떨어져서 나오면 된다.

 

중요한 것은, 

그 집을 사는데 돈이 어디에 있어서 어떻게 지급을 했는지가 여부이므로,

돈이 어디에 얼마가 있었는데,

그 돈으로 계약금, 중도금, 잔금을 이렇게 이체를 했다.

그 증거는 여기 여기 여기에 첨부를 했다.

또는,

내가 살 집은 아니고 전세를 놓을 집이니,

부족한 이 금액만큼은 기존 전세금으로 충당을 할꺼고,

요 금액은 부족하니 은행에서 대출을 받았다.

 

요렇게 정리가 되면 된다.

 

 

Tip)

집을 매수할때 이리저리 은행 계좌를 활용하지 마시고,

가급적이면 생활비 통장말고, 잘 사용하지 않는 계좌,

하나로 계좌로 몰아서 하시길 바랍니다.

그래야 자료 내는데 쉽습니다.

 

공동명의의 경우, 한 사람 명의로 돈을 모으면 안되는 경우도 있습니다.

부부는 6억까지 증여공제가 가능하므로 (10년)..

매수금액이 큰 경우는 잘 계산해서 해야 합니다.

되도록이면 남편 50% 배우자 50% 로 잘 조율해서 내는게 좋겠죠...

 

 

 

 

 

AWS MFA 설정 강제

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:GetAccessKeyLastUsed"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSigningCertificates",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSigningCertificate",
                "iam:ListSigningCertificates",
                "iam:UpdateSigningCertificate",
                "iam:UploadSigningCertificate"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSSHPublicKeys",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSSHPublicKey",
                "iam:GetSSHPublicKey",
                "iam:ListSSHPublicKeys",
                "iam:UpdateSSHPublicKey",
                "iam:UploadSSHPublicKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnGitCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "iam:DeleteServiceSpecificCredential",
                "iam:ListServiceSpecificCredentials",
                "iam:ResetServiceSpecificCredential",
                "iam:UpdateServiceSpecificCredential"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:GetMFADevice",
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice",
                "sts:GetSessionToken",
                "iam:ChangePassword"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}

+ Recent posts