61. DNS Inverse Query 설정오류


( BIND 4.9.7 이하버전, BIND 8.2.2 이하버전 ) 해당 버전을 사용하고 있는 경우 취약



62. BIND 서버 버전 노출 여부


#vi /etc/namd.conf 

option {

version : I DONT KNOW // 해당부분 수정 알 

}


63. BIND Recursive Query 설정 미흡



64. DNS 보안 보전 패치


참고1) // 최신버전 자료

참고2) // EOL LIST        관련 자료 하이퍼링크 첨부.


66. DNS Zone Transfer 설정


syslog.conf 와 rsyslog.conf 파일의 기본 위치는 /etc 이다.


즉, 두 파일을 확인하려면


# cat /etc/syslog.conf 또는,

# cat /etc/rsyslog.conf 이다.


두 로그의 차이점은 다음에 살펴보도록 하고,,,



AIX에서는 


기본적으로 syslog를 사용할 수 있고, rsyslog는 설치 후 사용할 수 있다.

syslog과 rsyslog 의 프로세스 상태 확인 명령어는 동일하다.


#startsrc -s syslog

#stopsrc -s syslog

#lssrc -s syslog


* 참고사항 : 기존의 syslog를 정지하고 rsyslogd를 실행하려면 syslog_ssw -r

                기존의 rsyslog를 정지하고 syslog를 실행하려면 syslog_ssw -s



AIX에서 timestamp 확인하기.


#fc -t 



#cat /etc/environment | grep -i 'histsize' // size 확인하기

#vi /etc/environment // 원하는 만큼 수정.

양호 : 시스템에 로그인이 가능한 모든 계정이 패스워드가 설정되어 있는경우



로그인이 가능한지 확인하기 위해서는 해당 계정 쉘을 확인할 필요가 있다. (/bin/false 또는 /sbin/nologin 쉘인 경우 확인 계정 제외)


#cat /etc/passwd | egrep -v 'nologin|false'


이렇게 확인된 계정 중


passwd 파일 내, ':' 을구분자로 2번째 필드는 * 이어야한다.


aix의 passwd 파일 내 2번째 필드는 * 또는 !이다.


1) * : 해당 user에 비밀번호가 없는경우

2) ! : 해당 user에 비밀번호가 존재하는 경우


따라서 해당 user에 *가 있는지 없는지만 확인하면 된다.


tip ) 패스워드를 설정하지 않아서 passwd 파일 내 *가 존재하는 계정은

/etc/security/passwd 파일 내 정보가 존재하지 않는다.

AIX는 ftp 접근 제어를 /etc/ftpaccess.ctl 파일에서 한다.


/etc/ftpaccess.ctl의 파일의 형태는 


allow:deny:   --> host access

readonly:writeonly:readwrite: --> 권한 확인

useronly:grouponly: --> 익명 사용자 정의

herald:, motd: --> 로그인 전후 확인


뭐 이런식이다.

예를들면.


allow: host, host, …  (host 이름 또는 ip 주소로 설정할 있음)

deny: host, host, …

readonly: dirname, dirname, ...
writeonly: dirname, dirname, ...
readwrite: dirname, dirname, ...

useronly: username, username, ...
puseronly: username, username, ...
grouponly: groupname, groupname, ...
pgrouponly: groupname, groupname, ...

herald: path
motd: on|off



다양한 환경을 접해야겠지만,

파일 자체가 존재하지 않았기 때문에 파일에 allow: , deny: 뭐 이런 항목이 존재하기만 해도 양호로 판단해도 무방할 듯 하다.


if [ `egrep 'allow:|deny:' ~ | wc -l` -gt 0 ]; then 

else

fi

SMTP 서비스 expn/vrfy 명령어 실행 가능 여부를 확인해보자.


SMTP 서비스 conf FILE = /etc/mail/sendmail.cf


실행이 가능하면 안되니까 no option 값들을 추가한다.


# cat /etc/mail/sendmail.cf | grep -v "^#" | grep -i 'PrivacyOptions' | grep -i 'noexpn' | grep -i novrfy

# cat /etc/mail/sendmail.cf | grep -v "^#" | grep -i 'PrivacyOptions' | grep -i 'goaway'


* goaway 옵션

 authwarnings, noexpn, novrfy, noverb, needmailhelo, needexnhelo, needvrfyhelo, nobodyreturn를 세팅하기 위한 짧은 명령어라고 생각하면 된다


따라서 noexpn, novrfy 옵션이 없더라도, goaway 옵션이 추가되어 있어도 양호로 판단해도 될 듯 하다.



따라서 양호한 설정을 해주고,


# restartsrc -s sendmail을 하면, 적용이 된다.




참고

SMTP 서비스 명에 대한 확인이 필요한 경우

AIX에서 불필요한 SMTP 서비스를 실행하는지 확인하기



SMTP - sendmail, 25번 port



서비스가 구동중인지 확인하기


# netstat -na | grep -i 'LISTEN' | grep -w '25'     // port 확인

# lssrc -s sendmail | grep -i 'active'               // sendmail이 구동중인지 확인.




대응방안


1. 사용중이지 않는 port이면 닫아준다.

2. 사용중이지 않는 SMTP 서비스를 중지 시킨다.


# losf -i : 25

# stopsrc -s sendmail






1. SNMP 서비스 get/set community 스트링 설정 오류



SNMP 서비스 설정값을 확인하기 위해서는 conf 파일을 확인해야만 한다.


하지만, 지금 현재 어떤 버전의 SNMP 서비스를 이용하고 있는지에 따라 수정해야할 conf 파일의 종류가 달라지게 된다. ex) snmp 버전 1, 버전 3


따라서 /usr/sbin/snmpd 해당 파일을 가장먼저 확인해야한다.


#ls -al /usr/sbin/snmpd   


명령을 쳐보면 이 파일은 link 파일로 설정되어 있는 것을 확인 할 수 있고, 어떤 서비스가 구동중인지 확인할 수 있다.


aix ibm 홈페이지에 따르면 제공하고 있는 SNMP 서비스는 총 세 종류


/usr/sbin/snmpdv1 - SNMP 버전 1 에이전트를 포함하고 있습니다.

/usr/sbin/snmpdv3e - SNMP 버전 3 에이전트의 암호화 버전을 포함하고 있습니다.

/usr/sbin/snmpdv3ne - SNMP 버전 3 에이전트의 비암호화 버전을 포함하고 있습니다.             - 출처 AIX IBM



버전 1을 사용하고 있는 경우 conf 파일은 /etc/snmpd.conf

버전 3을 사용하고 있는 경우 conf 파일은 /etc/snmpdv3.conf


각 경우에 맞는 conf파일을 수정해야한다.



버전에 따라 community 설정 타입이 다르다


V1 type

 community  <name>  <address>  <netmask>  <permissions>  <view name>

V3 type

 communityName securityName securityLevel netAddr netMask storageType


여기를 수정해주면 된다.

version 3의 coummunity name 과 secuirty name을 설정할 때, 동일하게 설정해야하기 때문에 , 둘다 바꿔줘야한다.


의문점은 왜 get/set community string 설정이라고 했을까..

get과 set 설정은 


v3 설정값 내에 VACCUM ACCESS 엔트리 내에서 할 수 있다.


 groupName contextPrefix contextMatch securityLevel securityModel readView writeView notifyView storageType 여기 부분을 설정해주는 것.


readview 에서는 get, getbulk, getnext

writeview 에서는 set 의 옵션이 있다.


SNMP conf 파일에 대한 entry 에 대한 설명이 필요하다면



여기를 참고하면 된다.

aix에서 이전 커맨드를 칠 수 없는 불편함이 있다.


set -o vi 를 하면, 이전 명령어들을 확인할 수 있다.


esc 후 j키와 k 키를 이용해서 확인할 수 있다.


매번 설정하기 귀찮으면 각 계정의 profile 파일을 이용해서 매번 동일하게 사용할 수 있다.


profile에 추가 시켜놓으면 부팅시 자동 적용되기 때문에, 


set -o vi 명령을 제외하고 esc키, j키 k키를 이용해서 사용할 수 있다.



#vi .profile

set -o vi      // line 추가


#.profile      // profile 읽어서 적용시키기

서버 스크립트 작업을 하다보면, 바로바로 수정하고 확인하고 싶을 때가 있다.


원래는 xshell을 사용했는데, notepad 에도 편리한 기능이 있는 것을 알게 됐다.


참고 ) 필자는 64bit.


플러그인 > 플러그인매니저를 클릭하면 Plugins admin 탭이 활성화되고,

설치할 수 있는 다양한 플러그인을 확인할 수 있다.


그 중 우리가 사용할 것은 NppFTP



설치하면 아마 notepad ++이 restart 됐던 것 같다.


show nppftp를 클릭하면, 



nppftp가 활성화되고 profile을 설정할 수 있다.




hostname에는 접속하고 싶은 ip

username과 password는 접속하고 싶은 계정 정보를 등록해놓고, 


connection tpye을 SFTP를 사용 22번포트로 한다.


이니셜원격디렉토리를 처음 접속하고 싶은 디렉터리 명을 입력해준다.


이걸 누르면, 연결이 된다.


연결이 만약 안된다면 해당 서버의 포트나 이런걸 확인해야한다


ex ) netstat -na | grep 21 뭐 이런식..




파일을 어디에 올려두고 자동저장을 해야할지 모르겠으면, 일단 해당 위치에서 아무 파일이나 다운로드를 한다.





그리고 다운로드 받은 파일의 위치를 확인




탐색기를 열면 해당 위치에 파일이 다운로드 되어 있는 것을 확인할 수 있다.

이제 이 위치에 파일을 생성해서 편리하게 작업하면 된다.



+ Recent posts