IPTABLES와 SNMP 통신허용 추가
/ snmp 설치
# yum -y install net-snmp net-snmp-utils
/ snmpd.conf 설정
####
# First, map the community name "public" into a "security name"
# sec.name source community
com2sec notConfigUser default public
com2sec snmpsec 192.168.111.0/24 kdchrd
####
# Second, map the security name into a group name:
# groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
group snmpsecGroup v2c snmpsec
####
# Third, create a view for us to let the group have rights to:
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none
access snmpsecGroup "" any noauth exact all none none
/ iptables 설정
iptables -F
iptables -P INPUT ACCEPT
iptables -A INPUT -s 192.168.111.1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.111.1 -p tcp -m multiport --dport 21,23 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 192.168.111.1 -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.111.1 -p udp --dport 161 -j ACCEPT
iptables -A INPUT -s 192.168.111.129 -p udp --dport 161 -j ACCEPT
iptables -A INPUT -m stat -state RELATED,ESTABLEISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p udp -j DROP
iptables -A INPUT -p tcp -j DROP
iptables -A INPUT -p icmp -j DROP
iptables -A FORWARD -j DROP
iptables -A OUTPUT -j ACCEPT
service iptables save
iptables -nvL --line-n
/ snmpwalk를 확인한다.
- 서버
# snmpwalk -v 2c -c kdchrd 192.168.111.101 system
- 호스트pc
- 클라이언트 서버
- snmpwalk가 돌아가지 않으면 'yum -y install net-snmp-utils'로 유틸을 설치하고 진행한다.
# snmpwalk -v 2c -c kdchrd 192.168.111.101 system
iptables 체인생성
/ chain 생성/추가
- Flooding (ICMP, TCP, UDP)
- DDoS 분산된 서비스거부공격, DoS 서비스거부공격
- DRDoS (Denial Of Service)
/ ICMP Flooding 대비
# iptables -N ICMP
# iptables -A INPUT -p icmp -j ICMP
# iptables -A ICMP -p icmp --icmp-type echo-request -j DROP
/ ICMP 응답 차단 설정방법
- vi /proc/sys/net/ipv4/icmp_echo_ignore_all 1값을 넣거나
- echo 1> /proc/sys/net/ipv4/icmp_echo_ignore_all
/ mdstat
- 레이드 설정값
/ UDP Flooding 대비
# iptables -N UDP
# iptables -A INPUT -p udp -j UDP
- 조건) 같은 IP주소에서 1초에 10개이상 UDP패킷이 들어오면..
# iptables -A UDP -p udp --dport 161 -m recent --update --seconds 1 --hitcount 10 -j DROP
- 로그를 남기겠다.
# iptables -A UDP -j LOG --log-prefix "UDP FLOOD"
/ 초 당 허용되는 접속 개수 제한 (100/s)
# iptables -A INPUT -p udp --dport 161 --syn -m limit --limit 100/s -j ACCEPT
/ 허용되는 접속 개수 오버되면 제한 (30)
# iptables -A INPUT -p udp --dport 161 --syn -m connlimit --connlimit-above 30 -j DROP
- 허용되는 접속 개수 오버되면 제한 (3)
# iptables -A INPUT -p tcp --dport 22 --syn -m connlimit --connlimit-above 3 -j DROP
- 로그를 남기겠다.
# iptables -A UDP -j LOG --log-prefix "[Im Attacking]"
/ IP주소 당 하나의 소스에서 15개 이상의 연결을 거부
# iptables -A INPUT -p tcp --dport 80 --syn -m connlimit --connlimit-above 15 --connlimit-mask 32 -j DROP
# iptables -A INPUT -p tcp --dport 80 --syn -m connlimit --connlimit-above 15 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
- connlimit-mask 알아보기
/ 160개의 초 당 새로운 연결 제한이 적용되기 전에 160개의 새로운 연결을 허용
- 연결제한 적용전에 새 연결을 허용하기
- 연결 제한을 만들고, 제한이 꽉 차면, 기존 연결들은 cut하고 새로운 연결을 만들자.
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 160/s --limit-burst 160 -j ACCEPT
/ SSH 무차별(무작위) 대입공격 대비
# iptables -N SSH
# iptabels -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH
- 60초동안에 15번 이상 SSH접속시도시 DROP
# iptables -A SSH -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 15 -j DROP
# iptables -A SSH -j LOG --log-prefix "SSH BruteForce Attack"
'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글
68일차 - 정보시스템 진단 (0) | 2022.07.27 |
---|---|
67일차 - 정보시스템 진단 (0) | 2022.07.25 |
64일차 - 정보시스템 진단 (0) | 2022.07.20 |
63일차 - 정보시스템 진단 (0) | 2022.07.19 |
62일차 - 정보시스템 진단 (0) | 2022.07.18 |