Як налаштувати дружній до дітей ПК з Linux

Інтернет сьогодні – це динамічне середовище, наповнене різноманітним контентом, включно з шкідливим і потенційно небезпечним. З огляду на іноді надмірний характер контенту, батьки вдаються до інструментів батьківського контролю та комерційних фільтраційних рішень. Хоча ці засоби можуть бути ефективними, вони часто не підходять для персоналізації 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.