Schlagwort-Archiv: Debian

Samba Freigabe unter Debian

Samba Installieren:
apt-get install samba samba-common

Neue Festplatte formatieren:
Man muss als erstes rausfinden, welches Gerät die neue Festplatte ist. Normalerweise ist die 1. Festplatte das System und somit das Gerät /dev/sda1. Die neue Festplatte ist bei also /dev/sdb1, da ich keine weitere Festplatte angeschlossen habe.  Mit dem Befehl „df“, kann man das überprüfen:

/dev/sda5 234466152 2074648 220458220 1% /

Auf sda5 ist debian installiert. /dev/sdb1 wird nicht angezeigt, da ja noch keine Partition angelegt wurde und die Festplatte auch noch nicht eingebunden ist.

Meine neue platte ist /dev/sdb1. Deshalb muss ich folgendes eingeben:
cfdisk /dev/sdb1
select label: GPT

Jetzt kann man die Festplatte mit EXT4 formatieren:
mkfs.ext4 /dev/sdb1

Wer lieber EXT3 will:
mkfs.ext3 /dev/sdb1

Für NTFS:
mkfs.ntfs /dev/sdb1

Verzeichnis für die Daten anlegen:
Hier werden die Daten gespeichert, die im Netzlaufwerk verfügbar sind.

mkdir /media/share

Damit die Benutzer im Ordner auch speichern können, muss man noch die nötigen Schreibrechte setzen:
chmod 770 /media/share

Jetzt kann man die Fetplatte mounten:
mount /dev/sdb1 /media/share/

Beim Neustart wäre die Festplatte nocht mehr gemountet. Damit dies bei jedem Systemstart gemountet wird, muss man die Datei /etc/fstab anpassen.

vim /etc/fstab

Jetzt fügt man folgende Zeile ein:
/dev/sdb1 /media/share ext4 rw 0 0

Wer eine andere Partition als ext4 hat, muss das auch bei fstab ändern!

Benutzer für Netzwerkfreigabe anlegen:

Anlegen eines Benutzer „gast“
useradd gast

Passwort für Linux-System anlegen:
passwd gast
Nach eingabe euer Passwort für Benutzer „gast“ eingeben.

Passwort für die Freigabe anlegen:
smbpasswd -a gast
Nach eingabe euer Passwort für Benutzer „gast“ eingeben.

Man kann ein Public-Verzeichnis auch ohne Anmeldung in SAMBA einrichten, aber aus Sicherheitsgründen rate ich davon ab und gehe darauf nicht weiter ein.

vim /etc/samba/smb.conf

Inhalt der Datei:

[global]
workgroup = Arbeitsgruppe
server string = Samba Server
dns proxy = no
wins support = yes
security = user
encrypt passwords = true
invalid users = root

[Daten]
path = /media/share/
writable = yes
valid users = gast
comment = Datenfreigabe
printable = no
public = no

Samba-Dienst neustarten:
/etc/init.d/samba restart
oder
service smbd restart

Jetzt kann man die Verbindung testen:

Netzlaufwerk unter Windows 10 verbinden.

Mein Server heiß Debian im Netz, man kann aber auch dafür die IP vom Server eintragen.
\Daten kommt von der der Samba Config ([Daten]). Wichtig ist, das man hier die 2 Haken setzt.
Damit beim Neustart, dass Laufwerk automatisch verbunden wird und man sich mit dem User Gast anmelden kann.

Tip:
Ich habe eine zweite Netzwerkkarte eingebaut. Man kann Samba sagen, das es eth1 und nicht eth0 verwenden soll.

Kopiert was auf das Netzlaufwerk und gebt beim Server folgendes ein:

netstat -tapn | grep smbd

Jetzt sollte da die IP von eth1 zu sehen sein. Habe die Zeile makiert.

tcp 0 0 192.168.1.7:445 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.11:445 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 127.0.0.1:445 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.7:139 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.11:139 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 127.0.0.1:139 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.11:445 192.168.1.5:61417 VERBUNDEN 1386/smbd
tcp6 0 0 ::1:445 :::* LISTEN 1369/smbd
tcp6 0 0 ::1:139 :::* LISTEN 1369/smbd

Debian 9 Proxy Squid3 mit ClamAV (squidclamav)

Da es auf unserem Hof noch kein DSL gibt und ich 2 Jahre vergeblich bei der Telekom auf einen Telefonschluss warten musste, hatte ich nach einer anderen Lösung gesucht. Da blieb nur noch SAT oder LTE. Wir haben jetzt LTE genommen. Leider war der Empfang nicht ohne weiteres möglich, es musste eine Doppelaußenantenne her. Die LTE Antenne muss genau ausgerichtet werden und zum nächsten LTE- Masten zeigen. Das bekommt man beim Provider raus. Aber das ging auch nicht lange gut, weil der Traffic nie gereicht hat. Wir haben zwar 32 GB Traffic, aber das klingt mehr wie es ist.
Das Problem ist aber, dass sämtliche Geräte immer Updates machen wollen. Telefon, Smartphone, Laptop, … Heute kann man für fast alles Firmwares aktualisieren. Die Updates sind aber oft schon ein paar GB groß, dann geht man vieleicht noch auf facebook, da starten dann erstmal schön Videos und ein Haufen Werbung und dann muss facebook und co noch schön Daten sammeln ; ). Firefox updates, … Telefon läuft ja auch noch über LTE, da ja der Anschluss noch nicht dran ist.
Damit jetzt Traffic reduziert wird, bietet sich ein Proxyserver an.

Squid3 und clameav installieren:

apt-get update && apt-get upgrade
apt-get install squid3 c-icap clamav clamdscan clamav-daemon libicapapi-dev gcc make curl libcurl4-gnutls-dev libapache2-mod-perl2

Damit clamav mit squid3 funktioniert muss noch squidclamav installiert werden:

# wget http://downloads.sourceforge.net/project/squidclamav/squidclamav/6.16/squidclamav-6.16.tar.gz
# tar xvfz squidclamav-6.16.tar.gz
# cd squidclamav-6.16
# ./configure --with-c-icap && make && make install
# cp -rf cgi-bin /usr/lib/
# chmod -r 775 /usr/lib/cgi-bin/
# a2enmod cgi
# service apache2 restart
# cd ..
# ldconfig
# ln -s /etc/c-icap/squidclamav.conf /etc/squidclamav.conf
# vim /etc/default/c-icap

Hier START=no auf START=yes ändern.

# vim /etc/c-icap/c-icap.conf
Bei ServerAdmin eure e-mail angeben.
Der Name vom Server wird bei ServerName angeben. z.B.:
ServerName debian.local
und ca. in line 570 muss man noch diese Zeile hinzufügen.

Service squidclamav squidclamav.so
Nun Config speichern und verlassen.

c-icap neustarten:
systemctl restart c-icap

Falls es auch Probleme mit ClamAV gibt:
# freshclam
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

Löscht einfach die Logdatei. Das ist kein Problem, da die log ja wieder automatisch erstellt wird:
# rm /var/log/clamav/freshclam.log

Ob clamav lokal funktioniert, kann man so testen:
# cd /tmp
# wget http://www.eicar.org/download/eicar.com
# clamscan --infected --remove --recursive /tmp

Jetzt sollte dieser Test-virus gefunden und entfernt worden sein:
/tmp/eicar.com: Eicar-Test-Signature FOUND
/tmp/eicar.com: Removed.

———– SCAN SUMMARY ———–
Known viruses: 6297800
Engine version: 0.99.2
Scanned directories: 10
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 10.403 sec (0 m 10 s)

Wichtig!
Bei Debian 8 war squid im Verzeichniss /etc/squid3/ , heute wo ich Debian 9 installiert habe liegt squid unter etc/squid/
Darum bitte die pfade überüfen!

cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

Konfiguration bearbeiten:
vim /etc/squid/squid.conf oder für nano freunde "nano /etc/squid/squid.conf"

visible_hostname debian.local
error_directory /usr/share/squid/errors/de/
forwarded_for off
via off
#cache
cache_mem 512 MB
maximum_object_size 20480 KB
maximum_object_size_in_memory 512 MB
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir ufs /var/spool/squid3 2000 16 256
#timeouts
forward_timeout 30 seconds
connect_timeout 30 seconds
read_timeout 30 seconds
request_timeout 30 seconds
persistent_request_timeout 1 minute
client_lifetime 20 hours
#DNS
dns_nameservers 192.168.1.1 8.8.8.8 8.8.4.4
url_rewrite_children 20
#defaults
acl localnet src 192.168.1.0/24
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl bad_url dstdomain "/etc/squid/blacklist"
#acl no_updates dstdomain "/etc/squid/msupdates"
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
deny_info ERR_ACCESS_DENIED bad_url
http_access deny bad_url
icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all
http_access allow localnet
http_port 3128
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320


squidclamav.conf bearbeiten:

nano /etc/squidclamav.conf

maxsize 5000000
redirect http://192.168.x.x/cgi-bin/clwarn.cgi
clamd_local /var/run/clamav/clamd.ctl
clamd_ip 192.168.x.x,127.0.0.1
clamd_port 3310
timeout 1
logredir 0
dnslookup 1
safebrowsing 0
debug 0
stat 0

Server squid3 neustarten:
service squid restart

Unter Debian 8:
service squid3 restart

nun Dienste neustarten:

service c-icap restart
service apache2 restart
service clamav-daemon restart
service squid restart

Cache löschen:
service squid3 stop
rm -rf /var/spool/squid/*
service squid3 start


Client mit Proxy verbinden, Firefox:

Proxy im Firefox hinterlegen

 

Windows Proxyeinstellungen hinterlegen:

Proxy Windows 10

Jetzt Testen:
Geht mit Firefox nun auf http://www.eicar.org/download/eicar.com

Ihr solltet nun das im Browser sehen:
SquidClamAv Virus detected

Wenn CGI nicht geht, muss man noch folgendes tun. (War bei Debian 9 so)

tail -f /var/log/apache2/error.log

Jetzt im Browser folgende URL aufrufen:
http://www.eicar.org/download/eicar_com.zip

Jetzt sollte sich die URL ändern in:
http://192.168.x.xx/cgi-bin/clwarn.cgi?url=http://www.eicar.org/download/eicar_com.zip&source=192.168.x.xx&user=-&virus=stream:%20Eicar-Test-Signature%20FOUND

Passiert das nicht, müsst ihr nochmal die Anleitung durchgehen.
Wenn die URL sich ändert, fehlt nicht mehr viel. Es funktioniert aber schon mal, das CGI soll nur eine Fehlerseite ausgeben und da gab es auch bei mir unter Debian 9 Probleme. Unter Debian 8 hatte ich keine Probleme.

Kommt beim Befehl a2enmod cgi:
„Can’t activate CGI module with „a2enmod cgi“

Hilft folgendes:
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod cgi
sudo service apache2 restart

Steht in der log Can’t locate CGI.pm in @INC (you may need to install the CGI module), muss man CGi wie folgt installieren:

#perl -e shell -MCPAN
install CGI
exit

gehts immer noch nicht ?
Dann sollte man das Verzeichnis /usr/lib/cgi-bin/ überprüfen, das muss als root ausführbar sein und es sollten folgende Datein enthalten sein:
-rwxr-xr-x 1 root root 1827 Jun 21 13:59 clwarn.cgi
-rwxr-xr-x 1 root root 1827 Jun 21 13:21 clwarn.cgi.de_DE
-rwxr-xr-x 1 root root 1777 Jun 21 13:21 clwarn.cgi.en_EN
-rwxr-xr-x 1 root root 1898 Jun 21 13:21 clwarn.cgi.fr_FR
-rwxr-xr-x 1 root root 1995 Jun 21 13:21 clwarn.cgi.pt_BR
-rwxr-xr-x 1 root root 2099 Jun 21 13:21 clwarn.cgi.ru_RU

Und zum Abschluss noch ein wichtiges Detail. SSL ist end to end Verschlüsselung, also vom Browser zum Server. Also der Lokale Rechner mit der verschlüsselten Webseite. Was ich damit sagen will, squidclamav kann nur HTTP scannen. Bei HTTPS klappt das nicht! Auch im non transparent modus wird direkt vom Browser verschlüsselt.
Also sollte lokal am Rechner trotzdem ein Virenscanner laufen!

NTP Server (Debian)

NTP (Network Time Protocol) ist ein Hintergrundprozess, der als Server die Zeit für andere Systeme bereitstellen kann.
Die Zeit kann auch nur für das lokale System verwendet werden. Hier möchte ich euch zeigen, wie man alle Geräte im Netzwerk (Client) mit einem eignen Server synchronisieren kann.

Als Erstes muss das NTP installiert werden:

apt-get update
apt-get install ntp

NTP ist jetzt installiert, aber der Dienst läuft noch nicht und muss erst konfiguriert werden.
Da standardmäßig NTP nur vom 127.0.0.1 funktioniert, also nur vom selben Rechner funktioniert.
Ich möchte aber alle Geräte über diesen Server synchronisieren. Mein Computer hat die IP 192.168.1.15.

vim /etc/ntp.conf oder nano /etc/ntp.conf

Sucht dort folgenden Eintrag:
restrict 127.0.0.1
restrict ::1

Da meine IP 192.168.1.15 ist und ich ja alle Geräte im Netzwerk erlauben will, mus ich 192.168.1.0 angeben und nicht die 15.

Ich muss also folgende Zeile hinzufügen:
restrict 192.168.1.0 mask 255.255.255.0

Sieht also fertig so aus:

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0

Jetzt müssen wir den NTP Dienst starten:
service ntp start

Beenden geht mit:
service ntp stop

Dienst Neustarten:
service ntp restart

Hier synchronisiert nun der Testrechner mit dem Server:

Network Time Protocol (NTP), Windows 10

roundcubemail-1.2.3 Installationfehler

Fehler:
Net_IDNA2: NOT OK

Oder in der Konsole:
Net_IDNA2: NOT OK(Failed to load class Net_IDNA2 from pear.php.net; See http://pear.php.net/package/Net_IDNA2)

Lösung:
pear config-set preferred_state beta
pear install Net_IDNA2
pear config-set preferred_state stable

Net_IDNA2 ist aktuell bei Debian Jessie nur im Beta enthalten. Der erste Befehl erlaubt also das Installieren von Beta-Pakete. Der 2. Befehl installiert nun das benötigte Modul „Net_IDNA2“.
Damit keine weiteren Betaversionen installiert werden, setzt der letzte Befehl PEAR-Config auf „stable“.

Fehler:
Mail_mime: NOT OK

Lösung
pear install Mail_mime