Інтернет сьогодні – це динамічне середовище, наповнене різноманітним контентом, включно з шкідливим і потенційно небезпечним. З огляду на іноді надмірний характер контенту, батьки вдаються до інструментів батьківського контролю та комерційних фільтраційних рішень. Хоча ці засоби можуть бути ефективними, вони часто не підходять для персоналізації Linux-комп’ютера, щоб ним могли зручно користуватися діти.
На щастя, користувачам Linux доступна чудова програма з відкритим кодом, яка пропонує ефективні функції батьківського контролю в Інтернеті. Йдеться про DansGuardian, систему веб-фільтрації з відкритим кодом, яку відносно легко налаштувати. На відміну від комерційних фільтрів, вона працює не тільки на основі списку заборонених сайтів. Натомість користувачі можуть гнучко налаштувати фільтр під свої потреби, захищаючи дітей від неприйнятного онлайн-контенту.
Програмне забезпечення DansGuardian сумісне з усіма дистрибутивами Linux. Проте, Ubuntu є зручним стартовим майданчиком для більшості новачків. Тому ми зосередимося переважно на налагодженні роботи з Ubuntu Linux. Однак, якщо ви використовуєте іншу операційну систему, ви завжди можете звернутися до офіційного веб-сайту для отримання додаткової інформації.
Встановлення DansGuardian
Для початку відкрийте термінал і введіть наступну команду:
sudo apt install iptables dansguardian squid
Після встановлення програми також рекомендується оновити Ubuntu, щоб забезпечити коректну роботу з останніми оновленнями.
sudo apt update sudo apt upgrade -y
Після завершення цих дій на Ubuntu буде встановлено всі важливі оновлення та найновішу версію DansGuardian. Наступний крок – налаштування проксі-системи.
Налаштування проксі-сервера Squid
Squid – це проксі-сервер для веб-кешування, що взаємодіє з DansGuardian для більш ефективної фільтрації контенту та прискорення веб-трафіку. Налаштування Squid передбачає зміну деяких параметрів порту. Скористайтеся інструментом `sed` для модифікації `http_port`.
sudo sed -i 's/http_port 3128/http_port 3128 transparent/g' /etc/squid/squid.conf
Після зміни `http_port` необхідно також оновити налаштування `always_direct` на «дозволити все». Знову використовуйте `sed` для цієї зміни.
sudo sed -i 's/# always_direct allow local-servers/always_direct allow all/g' /etc/squid/squid.conf
Тепер Squid налаштовано належним чином. Запустіть його за допомогою команди:
sudo squid start
Налаштування DansGuardian
Після запуску проксі-сервера Squid, необхідно налаштувати “чорні списки” у програмі фільтрації. У цьому розділі ми не надаємо конкретних “чорних списків” для сайтів, URL-адрес тощо, оскільки потреби кожного з батьків відрізняються. Використовуючи текстовий редактор Nano, перегляньте та відредагуйте відповідні файли конфігурації, щоб вказати, який контент блокувати.
Примітка: майте на увазі, що діти можуть знайти способи обійти ці обмеження. Тому, можливо, вам знадобиться додатково дослідити це питання, щоб досягти найкращих результатів. Для цього ви можете звернутися за порадою до онлайн-форумів для батьків.
Для редагування списку заборонених розширень у DansGuardian виконайте команду:
sudo nano /etc/dansguardian/lists/bannedextensionlist
Відредагуйте список заборонених веб-сайтів за допомогою команди:
sudo nano /etc/dansguardian/lists/bannedsitelist
Нарешті, відредагуйте список заборонених URL-адрес за допомогою команди:
sudo nano /etc/dansguardian/lists/bannedurllist
Збережіть внесені зміни, натиснувши Ctrl + O, та вийдіть з Nano, натиснувши Ctrl + X.
Зауважте, що DansGuardian може вимагати IP-адреси для веб-сайтів та URL-адрес, крім їх доменних імен. Щоб дізнатися IP-адресу загальнодоступного веб-сайту, скористайтеся командою `ping` в терміналі, наприклад:
ping facebook.com -c1
Загальнодоступна IP-адреса Facebook буде відображена в дужках.
Конфігурація Squid
Squid зараз працює. Залишилось внести ще кілька змін до налаштувань. Почніть з видалення рядка «unconfigured» з файлу конфігурації.
sudo sed -i 's/UNCONFIGURED - Please remove this line after configuration/#UNCONFIGURED - Please remove this line after configuration/g' /etc/dansguardian/dansguardian.conf
Далі змініть параметр `filterp` на IP-адресу локального хоста (127.0.0.1).
sed -i 's/filterip =/filterip = 127.0.0.1/g' /etc/dansguardian/dansguardian.conf
Змініть параметр `daemonuser` у файлі конфігурації DansGuardian на `proxy`.
sed -i 's/#daemongroup = 'dansguardian'/daemongroup = 'proxy'/g' /etc/dansguardian/dansguardian.conf
Змініть значення `accessdeniedaddress` у файлі `dansguardian.conf`, вказавши на правильну URL-адресу.
sed -i 's/accessdeniedaddress="https://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl"/accessdeniedaddress="https://localhost/cgi-bin/dansguardian.pl"/g' /etc/dansguardian/dansguardian.conf
Далі заблокуйте всі підключення на комп’ютері, крім тих, що проходять через проксі.
sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j DROP
sudo bash -c "iptables-save > /etc/dansguardian/iptables.save"
sudo sed -i "/exit 0/d" /etc/rc.local
sudo echo "iptables-restore /etc/dansguardian/iptables.save exit 0 " >> /etc/rc.local
Крім того, скористайтеся цією командою, щоб розблокувати певного користувача та заблокувати всіх інших. Замініть `USER` на ім’я вашого користувача.
sudo iptables -A OUTPUT -o lo -p tcp --dport 3128 -m owner --uid-owner USER -j ACCEPT
sudo bash -c "iptables-save > /etc/dansguardian/iptables.save"
sudo sed -i "/exit 0/d" /etc/rc.local
sudo echo "iptables-restore /etc/dansguardian/iptables.save exit 0 " >> /etc/rc.local
Нарешті, змініть права доступу до файлів журналу DansGuardian, щоб користувач проксі міг отримати до них доступ, і запустіть DansGuardian.
sudo chown -R proxy:proxy /var/log/dansguardian sudo systemctl enable dansguardian sudo systemctl start dansguardian
Налаштування проксі
Щоб розпочати використання DansGuardian, відкрийте термінал і введіть наступні команди проксі:
gsettings set org.gnome.system.proxy mode 'manual' gsettings set org.gnome.system.proxy.http host 'localhost' gsettings set org.gnome.system.proxy.http port 8080
Закрийте термінал після завершення цих дій. Ubuntu має почати використовувати проксі DansGuardian.