zabbix에서 permission 777 폴더를 찾으면 경고
logrotate 대상 디렉토리가 777이라면 because parent directory has insecure permissions.
손 빼기이므로
.conf
하나로 써 버렸습니다. 이것이라고 보기 어려운 것이 zabbix userparameter의 유감스러운 곳입니다. 성실하게 할 때는 .sh
로 합시다.zabbix item
$ cat findpermission.conf
# permissionチェックツール
# 777のフォルダが有るとlogrotateがコケるときがあるので、怪しいフォルダがないか探すために作成
#
# 対象dirに 777 のフォルダがあればそのリストを、なければ 0 を返す
# How to use
# Item:
# Type: Zabbix agent
# Type of information: text
#
# findpermission[permission,<location>]
#
# @param permission(int) 777, 644 など探したいdirのpermission(octal)
# @param location(string) "/var /home" など探したい親フォルダのフルパス
# @return (string) ヒットしたdirリスト or 0
#
# Trigger:
# findpermission[777].count(#3,0,eq)}<>3
# 意味:0が返ってきた回数が3回中3回じゃなかったら=3回連続で777のフォルダを見つけたらアラート実行
#
#### チェックコマンド
#### $ zabbix_get -s 192.168.1.3 -k "findpermission[777]"
#### 0 が返れば検索結果ゼロ。見つけた場合は777のフォルダリストを表示します。
UserParameter=findpermission[*],if [ -z "$1" ]; then echo "Please specity one octal permission. e.g. findpermission[777]"; exit 1; fi; if [ -z "$2" ]; then DIR="/var/log"; else DIR=$2; fi; if [ `find $DIR -type d -perm $1 | wc -l` -eq 0 ]; then echo 0; else echo -e "Directories below have permission $1.\n"; find $DIR -type d -perm $1; fi;
trigger
나의 zabbix script는, zabbix상에서 「무엇이 나쁜 것인가?」까지 보이게 하는 신조가 있으므로 반환값은 대체로 이하가 되고 있습니다.
$ cat findpermission.conf
# permissionチェックツール
# 777のフォルダが有るとlogrotateがコケるときがあるので、怪しいフォルダがないか探すために作成
#
# 対象dirに 777 のフォルダがあればそのリストを、なければ 0 を返す
# How to use
# Item:
# Type: Zabbix agent
# Type of information: text
#
# findpermission[permission,<location>]
#
# @param permission(int) 777, 644 など探したいdirのpermission(octal)
# @param location(string) "/var /home" など探したい親フォルダのフルパス
# @return (string) ヒットしたdirリスト or 0
#
# Trigger:
# findpermission[777].count(#3,0,eq)}<>3
# 意味:0が返ってきた回数が3回中3回じゃなかったら=3回連続で777のフォルダを見つけたらアラート実行
#
#### チェックコマンド
#### $ zabbix_get -s 192.168.1.3 -k "findpermission[777]"
#### 0 が返れば検索結果ゼロ。見つけた場合は777のフォルダリストを表示します。
UserParameter=findpermission[*],if [ -z "$1" ]; then echo "Please specity one octal permission. e.g. findpermission[777]"; exit 1; fi; if [ -z "$2" ]; then DIR="/var/log"; else DIR=$2; fi; if [ `find $DIR -type d -perm $1 | wc -l` -eq 0 ]; then echo 0; else echo -e "Directories below have permission $1.\n"; find $DIR -type d -perm $1; fi;
나의 zabbix script는, zabbix상에서 「무엇이 나쁜 것인가?」까지 보이게 하는 신조가 있으므로 반환값은 대체로 이하가 되고 있습니다.
0
zabbix v3.0.x 이외는 이것을 numeric로 받을 수 없기 때문에, item은
text
로 받아, 이하의 trigger로 검지시킵니다. findpermission[777].count(#3,0,eq)}<>3
※ 수치가 아니기 때문에 간단한 비교 연산을 할 수 없습니다.
결과
이런 식으로, 유감스러운 서버의 상황을 씻어낼 수 있었습니다. 그리고는 이것을 하나씩 어떻게든 해 나가고 싶습니다. 제외하게 되는 것도 있겠지・・.
zabbix에서 굉장한 폴더 목록까지 확인할 수 있습니다.
경고 등 울리지 않고 직접 chmod 해도 괜찮습니다만, 잠시는 현재 파악의 의미로 이것을 돌려 두고 싶습니다.
새로운 기술에 트라이하고 있을 때 등은 777 은 유용하기 때문에, 절대 악으로서는 취급하고 싶지 않은 소존입니다.
Reference
이 문제에 관하여(zabbix에서 permission 777 폴더를 찾으면 경고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uturned0/items/33dc56633f8aa51800a9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(zabbix에서 permission 777 폴더를 찾으면 경고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uturned0/items/33dc56633f8aa51800a9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)