목록

레이블이 보안인 게시물을 표시합니다. 모든 게시물 표시
레이블이 보안인 게시물을 표시합니다. 모든 게시물 표시

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년 3월 14일 일요일

MAC, MAC, MAC 그리고 MAC

 컴퓨터 관련 용어중 MAC라고 있다.

이 MAC는 정말 여러 분야에서 사용되고 있는데..

정리를 해 놓으면 재미있을 것 같아 포스팅하였다.


1. 네트워크 분야

컴퓨터 분야에서 가장 일반적으로 MAC이라 하면 OSI 7계층 중 데이터링크 계층의

하부 계층인 MAC(Media Access Control)을 떠올릴 것이다.

데이터링크 계층은 논리적 연결을 담당하는 LLC(Logical Link Control)과

물리적 접속을 담당하는 MAC(Media Access Control)의 두 서브 계층으로 나뉜다.

우리가 가장 익숙한 부분은 MAC 주소라는 부분인데, 

이 것은 NIC(Network Interface Card)의 고유한 주소로 16진수 12자리로 구성된 

48비트의 물리주소이다.


2. OS 분야

inode에는 여러 정보가 저장되어 있는데 이중에 MAC time이라는 것이 있다.

M (Modify) time : 파일 수정 시간

A (Access) time : 파일 접근 시간

C (Change) time : i-node 수정 시간(파일 속성 변경 시간)


참고로 i-node에는 아래 정보도 포함되어 있다.

i-node number, 파일타입, 접근권한, 하드링크카운트, 파일 소유자, 파일 소유그룹, 파일 크기, Block Index

3. 정보보안 분야

다음은 정보통신 분야의 접근 통제 정책중에서 찾아볼수 있다.

강제적 접근통제라고 하는 MAC(Mandatory Access Control)이 그것이다.

DAC(Discretionary Access Control)이 객체의 소유자 마음대로 접근을 통제한다면

MAC은 데이터의 접근을 시스템(관리자)이 규칙을 결정한다.


4. 암호학 분야

마지막으로 암호학에서 사용되는 MAC(Message Authentication Code)이다.

MAC은 메시지의 무결성과 송신자 인증을 보장하기 위해 사용한다.

MAC과 비슷한 MDC(Message Detection Code)가 있는데 MDC는 메시지 무결성만 보장한다.

MAC의 종류에는 축소 MAC, HMAC, CBCMAC이라 불리는 CBAC 등이 있다.

축소MAC은 키와 메시지를 붙이고 Hash하여 중간 단계 다이제스트를 만들고

여기에 다시 키를 붙여 최종 다이제스트를 생성한다

리눅스 로그 파일

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



2021년 3월 13일 토요일

시스코 라우터 비밀번호 설정

 라우터 비밀번호 설정하는 방법이다.


1. enable password 설정

user 모드에서 privileged 모드 진입 시 암호 설정하는 방법이다.

Router#configure terminal 
Router(config)#enable password 비번



type 7(복호화 가능)로 암호화

Router#configure terminal 
Router(config)#enable password 비번
Router(config)#service password-encrytion



type 5(일방향 함수)로 암호화

Router#configure terminal 
Router(config)#enable secret 비번



2. 텔넷 password 설정

외부에서 라우터 접속시 암호 설정하는 방법이다.

Router#configure terminal 
Router(config)#line vty 0 4
Router(config-line)#password 비번
Router(config-line)#login





3. 콘솔 password 설정

장비에서 라우터 접속시 CLI 암호 설정하는 방법이다.
Router#configure terminal 
Router(config-line)#line console 0
Router(config-line)#password 비번
Router(config-line)#login