서버 등 운영체제(OS)/Linux (42) 썸네일형 리스트형 의심되는 cron 작업 제거하기 오늘 오전 4시경부터 메일로 cron 작업이 실패했음을 알리는 알람 메일이 계속해서 수신되었다. 아침에 일어나서 이걸 확인하고 우선은 메일서버를 내린뒤 원인을 파악해보았다. 1. crontab 에 내가 등록하지 않은 watchdog 작업이 추가됨 2. 예전에 제거했던걸로 알고 있었던 사용자가 아직 살아있음 3. 그 제거했던 사용자로 crontab이 생성되어 계속 실행됨 #1. userdel 시도 - 해당 사용자가 프로세스에서 사용중이라며 제거가 되지 않았음 #2. pkill ID 해당 사용자가 사용하는 프로세스 강제종료. 그리고 userdel 을 실행하니 제거 되었음 #3. crontab 제거 /var/spool/cron/crontab 에 들어가 root 에서 설정한 작업 외의 cron 을 모두 점검하고.. nginx proxy client ip bypass 하기 nginx 에서 proxy_pass 를 선언하였을때, api 서버에서 bridge 역할을 하는 서버의 IP를 client ip 로 인식하는 문제가 생겼다. backend에서 client ip 를 필요로 하는 상황이라, nginx conf 를 아래와 같이 변경해주었다. server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwar.. how to remove netdata? netdata 패키지 제거 메일로 notification 알람이 너무 많이와서, 그냥 netdata 를 제거하기로 했다. 그런데, apt-get remove netdata 가 먹히질 않았다. 그래서 제거하는 방법을 찾아보았다. #sudo systemctl stop netdata #sudo systemctl disable netdata #find / -name netdata-uninstaller.sh #경로를 찾아보니 /usr/libexec/netdata/ 에 있었다. # cd /usr/libexec/netdata # ./netdata-uninstaller.sh --yes [Ubuntu] cron tab, 백도어 내 서버에.. ? 오래된 사이트를 호스팅 하는 서버들은 항상 보안에 취약하고, 공격을 당하게 되어있다. 그렇게 공격을 당하면 서버에 해킹 스크립트, 홈페이지 등이 심어져 리소스를 갈취당하게 되는데 현재까지 몇년간 서버를 운영하며 당한 공격 1. 좀비서버화 및 DDOS 스크립트가 심어져 내 서버로 공격을 해서 IDC상황실에서 리포트가 왔다. 서버 송신이 차단되고 포맷을 할수밖에 없었다. 2. 메일서버 relay 내 메일서버를 통해 다량의 스팸메일을 뿌려댄다. 덕분에 내 서버에서 postfix 를 지울수밖에 없었다. 3. /var/www/html 에 살림을 차린다. 모든 리눅스 서버의 웹서버는 보통 /var/www/html 을 기본으로 호스팅하는데, 그 경로에다가 php파일과 zip, tar.gz, sh 등 잡다한 파일들을 .. [Ubuntu] ftp 를 사용한 원격백업 구성하기 오늘은 별도 백업서버를 구성 하였을 때, 운영 서버로부터 원격 백업을 구성하는 방법을 포스팅해보려 합니다. 백업에 있어서는 정말 많은 다양한 방법들이 있겠지만, 저는 운영서버에서 crontab 스케쥴링을 통해 먼저 백업을 수행하도록 하고, 백업서버에서는 백업(압축)된 파일을 다운로드 받아가는 방식을 사용하였습니다. 이번 포스팅에서는 운영 서버에서 압축된 파일이 backup-xxx-YYYYMMDD.tar 로 있음을 가정하였습니다. wget --user={FTP_USER} --password={FTP_PASSWORD} ftp://{HOST}/backup/home/home-$(date '+%Y%m%d').tar mv home-$(date '+%Y%m%d').tar /home3/backup/home/home.t.. [Ubuntu] contains a file system with errors, /dev/xxx requires a manual fsck 리눅스도 강제 재부팅 등을 수행하게 될 경우, 작업하고 있던 부분이 유실되어 파일시스템 손상이 될 수 있습니다. 그리고 부팅을 하게되면 다음과 같은 화면을 마주할수 있는데 이럴 때에는 다음과 같이 수행하면 됩니다. 해당 스크린샷을 보면, "/dev/sda2" 가 손상된 파일시스템이 있는 마운트 위치임을 알 수 있는데요. 간단히 아래와 같이 수행하면 정상 부팅이 됩니다. fsck 명령어를 실행하면, 복구할건지 y 를 입력하게 하는데요. a 를 입력하면 모든 복구 질의에 y 가 자동 입력됩니다. # fsck /dev/sda2 ..... # reboot journalctl 로그 용량/보존 기한 설정하기 var/log 에 용량이 많아 확인해보니 journal log 가 4G 넘게 쌓여있는걸 보고, stackoverflow 를 참고해 해결했다. The self maintenance method is to vacuum the logs by size or time. Retain only the past two days: journalctl --vacuum-time=2d Retain only the past 500 MB: journalctl --vacuum-size=500M man journalctl for more information. 출처: https://unix.stackexchange.com/questions/139513/how-to-clear-journalctl [Ubuntu] python3.7 upgrade 에러 - 의존성이 맞지 않습니다. apt-get upgrade 를 실행하던 와중에 아래와 같은 오류가 발생하며 더이상 upgrade가 진행되지 않았다. 동시에 같이 upgrade 가 수행되던 mysql 서버도 같이 정지되버렸다.. 먼저, 다른 정상적 업그레이드가 가능한 패키지들은 먼저 처리를 해준다. # sudo dpkg --configure -a MySQL 서버가 다시 정상적으로 실행이 되었다. 이제 문제가 발생한 패키지를 복구해준다. apt-get remove 나 purge 를 시도했지만 의존성 문제만 나오며 제거가 되지 않는다. 아래 처럼 시도하여 강제로 패키지를 제거해주었다. 그리고 python3.7를 재설치 해주었다. # sudo dpkg --remove --force-remove-reinstreq python3.7 # sudo.. 이전 1 2 3 4 ··· 6 다음