Ubuntu 16.04 için herhangi bir Uygulama düzeyinde güvenlik duvarı var mı? (GUI ile)


20

İtiraf etmeliyim ki, Linux dünyasında çok yeniyim ve bana çok yabancı gelen kavramlar var.

En çok özlediğim şey, basit ama iyi bir uygulama seviyesi güvenlik duvarı. Şu an itibariyle, tüm bu yaygın müdahaleci ve internete kalıcı bir bağlantı ile bilgisayarınızın tam olarak ne yaptığını, neden ve kiminle olduğunu bilmek şart. Bir protokol analizörü tamam ama çok dostça değil ve ev kullanıcıları için pratik olarak işe yaramaz olan “analiz” etmek için zaman alıyor.

Windows ortamlarında internete bağlanmaması gereken birçok program keşfettim, fakat yapıyorlar (ve ZoneAlarm içermeyen güvenlik duvarımla onları durdurabilirim).

Gufw (ve diğerleri) ile hangi uygulamaları zaten yüklediğinizi bilmek zorundasınız (ve bu modern işletim sistemlerinde milyarlarca kod satırı olan bunun neredeyse imkansız olduğunu biliyoruz).

Aradığım şey, kullanmaya çalıştığı porttan bağımsız olarak NIC / WAN bağlantısını izleyen ve herhangi bir program / uygulamayı veya proaktif bir şekilde "konuşmaya" çalışan bir güvenlik duvarıdır. iyi bilinen TCP portlarını kullanarak: 80, 443, 8080). Bu var mı? (Değilse, o zaman bilgisayarımı kesin olarak ne yaptığımı nasıl bilebilirim?)


1
Meraklı: Bu yılan yağı son zamanlarda ciddi problemleri (kaçınma gibi) önledi mi?
Monica’yı eski haline getirin - M. Schröder

Yanıtlar:


12

Gümrük

Douane, bir kullanıcının hangi uygulamaların GNU / Linux bilgisayarlarından internete bağlanabileceğini kontrol etmesine izin vererek kullanıcının gizliliğini koruyan kişisel bir güvenlik duvarıdır.


Kurulum

Şimdiye kadar (2017/05/22) Ubuntu paketi mevcut değil. Kaynağından inşa etmelisin.

Bu kurulum talimatları Douane Wiki'den gelen bilgilere dayanmaktadır ve Ubuntu 16.04.2 64-bit'de test edilmiştir.

Komutları çalıştırmak için bir terminal açın ( Ctrl+ Alt+ T).

Hazırlık

Sisteminizi güncelleyin:

sudo apt update
sudo apt full-upgrade

Bilgisayarınızı yeniden başlatmanızı isteyen bir bildirim alırsanız, yeniden başlatın.

Bağımlılıkları yükle

sudo apt install git build-essential dkms libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libssl-dev libgtkmm-3.0-dev python3 python3-gi python3-dbus

Derleme için bir dizin oluşturun

cd
mkdir Douane
cd Douane

Çekirdek modülü oluşturmak

git clone https://github.com/Douane/douane-dkms
cd douane-dkms
sudo make dkms

Modülün doğru kurulup kurulmadığını kontrol edin:

lsmod | grep douane

Gibi bir şey görmelisin:

douane                 20480  0

Daemon'u oluşturun

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-daemon
cd douane-daemon
make
sudo make install

Diyalog işlemini oluştur

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-dialog
cd douane-dialog
make
sudo make install

İletişim işlemini başlat:

/opt/douane/bin/douane-dialog &

Ardından çalışıp çalışmadığını kontrol edin:

pgrep -a douane-dialog

Gibi bir şey görmelisin:

21621 /opt/douane/bin/douane-dialog

Yapılandırıcıyı oluşturun

cd ~/Douane
git clone https://github.com/Douane/douane-configurator
cd douane-configurator
sudo python3 setup.py install

Daemon'u başlatın ve otomatik başlatmayı ayarlayın

/etc/init.d/douaneDaemon'un otomatik olarak başlatılmasını sağlamak için aşağıdaki metni dosyaya eklemek zorunda kaldım :

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

Düzenlemek için dosyayı açın:

sudo nano /etc/init.d/douane

Ardından, program açıklamasından sonra yukarıdaki metni yapıştırın. Basın Ctrl+ O, Enterardından kaydetmek için Ctrl+ Xeditörü çıkmak için.

Bu dosyayı ekledikten sonra dosyanın ilk 21 satırı:

#!/bin/bash
#
# douane      This shell script takes care of starting and stopping
#             douane daemon (A modern firewall at application layer)
#
# Author: Guillaume Hain zedtux@zedroot.org
#
# description: douane is the daemon process of the Douane firewall application. \
# This firewall is limiting access to the internet on application bases.

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

# Source function library.
. /lib/lsb/init-functions

Artık otomatik başlatmayı ayarlayabilir ve arka plan planını başlatabilirsiniz:

sudo systemctl daemon-reload
sudo systemctl enable douane
sudo systemctl start douane

Filtreyi etkinleştirin ve iletişim kutusunu otomatik başlat

Yapılandırıcıyı başlatın:

douane-configurator

Ardından ağ trafiğimi filtrelemek için Douane Kullan anahtarlarının ve açılışta Otomatik başlat Douane'ın açık olduğundan emin olun .

Filtreleme kurallarını Kurallar sekmesinden inceleyebilirsiniz. Bir kuralı sağ tıklatarak silmek için bir seçenek elde edersiniz.

Ölçek

Her şey yolundaysa, ağ bağlantıları kullanan uygulamaları açtığınızda izin isteyen Douane penceresini görmelisiniz.


1
Merhaba Eric, derhal cevabınız için çok teşekkür ederim. Bahsettiğim gibi ben Linux ile oldukça acemi. Soruyu göndermeden önce bu Douane olayını buldum, Douane sitesine baktım ve Ubuntu için bir "paket" yok, sadece "Archlinux" denilen bir şey için (sanırım linux'un başka bir dağıtımı) ... Ben de buldum bu bir el ile bir yeniden derleme ve kurulum yapan herhangi bir dağıtıma bunu adapte edebiliyorsa ... haklı mıyım? ... hiç kimse ubuntu için derlenmiş ve paketlenmiş değil mi?
jonabrv1965

1
Her şeyden önce tekrar destek için Eric'e teşekkür ederim ... Uhm ... Linux'ta bir uygulama oluşturmak ve çalıştırmak için 30'dan fazla adım ... Çok kullanıcı dostu değil, değil mi? ... Ben başlıyorum. Linux neden bu kadar düşük teknolojiye sahip insanların dışında olduğunu görüyorlar ... Bunu deneyeceğim (temelde M $ Windoze’den ne pahasına olursa olsun ayrılmam gerektiği için)
jonabrv1965

İkili sağlamak için bir PPA yok mu? Google launchpad.net/~zedtux/+archive/ubuntu/douane bulundu (ancak test etmedim).
Melebius

4

Açıklanan OpenSnitch adında yeni bir proje var.

https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux/

Proje sayfası https://www.opensnitch.io/

Bu noktada alfa yazılımı olarak kabul edilir ve garip bir şekilde Python ile yazılmıştır, ancak en azından yeni bir girişimdir, oysa Douane (bence) kurulumu çok daha zor olan çok eski bir programdır.

Feragatname: Her iki programı da kişisel olarak test etmedim, başka seçenek olup olmadığını bulmaya çalışıyordum ve henüz kimsenin OpenSnitch'ten bahsetmediğini fark ettim.


> "garip bir şekilde Python'da yazılmıştır" - hayır, garip değil, zaman kazanmak ve daha az hata yapmak için "sıcak" parçalar dışındaki her şey için yüksek seviyede bir dil kullanmak gerçekten çok iyi bir fikir.
Sarge Borsch

3

Bu gerçekten iyi bir soru, ama bunun gibi sorulardan nefret ediyorum çünkü güvenlik önemli değil demeden cevap vermeleri gerçekten zor.

İlk önce, güvenliğin önemli olduğunu söylememe izin verin, ancak Linux bunu Windows'tan çok daha farklı şekilde ele alıyor.

Öyleyse sorunuzu çözelim.

Öncelikle, bölge alarmı ile aynı şekilde çalışan bir güvenlik duvarı olmayacak. Linux sadece birine büyük bir ihtiyaç duymaz. Pek çok uygulama, aynı makinede kullanıyor olsanız bile, bir istemci / sunucu mimarisinde çalışır. Xorg harika bir örnek. Öncelikle bir sunucunuz var (bu durumda ekranda çizilen kısım) ve bir istemci (gedit) gedit sunucuya düğmelerini çizme, metni yerleştirme vb. Hakkında konuşuyor. Fare kadar basit bir şey olsa bile, bir fare aynı mimariye (ya da sahip olabilir) sahiptir. Bir program bilgiyi dinleyen ve onu aldığında veri gönderen bir sunucu görevi görür, ardından istemci bu "fare sunucusuna" bağlanır ve bilgi bekler.

Bu, Linux'ta öyle yaygındır ki, her ağ bağlantısı için izin isteyen bir "güvenlik duvarı" oluşturacak olsaydınız, muhtemelen kendi sunucusuna bağlanamadığı için onu yapılandıramazsınız.

Bunların hepsi çok kaba bir örnek, bazıları yanıltıcı çünkü çok yüksek. Ama yine de çok doğru.

Bizi Linux kullanıcılarını buna karşı korumak için, çok iyi bir "temel" iş yapan iki çok temel kuralımız var.

İlk olarak, root dışında hiçbir kullanıcı 1024'ün altındaki herhangi bir bağlantı noktasını açamaz. (Yine çok yüksek seviye). Bu, root erişiminiz olması gereken bir FTP sunucusunu (standart bir portta) bile çalıştırmak anlamına gelir. Bir kullanıcı olarak genellikle "yüksek portları" açabilirsiniz (1024'ün üstünde olanlar). Fakat ikinci kurala bakınız.

2. hiçbir işlem, işlemi başlatan kullanıcının erişemediği hiçbir dosyaya erişemez. (yine çok yüksek seviye) Eğer "coteyr" bir FTP sunucusunu başlatacak olsaydı, o zaman kötü durumda olan FTP sunucusu (yüksek seviye) sadece onu başlatan kullanıcı coteyr ile aynı erişime sahip olacaktı.

Bu iki kuralın birleşimi nedeniyle, bir şeyin güvenlik duvarını bağlamaya çalıştığı her seferinde yeni bir yol aradığını ve bunun için çok fazla talep bulunmadığını soran bir "yazılım" söz konusudur.

Bu, her zaman bir giden güvenlik duvarı kuralı oluşturabileceğinizi söyledi ve çoğu durumda bu muhtemelen kötü bir fikir değildir. Pek çok hizmet, ağ tabanlı soketleri değil, dosya tabanlı soketleri (veya bellek tabanlı) kullanacak şekilde yapılandırılabilir (ve varsayılan olarak).

Bir Gelen güvenlik duvarı kuralı, genellikle kural 1 veya 2 tarafından kalan tek boşlukları kapatır.

Demek istediğim bu. Güvenlik önemlidir ve söylemeye çalışmıyorum, sadece burada Linux ülkesinde farklı araçlarımız ve hedeflerimiz var. Linux kullanıcılarına ve grup izinlerine bakmanızı ve ardından boşlukları doldurmak için gfw ve IPTABLES gibi bir araç kullanmanızı öneririm.


3
> hiçbir işlem, işlemi başlatan kullanıcının erişemediği herhangi bir dosyaya erişemez - sizin ima ettiğiniz gibi Windows'tan farklı değildir . Bu bir işletim sistemi farkı değil. Dürüst olmak gerekirse, tüm geridönüş bağlantılarına yalnızca izin vermişseniz, böyle bir güvenlik duvarı aynı makinedeki herhangi bir TCP istemci / sunucu uygulamasına müdahale etmeyecektir - yalnızca ağ erişimini kontrol eden bir kurulum yapmak mükemmel bir şekilde mümkündür. (Ayrıca, Windows 9x kullanmıyorsanız, Windows ACL'leri, eğer bir şey varsa, geleneksel Unix izinlerinden daha güçlüdür. Ağ kısıtlamasıyla bir ilgisi yok.)
Bob

1
Aslında, cevabı tekrar okumak ... Tanınmış limanları kullanamamaktan ne kadar emin olabileceğimi de bilmiyorum - bu sadece sistem hizmetlerinin maskelenmesini önlemek için kullanışlıdır (örneğin sshd, 22 yaşında gibi davranmak gibi ), ancak soru görünüyor. veri sızması hakkında daha fazla soru sormak. Neredeyse tamamen giden bağlantılardır ve hangi bağlantı noktalarına bağlanmanıza izin verileceği ile ilgisi yoktur.
Bob

1
İlk önce bölge alarmı ile aynı şekilde çalışan giden bir güvenlik duvarı olmayacak. Linux'un tek bir ihtiyaç için büyük bir ihtiyacı yoktur - IP tabloları geleceği olduğu kadar gidenleri de kontrol eder, lütfen gerçekten bilmediğiniz şeyleri söyleme.
djsmiley2k - CoW

Merhaba Honza, "ödevim" turum sırasında seninki gibi birkaç kez cevap gördüm. Ve biraz anlıyorum ama ... ve büyük bir "ama" ... aradığım şey değil ... limanı, düşük pozlamayı (platformun düşük yaygınlığından dolayı) anlıyorum ve Bahsettiğiniz diğer bütün kavramlar… ama aradığım şey kolay bir şekilde anlamak (örneğin, zonealarm), bilgisayarımın bilgisayarın dışında ne yaptığını anlamaktır .. (Xorg / gedit, örneğinizi takip etmek, bir şey yapmak için internete gitmem gerekiyor mu? öyleyse neden / ne zaman / nerede olduğunu bilmek istiyorum / ihtiyacım var ...
jonabrv1965 23:17

O zaman biraz daha derine ineceksin. netstatşimdi deneyin kutumda 1354 açık bağlantı var. Bunlardan 65'i ağ bağlantısı. Bu benim için oldukça düşük bir sayı (herkes için olduğunu söylemiyorsunuz) ama o zaman bu bağlantıların her birinin ne yaptığını bulmaya çalışacaksınız. Dediğim gibi, güvenlik önemli değil, sadece çok farklı bir ortam.
coteyr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.