ํ์๋ฒ์ ํ ๋ ํธ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์ ๋ฃ์ด๋๊ณ ์น ์๋น์ค๋ฅผ ํ๋ฉด Seed file
์ด๋ magnet
์ ํญ ๋์ ธ์ฃผ๊ณ ๋ค์ด๋ฐ์ผ๋ผ๊ณ ์์ผ ๋์ ์๊ฐ ์์ต๋๋ค.
์์ ๊ฐ์ ๊ฒฝ์ฐ๋ ๋ค์ด์ด ์๋ฃ๋๋ฉด ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์์ ๋ฏธ๋์ด ์๋ฒ์ ํด๋๋ก ์์์ ์ฎ๊ธฐ๋ฉด ๊ฐํธํ๊ฒ ์์ฒญํ ์ ์์ต๋๋ค.
๋งค์ฃผ ์๋ก ๋์ค๋ ๋๋ผ๋ง ๋๋ ์ํ ๊ฐ์ ๊ฒฝ์ฐ rss feeback
์ค์ ๋ง ํด์ฃผ๋ฉด flexget
์ด๋ผ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ์๋์ผ๋ก ๋ค์ด๋ฐ๊ณ ๋ถ๋ฅ๊น์ง ํ๋๋ก ์ค์ ํ ์ ์๋๋ฐ ์ด ๊ธฐ๋ฅ์ด ์ง์ง ๋๋ฌด๋๋ฌด ํธ๋ฆฌํ๊ณ ์ข์ต๋๋ค.
์ด์ ๋ถํฐ ์ฌ์ฉํ ๋ชจ๋ ๋ช ๋ น์ด๋ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํด์ผ ํ๋ฏ๋ก root ๊ณ์ ์ ์ ์ํด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
su -
apt install transmission-daemon -y
์์ฑํ ํด๋๋ Nextcloud์์๋ ํ์ธ ํด์ผํ๋ฏ๋ก Nextcloud ๊ณ์ ๋ฐ์ดํฐ ํด๋ ์ต์์ ๋ถ๋ถ์ Plex/Donwloads
๋ผ๋ ํด๋๋ฅผ ๋ง๋ค์ด ์ฃผ๊ฒ ์ต๋๋ค.
cd /srv/nextcloud/[Nextcloud๊ณ์ ๋ช ]/files sudo -u www-data mkdir -m 750 Plex cd Plex sudo -u www-data mkdir -m 770 Downloads
- Nextcloud ๋ฐ์ดํฐ ํด๋์ ์ ์ํฉ๋๋ค.
www-data
๊ณ์ ์ ๊ถํ์ผ๋กmkdir
๋ช ๋ น์ด๋ฅผ ํตํดPlex
๋ผ๋ ํด๋๋ฅผ750
์ ๊ถํ์ธrwxrw----
๋ก ์์ฑํฉ๋๋ค.- ์์ฑํ ํด๋๋ก ๋ค์ดํฉ๋๋ค.
2
๋ฒ๊ณผ ๊ฐ์ดDownloads
ํด๋๋ฅผ ๊ถํrwxrwx---
๋ก ์์ฑํฉ๋๋ค.
ํด๋ ๊ถํ๊ณผ ์์ ์ ๋ฐ ๊ทธ๋ฃน์ด ์ ์ค์ ๋์๋์ง ํ์ธํด๋ด ์๋ค.
ls -al
drwxr-x--- 5 www-data www-data 4096 Mar 7 21:55 . ... drwxrwx--- 2 www-data www-data 4096 Mar 7 21:55 Downloads
Transmission
์ด ํด๋์ ๊ทธ๋ฃน ๊ถํ์ผ๋ก ์ ๊ทผํ์ฌ ํ์ผ์ ์ธ ์ ์๋๋ก debian-transmission
๊ณ์ ์ www-data
๊ทธ๋ฃน์ ์ถ๊ฐํด์ค๋๋ค.
์ถ๊ฐํ ํ id
๋ช
๋ น์ด๋ก ๊ทธ๋ฃน์ด ์ถ๊ฐ๋์๋์ง ํ์ธํ๋ฉด ๋ฉ๋๋ค.
usermod -a -G www-data debian-transmission id debian-transmission
uid=118(debian-transmission) gid=124(debian-transmission) groups=124(debian-transmission),33(www-data)
Transmission
ํ์ผ์ ์ ๋ถ ๋ค์ด๋ฐ์์ ๊ฒฝ์ฐ ํ์ผ์ ์์ ์์ ๊ทธ๋ฃน์ debian-transmission
์ผ๋ก ๋์ด์์ ๊ฒ์ด๊ณ ์ดํ์ Transmission
์ umask
์ค์ ๊น์ง ๋์๋ค ์๊ฐํ๋ฉด ๊ทธ๋ฃน ๊ถํ์ ์ฝ๊ธฐ/์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ ์ํ์ผ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ Nextcloud
์์ ์ด ํ์ผ์ ์ฎ๊ธฐ๊ธฐ ์ํด์๋ www-data
๊ณ์ ์ด debian-transmission
๊ทธ๋ฃน์ผ๋ก ๋ค์ด๊ฐ์ผํฉ๋๋ค.
www-data
๊ณ์ ์ debian-transmission
๊ทธ๋ฃน์ ๋ฃ์ด์ฃผ๊ณ ํ์ธํด๋ด
์๋ค.
usermod -a -G debian-transmission www-data id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),123(ds),124(debian-transmission)
์ด๋ก์จ ๊ถํ ์ค์ ๊น์ง ๋ง๋ฌด๋ฆฌ๋์๋๋ฐ ์ดํ Transmission
์น์์ ํ์ผ ๋ค์ด๋ก๋ ๋์ค Permission denied
๋ผ๋ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ ๊ฒฝ์ฐ ํด๋ ์์ฑ๋ถํฐ ๊ถํ ์ค์ ๊น์ง ๋ค์ํ๋ฒ ์ฒดํฌํ์๊ธธ ๋ฐ๋๋๋ค.
Transmission
์๋น์ค๋ฅผ restart
ํ๊ณ ์ฐ๋ถํฌ๋ reboot
ํด๋ณด๊ณ ํ ๊ฑฐ ๋ค ํด๋ณด์ธ์.
์ ๋ ์ค์น ๋ ์ด ๋ฉ์ธ์ง๋ฅผ ๋ณด๊ณ ์๋นํ ๊ณค๋์ค๋ฌ์ ์ต๋๋ค.
Transmission
์ ์ฌ์ฉํ ๋๋ฉ์ธ์ ์ถ๊ฐํ์ธ์.
์ ๋ ์ ๋๋ฉ์ธ์ด ์๋ ํธ์คํ
์ผ์ด์์์ ํ์ต๋๋ค.
์ด ๋ถ๋ถ์ ์์์ ๋ง์ด ๋ค๋ค๊ธฐ ๋๋ฌธ์ ์๋ตํ๋๋ก ํ๊ฒ ์ต๋๋ค.
Transmission
์ ์ค์ ํ์ผ์ ์์ ํ ๋ ํญ์ ์๋น์ค๋ฅผ ๋จผ์ ์ข
๋ฃํ๊ณ ์์ ํ ํ ๋ค์ ์คํํด์ผํฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฐ์๋์ง ์์ ๋ฟ๋๋ฌ ์ค์ ํ ๊ฐ์ด ์์ ๋ณต๊ท ๋ฉ๋๋ค.
service transmission-daemon stop
๋ง์ ์ต์ ๋ค ์ค ํ์ํ ๊ฒ๋ค๋ง ๊ฑด๋๋ ค์ ์ฌ์ฉํ๊ธฐ ํธํ๋๋ก ํด๋ณด๊ฒ ์ต๋๋ค.
cd /etc/transmission-daemon vim settings.json
{ ... "blocklist-enabled": true, "blocklist-url": "http://john.bitsurge.net/public/biglist.p2p.gz", "download-dir": "/srv/nextcloud/[Nextcloud๊ณ์ ๋ช ]/files/Plex/Downloads", "download-queue-enabled": true, "rpc-authentication-required": false, "rpc-host-whitelist": "[Transmission๋๋ฉ์ธ]", "rpc-host-whitelist-enabled": true, "rpc-password": "[Transmission๋น๋ฐ๋ฒํธ]", "rpc-port": 9091, "rpc-username": "[Transmission๊ณ์ ๋ช ]", "script-torrent-done-enabled": true, "script-torrent-done-filename": "/etc/transmission-daemon/AutoRemove.sh", "speed-limit-up": 0, "speed-limit-up-enabled": true, "trash-original-torrent-files": true, "umask": 2, ... }
blocklist-enabled
์ฐจ๋จ ๋ฆฌ์คํธ๋ค์ ์ฐจ๋จ ์ฌ๋ถblocklist-url
ํ์๋ฒ์ ์คํ์ด์จ์ด๋ ๋ฉ์จ์ด ๋ฑ์ ์ฌ์ด ๊ณต๊ฒฉํ๋ ค๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ์ฐจ๋จ ๋ฆฌ์คํธdownload-dir
ํ์ผ์ด ๋ค์ด๋ก๋ ๋๋ ๊ฒฝ๋กdownload-queue-enabled
๋์ ๋ค์ด๋ก๋ ๊ฐฏ์ ์ง์ ์ฌ๋ถ (์ ๋งํด์ ๊ธฐ๋ณธ๊ฐ์ธ true๋ก ๋์ธ์. ํ์ผ์์คํ ๊ณผ๋ถํ ๋ฐฉ์ง)rpc-authentication-required transmission
์น ์ ์ํ ๋ ๋ก๊ทธ์ธ ์ฌ๋ถ (nginx์ ๋ก๊ทธ์ธ์ ์ฌ์ฉํ์ฌ fail2ban๊น์ง ์ ์ฉํด ๋ณด์์ ๊ฐํํ ๊ฒ์ด๋ผ false๋ผ๊ณ ์ ๋ ฅํจ)rpc-host-whitelist
ํ์ฉํ ๋๋ฉ์ธrpc-host-whitelist-enabled
๋๋ฉ์ธ ํ์ดํธ๋ฆฌ์คํธ ํ์ฑํ ์ฌ๋ถrpc-password
Transmission ์๋น์ค์ ๊ณ์ ๋น๋ฐ๋ฒํธrpc-port
Transmission ์๋น์ค๋ฅผ ์คํํ ํฌํธrpc-username
Transmission ์๋น์ค์ ๊ณ์ ๋ชscript-torrent-done-enabled
ํ๋ ์ด์์ ๋ค์ด๋ก๋๊ฐ ๋๋ฌ์ ๋ ์คํฌ๋ฆฝํธ ์คํ ์ฌ๋ถscript-torrent-done-filename
ํ๋ ์ด์์ ๋ค์ด๋ก๋๊ฐ ๋๋ฌ์ ๋ ์คํํ ์คํฌ๋ฆฝํธ ๊ฒฝ๋กspeed-limit-up
์ ๋ก๋ ์ต๋ ์๋ (๋ณดํต ๋ค์ด๋ก๋๋ฅผ ํ์ผ๋ฉด ์ ๋ก๋๋ ํด์ฃผ๋ ๊ฒ์ด ํ ๋ ํธ ๊ท์น์ด์ง๋ง ๋ฒ๋ฅ ๋ฑ์ ๋ฌธ์ ๋ก ์ธํด ์ด๊ธฐ์ ์ด๊ฒ ์ง๋ง ์ ๋ก๋๋ ์ ํ๋ ๊ฒ์ด ์ข์ผ๋ 0์ผ๋ก ์ค์ )speed-limit-up-enabled
์ ๋ก๋ ์๋ ์ ํ ์ฌ๋ถtrash-original-torrent-files
.torrent ์๋ ํ์ผ์ ๋ฑ๋กํ๋ฉด ์๋์ผ๋ก ์ ์ฅ์ด ๋๋๋ฐ ์ด ํ์ผ์ ์๋์ผ๋ก ์ญ์ ํ ์ง ์ฌ๋ถumask
๋ค์ด๋ก๋ํ ํ์ผ์ ๋ถ์ฌํ umask (2๋ก ์ค์ ํ๋ฉด ํด๋ 775(rwxrwxr-x), ํ์ผ 664(rw-rwโ-) ๊ถํ์ด ์๊ฒจ Nextcloud์ ์ดํ ์ค์นํ Plex์์ ์ ์ฐํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ)
๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๊ณ ๋๋ ์๋ ์ญํ ์ํ์ ์ํด ํ ๋ ํธ๊ฐ ๋จ์์๋๋ฐ ์ด์งํผ ์๋ ์ญํ ์ํ์ ๋ชปํ๊ฒ ์
๋ก๋ ์๋๋ฅผ 0์ผ๋ก ๋ง์ท๊ธฐ ๋๋ฌธ์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด ๋ฆฌ์คํธ์์ ์๋ ์ญ์ ๋๋๋ก ํด๋ณด๊ฒ ์ต๋๋ค.
cd /etc/transmission-daemon vim AutoRemove.sh
SERVER="9091 --auth [Transmission์์ด๋]:[Transmission๋น๋ฐ๋ฒํธ]" TORRENTLIST=`transmission-remote $SERVER --list | sed -e '1d;$d;s/^ *//' | cut --only-delimited --delimiter=" " --fields=1` for TORRENTID in $TORRENTLIST do DL_COMPLETED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "Percent Done: 100%"` STATE_STOPPED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "State: Seeding\|Stopped\|Finished\|Idle"` if [ "$DL_COMPLETED" ] && [ "$STATE_STOPPED" ]; then transmission-remote $SERVER --torrent $TORRENTID --remove fi done
AutoRemove.sh
๋ผ๋ ์ ํ์ผ์ ์๋ ๋ด์ฉ ์ค ์ฒซ ์ค์[Transmission์์ด๋]
์[Transmission๋น๋ฐ๋ฒํธ]
๋ง ์์ ํด์ ์์ฑํ์๋ฉด ๋ฉ๋๋ค.
์์ฑํ ํ์ผ์ ์์ ์์ ๊ถํ Transmission
์ด ์ฌ์ฉํ ์ ์๋๋ก ๋ฐ๊ฟ์ฃผ์ธ์.
chown debian-transmission:debian-transmission AutoRemove.sh
chmod u+x AutoRemove.sh
์ค์ ์ด ์๋ฃ ๋์์ผ๋ฉด ์๋น์ค๋ฅผ ์์ํฉ์๋ค.
service transmission-daemon start
์ธ๋ถ์์ Transmission
์น ์๋น์ค์ ์ ์ํ๋ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
http://[ํ์๋ฒ๋๋ฉ์ธ]:9091
์ฃผ์๋ฅผ ์ ์์ ๋ ๋ชจ๋ ์น ์๋น์ค๊ฐ https์ธ 443ํฌํธ๋ก ์์ ํ๊ฒ ์ ์ํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค.
๋๊ตฐ๋ค๋ ํฌํธํฌ์๋ฉ, ๋ฐฉํ๋ฒฝ ์ค์ ์์ด ๋ฏธ๋ฆฌ ์ด์ด๋์ ์น ํฌํธ๋ก๋ง ํต์ ํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค.
๋ฐ๋ผ์ Nginx
์์ Revese proxy
๋ฅผ ๊ตฌ์ฑํ๊ณ ์ธ๋ถ์์ https://[Transmission๋๋ฉ์ธ]
์ผ๋ก ์ ์ํ๋ฉด ๋ด๋ถ์์ http://127.0.0.1:9091
๋ก ์ ์ํ ํ์ด์ง๋ฅผ ์ ๋ฌ ํด์ฃผ๋๋ก ์ค์ ํ๊ฒ ์ต๋๋ค.
๋ํ fail2ban
์ ์ํด Transmission
์ ์ธ์ฆ ์ค์ ์ ํด์ ํ์๊ธฐ ๋๋ฌธ์ Nginx
์์ htpasswd
์ธ์ฆ๊น์ง ๋ค๋ค์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
์ํ์น ํด์ธ htpasswd
๋ช
๋ น์ด๋ก ํ์ผ ์ด๋ฆ์ ๊ณ์ ๋ช
์ผ๋ก ํ๊ณ ๋ช
๋ น์ด๋ฅผ ์คํํ์ธ์.
์ด์ ๋น๋ฐ๋ฒํธ๋ฅผ 2ํ ์
๋ ฅํ์๋ฉด ์ธ์ฆ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
apt install apache2-utils -y
htpasswd -c /etc/transmission-daemon/.htpasswd [Transmission๊ณ์ ๋ช
]
๋ค๋ฅธ ์๋ฒ๋ธ๋ก๋ค๊ณผ ๋ค๋ฅด๊ฒ error_log
๋ฅผ ์์ฑํ์ง ์์๊ณ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ๋๋ก ๋์ด์์ต๋๋ค.
์ด๋ฌ๋ฉด nginx
์ ๊ธฐ๋ณธ๊ฐ์ ํตํด Transmission
์ ๋ชจ๋ ์๋ฌ ๋ก๊ทธ๊ฐ /var/log/nginx/error.log
ํ์ผ์ ์์ฑ๋ฉ๋๋ค.
๋์ค์ ๋ณด์ ์ค์ ํ fail2ban์ ์ํ ๊ฒ์
๋๋ค.
vim /etc/nginx/sites-available/[Transmission๋๋ฉ์ธ]
server { listen 80; server_name [Transmission๋๋ฉ์ธ]; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name [Transmission๋๋ฉ์ธ]; access_log /var/log/nginx/rpc.access.log; ssl_certificate /etc/letsencrypt/live/[๋๋ฉ์ธ]/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/[๋๋ฉ์ธ]/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/[๋๋ฉ์ธ]/chain.pem; ssl_dhparam /etc/ssl/dhparam.pem; ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256; ssl_ecdh_curve secp384r1; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security max-age=15552000; add_header X-Content-Type-Options "nosniff" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always; client_max_body_size 0; auth_basic ""; auth_basic_user_file /etc/transmission-daemon/.htpasswd; location / { proxy_pass http://127.0.0.1:9091; proxy_http_version 1.1; proxy_pass_header X-Transmission-Session-Id; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
ln -s /etc/nginx/sites-available/[Transmission๋๋ฉ์ธ] /etc/nginx/sites-enabled/
Nginx์ ์ค์ ์ ๋ฐ์ํฉ์๋ค.
service nginx restart
์น ๋ธ๋ผ์ฐ์ ๋ก https://[Transmission๋๋ฉ์ธ]
์ ์ ์ํ ํ htpasswd
๋ก ์ค์ ํ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ์ ํฉ์๋ค.
์ผ์ชฝ ์ ํด๋ ๋ชจ์์ ๋๋ฅด๊ณ ํ ๋ ํธ ์๋ ํ์ผ์ด๋ ๋ง๊ทธ๋ท์ ๋ฃ์ด์ฃผ๋ฉด ๋ค์ด๋ก๋๊ฐ ์์๋ฉ๋๋ค.
์๋๋ก์ด๋ ์ฑ๋ ์์ผ๋ ์ค์นํด์ ์ฌ์ฉํด ๋ณด์ธ์.
์ฑ์ผ๋ก ์ ์ ํ ๋๋ ์๋ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ฃผ์
[Transmission๋๋ฉ์ธ]ํฌํธ
443ํ ๋ ํธํ๋ฉด ๋ ๋น ์ง ์ ์๋๊ฒ ์ ์๊ถ๋ฒ ๋ฌธ์ ์
๋๋ค.
๋จธ๋ฆฌ ์ํ์ง ๋ง๊ณ ๋ช๊ฐ์ง๋ง ๊ผญ ๊ธฐ์ตํด์ ์ฃผ์ํ๋ฉฐ ์ฌ์ฉํด์ฃผ์ธ์.
์ฐ์ ๊ด๋ จ ๋ฒ๋ น๋ถํฐ ํ๋ฒ ๋ด ์๋ค.
๋ํ๋ฏผ๊ตญ ์ ์๊ถ๋ฒ ์ 1์ฅ ์ 30์กฐ
์ 30์กฐ(์ฌ์ ์ด์ฉ์ ์ํ ๋ณต์ ) ๊ณตํ๋ ์ ์๋ฌผ์ ์๋ฆฌ๋ฅผ ๋ชฉ์ ์ผ๋ก ํ์ง ์๋ํ๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ด์ฉํ๊ฑฐ๋ ๊ฐ์ ๋ฐ ์ด์ ์คํ๋ ํ์ ๋ ๋ฒ์ ์์์ ์ด์ฉํ๋ ๊ฒฝ์ฐ์๋ ๊ทธ ์ด์ฉ์๋ ์ด๋ฅผ ๋ณต์ ํ ์ ์๋ค. ๋ค๋ง, ๊ณต์ค์ ์ฌ์ฉ์ ์ ๊ณตํ๊ธฐ ์ํ์ฌ ์ค์น๋ ๋ณต์ฌ๊ธฐ๊ธฐ, ์ค์บ๋, ์ฌ์ง๊ธฐ ๋ฑ ๋ฌธํ์ฒด์ก๊ด๊ด๋ถ๋ น์ผ๋ก ์ ํ๋ ๋ณต์ ๊ธฐ๊ธฐ์ ์ํ ๋ณต์ ๋ ๊ทธ๋ฌํ์ง ์๋ํ๋ค. <๊ฐ์ 2020. 2. 4.>
https://www.law.go.kr/๋ฒ๋ น/์ ์๊ถ๋ฒ/(20201208,17592,20201208)/์ 30์กฐ
์ฐ์ ํ ๋ ํธ๋ก ๋ค์ด๋ฐ์ ๊ฒ์ ์ ๋ ๋ค๋ฅธ์ฌ๋์๊ฒ ๋ฐฐํฌํ์ง ๋ง์ธ์.
๋๋ฌด ๋น์ฐํ๊ฑฐ์ง ์์ต๋๊น?
๋, ์ด์ ์ ํ์ํ
๋ฐ Transmission
์ ์
๋ก๋ ์๋ ์ ํ์ 0
์ผ๋ก ์ค์ ํ์
์ผํฉ๋๋ค.
ํ ๋ ํธ ๊ท์น ์์์ ๋ค์ด๋ฐ์์ผ๋ ๋ฐฐํฌ๋ ํด์ฃผ๋๊ฒ ์ฌ๋ฐ๋ฅธ ํ๋์ด์ง๋ง ๊ทธ๋ ๊ฒ๋๋ฉด ์๋ฌด๋ฆฌ ์กฐ๊ฐ์ด๋ผ๊ณ ํด๋ ๋ฐฐํฌ๋ฅผ ํ ๊ฒ์ด ๋๋ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ฐฐํฌ๋ฅผ ํ์ง๋ง๊ณ ์์ ๋ ๋ชจ๋ฅด๊ฒ ๋ฐฐํฌ๋ ์ ์๋ ์
๋ก๋๋ฅผ ์ ํ ๊ฑธ์ด๋์
์ผ ํฉ๋๋ค.
์ด ํญ๋ชฉ์ ๋ค์ ์ฑํฐ์ธ Plex
์ค์นํด์ ์ง์ ํ์ธํด ๋ณผ ๊ฒ์
๋๋ค.
๋ณดํต ๋๋ผ๋ง, ์๋ฅ, ์ํ ๋ฑ์ ๋ง์ด ํ ๋ ํธ๋ก ๋ฐ์ ์์ฒญํ์คํ
๋ฐ Plex
์ ๋ถ๋ฅ๊ฐ ๋์์๋ ๊ฒ์ ๋ค๋ฅธ์ฌ๋๋ค๊ณผ ํจ๊ป ๋ณด๊ธฐ์ํด Plex
์ฌ์ดํธ ๊ณ์ ์ ๊ณต์ ํ๋ ๊ฒ๋ ํ์ง ๋ง์ญ์์ค.
์ ๋งํ๋ฉด ๊ทธ๋ฅ ์๊ธฐ ์์ ๋ง์ ์ํด ์ฌ์ฉํ์๊ธธ ๋ฐ๋๋๋ค.
๊ทธ๋์ผ ์ฌ์ ์ด์ฉ์ ์ํ ๋ณต์ ํญ๋ชฉ์ด ์ฑ๋ฆฝํ์ง ์๊ฒ ์ต๋๊น?
ํต์ ์ฌ TV ๊ฐ์
์ ํ๋ ๋ทํ๋ฆญ์ค ๊ฒฐ์ฌ๋ฅผ ํ๋ ๊ทธ๋ฅ ์ ๋ฃ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์ผ ๋ฐ๋์งํ ํ๋์ด๊ธด ํฉ๋๋ค.
๋ฌด๋ฃ๋ก ์ด๋ฌํ ํํ์ ๋๋ฆฌ๋ ๊ฒ์๋ ํญ์ ๋ฆฌ์คํฌ๋ ์กด์ฌ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ป๊ฒ ๋ฌธ์ ๊ฐ ์๊ธธ์ง๋ ๊ผญ ์ผ๋ํ์
์ผ ํฉ๋๋ค.
๋ฌธ์ ๊ฐ ์๊ธธ ๊ฒ ๊ฐ์ ๊ฒฝ์ฐ ์ธํฐ๋ท์ ๋์๋ค๋๋ ํ๋ก๋ค์ ์ ์ดํด๋ณด์๊ณ ์ฌ์ฉํ์๋ฉด ๋๊ฒ ์ต๋๋ค.
์ฐ์ Transmission ์น ๋ก๊ทธ์ธ ์ฐฝ์์ ์ฌ๋ฌ ๋ฒ ํ๋ฆฌ๊ฒ ์ ๋ ฅํด์ ๋ก๊ทธ๊ฐ ๋จ๋๋ก ํ ๋ค์ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
์๋ฌ ๋ก๊ทธ ํ์ธ
tail /var/log/nginx/error.log
2021/03/27 23:07:37 [error] 7148#7148: *1 user "qwer" was not found in "/etc/transmission-daemon/.htpasswd", client: 192.168.0.1, server: [Transmission๋๋ฉ์ธ], request: "GET / HTTP/2.0", host: "[Transmission๋๋ฉ์ธ]" 2020/03/27 23:16:18 [error] 7148#7148: *135 user "qwe" was not found in "/etc/transmission-daemon/.htpasswd", client: 192.168.0.1, server: [Transmission๋๋ฉ์ธ], request: "GET / HTTP/2.0", host: "[Transmission๋๋ฉ์ธ]" 2021/03/27 23:16:19 [error] 7148#7148: *135 user "asd" was not found in "/etc/transmission-daemon/.htpasswd", client: 192.168.0.1, server: [Transmission๋๋ฉ์ธ], request: "GET / HTTP/2.0", host: "[Transmission๋๋ฉ์ธ]" 2021/03/27 23:16:20 [error] 7148#7148: *135 user "zxc" was not found in "/etc/transmission-daemon/.htpasswd", client: 192.168.0.1, server: [Transmission๋๋ฉ์ธ], request: "GET / HTTP/2.0", host: "[Transmission๋๋ฉ์ธ]" 2021/03/27 23:16:22 [error] 7148#7148: *135 user "cvb" was not found in "/etc/transmission-daemon/.htpasswd", client: 192.168.0.1, server: [Transmission๋๋ฉ์ธ], request: "GET / HTTP/2.0", host: "[Transmission๋๋ฉ์ธ]"
์ฒซ ๋ฒ์งธ ์ค์ ์์๋ก ๋ค๋ฉด
192.168.0.1
์์[Transmission๋๋ฉ์ธ]
์ผ๋ก ์ ์ qwer๊ฐ ๋ก๊ทธ์ธ์ ์๋ํ๋๋ฐ ์คํจํ๋ค๊ณ ๊ธฐ๋ก์ด ๋จ์์ต๋๋ค.
fail2ban ๊ฐ์ฅ ์์ฑ
vim /etc/fail2ban/jail.d/nginx-http-auth.conf
[nginx-http-auth] backend = auto enabled = true port = 80,443 protocol = tcp filter = nginx-http-auth logpath = /var/log/nginx/error.log
fail2ban
์์๋ ์ด nginx ๋ก๊ทธ ํํฐ๋ง ์ ๊ท์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํด์ฃผ๋ฏ๋ก ์ด๋ฅผ ์ด์ฉํ๋ฉด ํธ๋ฆฌํฉ๋๋ค.
fail2ban ์๋น์ค๋ ๋๊ธฐ์ง ์๊ณ ๋์ํด์ผํ๋ reload
๋ฅผ ํตํด ์ค์ ์ ์ ์ฉ์์ผ ์ฃผ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ์ด ์ ์ ์๋ ํ๋์ง ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
service fail2ban reload fail2ban-client status nginx-http-auth
Status for the jail: nginx-http-auth |- Filter | |- Currently failed: 0 | |- Total failed: 0 | `- File list: /var/log/nginx/error.log `- Actions |- Currently banned: 0 |- Total banned: 0 `- Banned IP list:
์ด์ ์ค๋งํธํฐ ๋ชจ๋ฐ์ผ ๋ฐ์ดํฐ ํ๊ฒฝ์ผ๋ก Transmission
์น์ผ๋ก ์ ์์ ํ๊ณ ์ผ๋ถ๋ฌ 5๋ฒ ๋ก๊ทธ์ธ์ ์คํจํ ๋ค ํ์ธํด๋ณด๋ฉด ์ ์์ ์ผ๋ก ๋ฒค ๋นํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
fail2ban-client status nginx-http-auth
Status for the jail: nginx-http-auth |- Filter | |- Currently failed: 1 | |- Total failed: 5 | `- File list: /var/log/nginx/error.log `- Actions |- Currently banned: 1 |- Total banned: 1 `- Banned IP list: 223.39.149.49
๋ณด์๊น์ง ์๋ฒฝํ๊ฒ ๋๋์ต๋๋ค.
์ด์ ์ฌ์ฉํ ์ผ๋ง ๋จ์๋๋ฐ ์๋์ผ๋ก ๋ค์ด ๋ฐ ๋ถ๋ฅ๋ฅผ ํด์ฃผ๋ rss feeback
์ ํ์ฉํ flexget
ํ๋ก๊ทธ๋จ์ ๋ค์ ์ฑํฐ์์ ์ค์นํ ๋ฏธ๋์ด ์๋ฒ Plex
๊น์ง ์ค์น ํ ๋ค์ ๋ง์ง๋ง ์ฑํฐ์์ ์ ์ฉํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.