[2024.06.04]
[Dos/DDos]
01. 디스크 자원 고갈 공격
#vi disk.c
disk.c에 해당 화면을 입력해서 넣고
<컴파일>
#gcc -o disk disk.c
컴파일 후 ll을 입력하면 disk 파일이 생긴 걸 확인할 수 있다
해당 명령어로 공격을 시도하게 되면
다른 화면을 열어 확인했을 때 tempfile에서 숫자가 증가하는 걸 볼 수 있다
tempfile로 인해 디스크 공간이 부족할 수 있으므로 공격이 성공했다면 해당 파일을 삭제하면 된다
02. 메모리 자원 고갈 공격
#vi mem.c
mem 파일에 해당 명령어를 적어 넣어 주고 저장
해당 메모리 자원 고갈 공격은 Heap에 해당되며, 동적 구현이다
해당 메모리 파일도 컴파일 후 확인해 준다
./mem으로 공격하게 되면 메모리가 꽉 차게 되어 작동이 되지 않고 잠잠하다가
위의 화면은 공격 직후의 gnome-system-monitor 화면이며, 아무 변동이 없는 걸 확인할 수 있다
혼자 꺼진 후에 화면처럼 변동이 일어나는 걸 확인할 수 있다
03. 프로세스 다량 생성
#vi proc.c
proc 파일에 해당 화면의 내용을 기입하여 주고
컴파일 후 확인한다
컴파일 확인 후 공격을 시도하게 되면 작동되지 않아 화면이 멈춘 걸 확인할 수 있다
이 경우에는 나올 방법이 없어 리부팅을 시도해야 된다
=======================================================================================
[보안 솔루션]
01. 방화벽(Firewall)
1) iptables
2) firewalld
> 방화벽 작동 상태 확인(시스템 자체에서의 작동 상태 확인)
#systemctl status firewalld
> 방화벽 시작/재시작
#systemctl start/restart firewalld
> 방화벽 중지
#systemctl stop firewalld
> 부팅 시 자동 시작/활성화
#systemctl enble firewalld
> 부팅 시 자동 중지/비활성화
#systemctl disable firewalld
> 그래픽 모드 실행
#firewall-config <-- 방화벽이 실행되어 있어야 함
(CentOS7 자체에서 들어가려면 프로그램 -> 잡다 -> 방화벽을 클릭하면 된다)
> 방화벽 작동 상태 확인
#firewall-cmd --state
#firewall-cmd --list-all 명령어를 사용하게 되면,
방화벽에서 열려 있는 포트를 확인할 수 있다
방화벽을 열어 설정을 영구적으로 바꿔 준 다음 http를 설정해 주고,
옵션에서 firewalld 다시 불러오기를 눌러 주면 적용된다
방화벽 설정 확인 전체 명령어로 확인하면 http가 추가된 걸 볼 수 있다
마찬가지로 포트로 가서 21번 포트를 추가해 준 다음 적용시키고 확인하면,
화면에서 ports: 21/tcp가 추가된 걸 확인할 수 있다
> 방화벽 설정 확인(전체)
# firewall-cmd --list-all
> 방화벽 설정 확인(서비스)
# firewall-cmd --list-services
> 방화벽 설정 확인(포트)
# firewall-cmd --list-ports
> 영역 확인(전체)
#firewall-cmd --get-zones
> 영역 확인(전체 - 상세 정보)
# firewall-cmd --list-all-zones
> 디폴트 영역 확인
#firewall-cmd --get-default-zone
> 디폴트 영역을 'trusted' 영역으로 설정
#firewall-cmd --set-default-zone=trusted
> 특정 영역(public)에 대한 상세 정보
#firewall-cmd --info-zone=public
> 특정 서비스(http)에 대한 상세 정보
#firewall-cmd --info-service=http
==============================================================================
[영역 설명]
> block: 들어오는 모든 패킷 차단, 나가는 모든 패킷 허용
> dmz: SSH를 제외한 모든 패킷 차단, 나가는 모든 패킷 허용
> drop: 들어오는 모든 패킷 폐기
> extenal: SSH를 제외한 들어오는 모든 패킷 거부(Reject)
> home: SSH, dhcpv6, ipp-client, mdns, samba-client를 제외하고 들어오는 모든 패킷 거부(reject), 나가는 모든 패킷 허용
> internal: SSH, dhcpv6, ipp-client, mdns, samba-client를 제외하고 들어오는 모든 패킷 거부(reject), 나가는 모든 패킷 허용
> public: SSH를 제외한 들어오는 모든 패킷 거부(Reject), 나가는 모든 패킷 허용
> trusted: 들어오는 모든 패킷 허용, 나가는 모든 패킷 허용
> work: SSH, dhcpv6, ipp-client, samba-client를 제외하고 들어오는 모든 패킷 거부(reject), 나가는 모든 패킷 허용(accept)
drop: 패킷 차단 후 로그 등 남기지 않음
reject: 차단 후 로그나 메시지를 남김
==================================================================================
'네트워크 해킹' 카테고리의 다른 글
네트워크 해킹 15 (0) | 2024.06.14 |
---|---|
네트워크 해킹 13 (1) | 2024.06.03 |
네트워크 해킹 12 (1) | 2024.05.31 |
네트워크 해킹 11 (0) | 2024.05.29 |
네트워크 해킹 10 (0) | 2024.05.29 |