728x90
728x90
IP와 Port
- IP(Internet Protocol)
- IP는 컴퓨터 네트워크에서 통신에 사용되는 프로토콜
- 네트워크에 연결된 각 기기를 식별하는 데 사용
- IPv4, IPv6 주소 형식을 주로 사용
- 포트 (Port)
- 컴퓨터 내에서 특정 프로세스나 서비스를 식별하는 데 사용
- 네트워크 통신은 송신자와 수신자 간의 IP 주소뿐만 아니라 포트 번호도 포함하여 이루어짐
- 포트 번호는 0에서 65535까지의 범위
- Well-known ports: 0에서 1023번까지의 포트로, 널리 알려진 서비스가 할당
- HTTP (포트 80), HTTPS (포트 443), SSH(포트 22)
- Registered ports: 1024에서 49151번까지의 포트로, 등록된 서비스가 할당
- Dynamic or private ports: 49152에서 65535번까지의 포트로, 일반적으로 클라이언트 프로그램이 사용
내부 IP와 외부 IP
- 내부 IP
- 로컬 네트워크 내에서 사용되는 IP 주소
- 로컬 네트워크에 연결된 각 기기에 할당
- 일반적으로 로컬 네트워크에만 유효하며, 외부 네트워크(인터넷)에서는 직접적으로 접근할 수 없음
- 내부 IP 주소 범위
- 10.0.0.0 ~ 10.255.255.255 (CIDR: 10.0.0.0/8)
- 172.16.0.0 ~ 172.31.255.255 (CIDR: 172.16.0.0/12)
- 192.168.0.0 ~ 192.168.255.255 (CIDR: 192.168.0.0/16)
- 외부 IP (External IP 또는 Public IP):
- 인터넷에 연결된 각 기기에 할당되는 고유한 IP 주소
- 인터넷을 통해 기기에 접근할 때 사용
- 인터넷 서비스 제공업체(ISP)에 의해 할당되며, 공개적으로 접근 가능
- 외부 IP 주소는 ISP에 따라 다를 수 있음
즉, 내부 IP는 로컬 네트워크 내에서 통신에 사용되고, 외부 IP는 인터넷 통신에 사용!
ifconfig
네트워크 인터페이스의 상태를 보여주고, 해당 인터페이스에 할당된 IP 주소를 확인하는 데 사용
ifconfig
netstat
- 네트워크 연결 및 라우팅 테이블을 보여주는 데 사용
- 특히, 현재 시스템에서 수신 및 송신되는 네트워크 연결의 상태와 포트를 확인하는 데 유용
- -t: TCP 연결 정보 표시
- -u: UDP 연결 정보 표시
- -a: 모든 연결 정보 표시
- -l: 리스닝 상태인 소켓만 표시
- -n: 숫자로 표시 (호스트 이름을 숫자로 변환하지 않고 IP 주소 자체를 출력)
# 모든 연결 및 포트 확인
netstat -tuln
# 리스닝 상태인 TCP 포트 표시
netstat -tln
# 모든 TCP 연결 표시
netstat -tan
# 특정 프로토콜에 대한 연결 및 포트 확인 (예: TCP)
netstat -tuln | grep "tcp" # grep: 주어진 텍스트에서 패턴과 일치하는 행을 검색
# 특정 포트를 사용하는 연결 확인 (예: 포트 80):
netstat -tuln | grep ":80"
UFW(Uncomplicated Firewall)
- Ubuntu 및 기타 Debian 계열의 Linux 시스템에서 사용되는 간단한 방화벽 구성 도구
- 즉, Ubuntu에서 기본적으로 제공하는 방화벽 툴
- iptables를 기반으로 하지만 iptables보다 사용하기 쉽고 직관적
- ufw를 사용하면 네트워크 트래픽을 제어하고 방화벽 규칙을 설정 가능
- 기본적으로 모든 인바운드 연결을 차단하고, 모든 아웃바운드 연결을 허용하는 정책
- 즉, 새로운 UFW 설치 후에는 모든 네트워크 트래픽이 거부
- sudo ufw enable: 방화벽을 활성화합니다.
- sudo ufw disable: 방화벽을 비활성화합니다.
- sudo ufw allow 포트번호: 지정된 포트로의 연결을 허용합니다.
- sudo ufw deny 포트번호: 지정된 포트로의 연결을 차단합니다.
- sudo ufw allow 서비스명: 지정된 서비스로의 연결을 허용합니다.
- sudo ufw deny 서비스명: 지정된 서비스로의 연결을 차단합니다.
- sudo ufw status: 현재 방화벽 규칙의 상태를 표시합니다.
sudo ufw allow 80/tcp # HTTP 서비스 허용
sudo ufw allow 22/tcp # SSH 서비스 허용
sudo ufw allow from 192.168.0.100 # 특정 IP 주소(예: 192.168.0.100)로부터의 모든 연결을 허용
모든 ip접근을 막았을 때 변화
- 외부로의 접근 제한:
- 외부에서 시스템에 SSH, HTTP, HTTPS 등과 같은 서비스에 접근할 수 없습니다.
- 외부에서의 ICMP 패킷을 통한 ping과 같은 네트워크 도구를 사용하여 시스템에 대한 연결 상태를 확인할 수 없습니다.
- 로컬 서비스 접근에는 영향이 없음:
- 로컬에서 실행 중인 서비스에는 영향이 없습니다. 즉, 시스템 내부에서 서비스에 접근할 수는 있습니다.
- 시스템 자체는 정상 작동:
- ufw가 모든 외부 접근을 차단하는 것이지만, 시스템 자체는 정상적으로 작동합니다. 외부 서비스에 의존하지 않는 서버의 경우에는 이러한 설정을 적용할 수 있습니다.
- 보안 강화:
- 모든 IP 접근을 막음으로써 시스템의 보안이 강화됩니다. 외부에서의 공격이나 불법적인 접근을 막을 수 있습니다.
22번 포트 접근 막았을 때 변화
22번 포트는 SSH 서비스에 사용되는 기본 포트
- SSH 접근 불가능:
- 외부에서 SSH 클라이언트를 사용하여 시스템에 접속할 수 없습니다. SSH 클라이언트는 22번 포트를 통해 SSH 서버와 통신하므로 해당 포트에 대한 접근이 차단되면 원격으로 시스템에 접속할 수 없습니다.
- 원격 관리 제한:
- SSH를 사용하여 원격으로 시스템을 관리하던 경우, 해당 방법이 더 이상 작동하지 않습니다. 원격으로 시스템에 접속하여 파일을 전송하거나 명령을 실행할 수 없게 됩니다.
- 보안 강화:
- SSH 포트를 차단함으로써 시스템의 보안이 강화됩니다. 공격자는 SSH를 통해 시스템에 액세스하는 시도를 차단되어 시스템 보안이 더욱 향상됩니다.
- 다른 포트 사용 가능:
- SSH 서비스를 사용할 수 있도록 하려면 다른 포트를 사용하여 SSH 서비스를 구성해야 합니다. 그러나 보안상의 이유로 다른 포트를 사용할 때에도 안전한 비밀번호 및 키 인증 방법을 사용하는 것이 좋습니다.
728x90
300x250
'Linux' 카테고리의 다른 글
심볼릭 링크(Symbolic Link) (0) | 2024.02.25 |
---|---|
SSH (Secure Shell), NC (Netcat) (1) | 2024.02.25 |
VIM과 shell script (1) | 2024.02.24 |
Permission of Linux (0) | 2024.02.23 |
Ubuntu 운영체제의 패키지 (0) | 2024.02.22 |