728x90

/ 리눅스
- 리눅스는 자신의 상태를 알려주는 다양한 기능이 존재한다.
- 자동 보고 기능
- abrt-cli list --since 1677720201
- rsyslogd  ---> /var/log
 > 윈도우(sysmon.exe)

 

/ 윈도우 방화벽
- 방화벽 : 시스템 방화벽 -> 고급 방화벽 -> iptables와 유사하다.(특정 프로그램 / 특정 포트를 대상으로 한다.)
- defender(커널단...) -> selinux와 유사하다. 
- 직접 설치 : 백신 / 키로그방지 / 브라우저 자체 방화벽
- 방화벽 모듈 --> WAF ---> CATLE / Web Knight / Snort

/ 리눅스 방화벽
- selinux(커널단 방화벽)
 > enforcing  : 활성화
 > permissive : 비활성화
 > disabled   : 꺼짐
 > 명령 : setenforce / getenforce / setbool
- iptables : port / service 단위 등록 / Network + rich rule(기본 룰 + 추가 옵션)
- RHEL --> firewalld
 ex) firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="14.36.28.128/25" port protocol="tcp" port="22" accept'
- Ubuntu ---> ufw
 ex) ufw allow from 10.0.2.15 to any port 9666
- 최신형 nftable(nework filter tables)
 > iptables, ip6tables, arptables 기능을 모두 포함하는 tool 입니다. 
- tcpwrapper ---> 서비스단에 전달되기 직전 방화벽

/ rich rule
- ACCEPT     tcp  --  14.36.28.128/25      anywhere             tcp dpt:9200
- iptables -L
- iptables -A INPUT -p tcp -s SRC.IP --sport SRC.PORT -d DEST.IP --dport DEST.PORT -j ACEEPT
- -A : append : 정책을 추가할꺼야~

-j  : 정책 ---> 1. DROP
                2. ACCEPT
                3. REJECT
                4. LOG
                5. RETURN
-A : 새로운 규칙을 추가한다. (--append)
-D : 규칙을 삭제한다. (--delete)
-C : 패킷을 테스트한다. (--check)
-I : 새로운 규칙을 삽입한다. (--insert)  
 * -A와 다른점은 -A는 아무런 규칙이 없는 상태에서 추가를 하는 것이고 -I 옵션은 규칙이 생성된 상태에서 삽입한다는 의미이다.
-R : 새로운 규칙으로 교체한다. (--replace)
-L : 새로운 규칙을 출력한다. (--list)
-F : 체인의 모든 규칙을 삭제한다. (--flush)
-Z : 모든 체인의 패킷과 바이트 카운터 값을 0으로 만든다. (--zero)
-N : 새로운 체인을 만든다. (--new)
-X : 체인을 삭제한다. (--delete-chain)
-P : 기본정책을 변경한다. (--policy)
-p : 패킷의 프로토콜의 포트번호 또는 이름을 명시한다. (--proto) (ex: tcp, udp, 21, 22)
-s : 패킷의 발신지를 명시한다. (--source)
-d : 패킷의 도착지를 명시한다. (--destination)
-i : 규칙을 적용할 인터페이스 이름을 명시한다. (--in-interface)
-j : 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시한다. (--jump)
-y : 접속 요청 패킷인 SYN패킷을 허용하지 않는다. (--syn)
-f : 두 번째 이후의 패킷에 대해서 규칙을 명시한다. (--fragment)
-m : 특정 모듈과의 매치 (--match)

 

/ 예제

iptables -A INPUT -p tcp -m tcp --dport 80 -j --syn DROP
iptables -A INPUT -p tcp -s 192.168.0.0/24 -d 192.168.0.10 --dport 80 -j DROP
ssh 서비스로 60초간 10번의 접속 시도가 발생하면 DROP
iptables -I INPUT -p tcp --dport 22 -m state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
firewall-cmd --list-all
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd reload
ufw status
ufw allow tcp/80
nftables ---> iptables로 구성된 설정 ---> 변환 적용 가능 (iptables-translate)
최신 도커를 올리는 경우 실행할 때 추가 옵션이 필요한 경우 있음
   --iptables=false

 

/ 서버 입장에서 가장 성가신 부분
- DOS 공격 : icmp
- 기본적인 보안 세팅 : icmp_echo_ignore
- cd /proc/sys/net/ipv4
- cat icmp_echo_ignore_all
 > 0 : disable
 > 1 : enable
- 핑 응답을 하지 않도록 설정 : echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
 > Netdiscovery를 방지 할 수 있다.

/ 취약점 (분석) 명령어
- 현재 실행중인 프로세스 확인 : ps -ef
- 마지막 접속 정보 확인 : last
- 현재 접속중인 사용자 : w / who

/ Set UID : (권한제어)
- 접근제어
 > superuser만 사용할 수 있는 디렉터리 : /sbin
 > 일반계정도 사용할 수 있는 디렉터리   : /bin
- find / -user root -perm -4000 -print > 4000_perm.txt
 > 현재 상태 : 백도어가 없는 클린 상태 4000_perm.txt
- find / -user root -perm -4000 -print > 4000_perm_1.txt
- diff 4000_perm.txt 4000_perm_1.txt

root@Centos7:~/tmp# find / -user root -perm -4000 -print > 4000_perm.txt
find: ‘/proc/130270/task/130270/fd/5’: 그런 파일이나 디렉터리가 없습니다
find: ‘/proc/130270/task/130270/fdinfo/5’: 그런 파일이나 디렉터리가 없습니다
find: ‘/proc/130270/fd/6’: 그런 파일이나 디렉터리가 없습니다
find: ‘/proc/130270/fdinfo/6’: 그런 파일이나 디렉터리가 없습니다
root@Centos7:~/tmp# find / -user root -perm -4000 -print > 4000_perm_1.txt
find: ‘/proc/130389/task/130389/fd/5’: 그런 파일이나 디렉터리가 없습니다
find: ‘/proc/130389/task/130389/fdinfo/5’: 그런 파일이나 디렉터리가 없습니다
find: ‘/proc/130389/fd/6’: 그런 파일이나 디렉터리가 없습니다
find: ‘/proc/130389/fdinfo/6’: 그런 파일이나 디렉터리가 없습니다
root@Centos7:~/tmp# diff 4000_perm.txt 4000_perm_1.txt
root@Centos7:~/tmp#
sticky (4000)으로 설정된 추가파일이 없음

 

/ 백도어 설치 여부 점검
- /dev, /tmp 체크 : 기본적으로 디렉토리 퍼미션에 sticky가 붙어있다.

/ rootkit 탐색
- find /dev -type f -exec ls -l {} \;

/ 무결성 검사
- tripwire : 파일의 변동 사항 유무 체크
- wget https://src.fedoraproject.org/repo/pkgs/tripwire/tripwire-2.3.1-2.tar.gz/6a15fe110565cef9ed33c1c7e070355e/tripwire-2.3.1-2.tar.gz

/ 포트 스캔
- 열려있는 포트 및 응답 가능한 포트 점검 : 좀비PC 감염 여부
- 자신의 시스템에서 netstat -atp | grep LISTEN

/ 외부 호스트의 포트 확인
- telnet IP port

/ for문
- 윈도우 DOS

for %i in (1,1,65534) do telnet 192.168.0.30 %i

- 리눅스

for i in {55..59}
 > do
 > ping 192.168.0.%i -c 1
 > done

 

/ 시스템에서 열려있는 파일에 대한 정보를 출력
- lsof == list open files
- lsof | grep LISTEN

root@Centos7:~# lsof | grep LISTEN
httpd      1646                root    4u     IPv6              33965        0t0        TCP              *:http (LISTEN)
httpd      1646                root    6u     IPv6              33969        0t0        TCP              *:https (LISTEN)
dovecot    1674                root   25u     IPv4              32127        0t0        TCP              *:pop3 (LISTEN)
dovecot    1674                root   37u     IPv4              32150        0t0        TCP              *:imap (LISTEN)
master     1893                root   13u     IPv4              33403        0t0        TCP              *:smtp (LISTEN)
master     1893                root   92u     IPv4              33489        0t0        TCP              localhost:10025 (LISTEN)
/usr/bin/  2105                root    5u     IPv4              32568        0t0        TCP              localhost:783 (LISTEN)
/usr/sbin  2328              amavis    5u     IPv4              35298        0t0        TCP              localhost:10024 (LISTEN)
httpd      2329              apache    4u     IPv6              33965        0t0        TCP              *:http (LISTEN)
httpd      2329              apache    6u     IPv6              33969        0t0        TCP              *:https (LISTEN)
spamd      2341                root    5u     IPv4              32568        0t0        TCP              localhost:783 (LISTEN)
/usr/sbin  2343              amavis    5u     IPv4              35298        0t0        TCP              localhost:10024 (LISTEN)
프로세스명  PID             프로세스 소유자     프로토콜 버전                              TCP/UDP 여부                       현재 응답 가능 여부

 

/ pstree
- 최상위가 systemd이면 최소 centos7이다.

/ top
- top -d2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

'정보보안학원 > KITRI 침해대응' 카테고리의 다른 글

102일차 - ISMS-P  (0) 2023.03.14
101일차 - 보안가이드라인  (0) 2023.03.09
99일차 - 보안가이드라인  (0) 2023.03.07
98일차 - 보안가이드라인  (0) 2023.03.07
97일차 - 이더채널  (0) 2023.03.03

+ Recent posts