목록

레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시
레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시

2021년 4월 17일 토요일

커널 파라미터 모음

1.  버퍼오버플로우 공격 예방

실행시 마다 메모리 주소를 변경하는 ASLR을 설정하는 방법이다.

sysctl –w kernel.randomize_va_space=2

0 : 무효

1 : heap 이외 랜덤

2 : 모두 랜덤


2. ip forward 하는 방법

IP Forwarding : 자신의 MAC 주소로 온 데이터인데 목적지 IP가 다르면 

                    해당 목적지로 데이터를 포워딩함

sysctl -w net.ipv4.ip_forward=1

0 : 포워딩 하지 않음

1 : 포워딩 활성화


3. TCP SYN Flooding 공격 예방

tcp syncookie는 상대방을 인증하는 표준 TCP 기술

서버 앞단 L4/방화벽에 tcp_syncookes 설정

sysctl –w net.ipv4.tcp_syncookies=1

0 : false

1 : true


서버의 backlog queue의 크기를 늘린다

sysctl –w net.ipv4.tcp_max_syn_backlog = SIZE


4. ICMP Redirect 공격 대응 

라우팅 테이블이 변경되지 않도록 ICMP Redirect옵션을 해제

accept_redirects 커널 파라미터를 0으로 설정

sysctl -w net.ipv4.conf.all.accept_redirects=0


ICMP Redirection 메시지를 전송하지 않음

sysctl -w net.ipv4.conf.default.send_redirects=0


5. ping 차단하기

sysctl -w net.ipv4.icmp_echo_ignore_all = 1

0 : 허용

1 : 차단


6. 스머프(Smurf) 공격 대응 설정

Directed Broadcast주소를 대상으로 한 ICMP Echo Request 메시지 수신 시

이를 무시하는 설정

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1

2021년 4월 10일 토요일

리눅스 웹서버 설치

 리눅스에 아파치 웹서버를 설치해 보자~


1. 웹서버 설치


이미 설치되어 있다고 한다.

2. 웹서버 시작



3. 동작 상태 확인


잘 동작하고 있다고 한다. 
이제 설치는 끝내고 확인을 해보자.

4. 외부에서 확인


외부에서 접속이 안된다. 
무엇이 문제인가?


5. 로컬에서 확인 


내부에서는 잘된다.


6. 네트워크 연결 상태를 확인한다.

80포트가 LISTEN 상태이고 내부에서는 잘되는 것으로 보아 방화벽 문제로 보인다.


7. tcpwrapper를 확인한다. 

사실 http는 통상적으로 standalone 방식을 많이 사용하므로

inetd/xinetd를 사용하지 않는다. 그래도 확인은 해 보자~


아무것도 없다.


8. iptables를 확인한다.


특별히 80포트를 DROP하거나 REJECT하는 부분이 없다.


9. firewall-cmd 확인


http서비스와 80포트가 없다.

10. 방화벽에 http서비스와 80/tcp포트를 추가하고 업데이트




11. 다시 외부에서 확인
이제 잘된다.

2021년 4월 8일 목요일

리눅스 suid, sgid 파일 검색

suid 또는 sgid가 설정된 파일을 검색하는 방법이다.

아래의 디렉터리에는 sgid, sgid, sticky 비트가 설정된 파일 또는 디렉터리가 있다.



suid 파일 검색하는 방법



sgid 파일 검색하는 방법



skicky 비트 검색하는 방법



suid 또는 sgid 파일 검색하는 방법



suid, sgid가 모두 설정된 파일을 검색



2021년 3월 14일 일요일

리눅스 로그 파일

1. 사용자 로그인, 로그아웃 정보 / 시스템의 shutdown, booting 정보

파일 이름 : wtmp

명령어 : last, last 아이디, last reboot

파일 경로 및 명령어는 시스템에 따라 다름



2. 현재 로그인한 사용자 정보

파일 이름 : utmp

명령어 : w, who, whodo , users, finger

파일 경로 및 명령어는 시스템에 따라 다름



3. 5번 이상 로그인 실패 정보

파일 이름 : btmp, loginlog, failedlogin

명령어(리눅스) : lastb

명령어(솔라리스) : cat /var/adm/loginlog

명령어(AIX) : failedlogin

파일 경로 및 명령어는 시스템에 따라 다름



4. 가장 최근에 성공한 로그인 기록

파일 이름 : lastlog

명령어 : lastlog, lastlog -u 아이디

명령어(솔라리스) : finger 아이디

파일 경로 및 명령어는 시스템에 따라 다름



5. su 명령을 사용한 결과

파일 이름 : sulog, secure

명령어(유닉스) : cat /var/adm/sulog

명령어(리눅스) : cat /var/log/secure