Autorul necunoscut


Materialul nu este gata până când notele și informațiile sunt scoase aici
să gândești.

Tunneling porturi prin ssh

Avem wneshnijserver și mashina internă pentru firewall.







mashina $ ssh -R_new_port_tam: localhost: port_nash wneshnijserver
mashina $ ssh -C -L port_tam: localhost: new_port_nash wneshnijserver
-L - trageți portul la noi pe localhost
-R - trageți portul nostru la gazda de la distanță.
-C - pentru a comprima traficul

1. Furnizați o autentificare de la Internet la mașina internă

mashina $ ssh -R 2222: localhost: 22 wneshnijserver
wneshnijserver @ username parola:
wneshnijserver $

wneshnijserver $ netstat -an grep 2222
tcp 0 0 127.0.0.1:2222 0.0.0.0:* LISTEN

wneshnijserver $ ssh -p 2222 localhost # dacă este pe mashina ssh2
wneshnijserver $ ssh -1 -p 2222 localhost # dacă este pe mashina ssh1

2. Treceți din interiorul mașinii în portul exterior, protejând și comprimându-l
trafic

mashina $ ssh -C-L 3128: localhost: 8080 wneshnijserver

mashina $ netstat -an | grep 8080
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN

Netscape> Preferință> Proxy> localhost: 8080

TCPwrapper: hosts.deny

# / etc / hosts / deny
#
# refuză toate, trimiteți un e-mail de alertă la root.
ALL. ALL. \
bannere / etc / bannere / respingere. \
spawn (\
/ bin / echo -e "\ n \
TCP Wrappers \: conexiune refuzată \ n \
Prin \: $ (uname -n) \ n \
Procesul :. (pid% p) \ n \
\ n \
Utilizator \:% u \ n \
Gazdă \:% c \ n \
Data \: $ (data) \ n \
"/ bin / mail-uri" $ (uname -n) wrappers \ :. refuzat pentru% c "\
root @ localhost)

Acest lucru va refuza accesul oricui nu este permis în mod expres (de la
/etc/hosts.allow), da un mesaj de bannere (specific pentru daemon fiind
numit - a se vedea paginile omului), și să genereze un mesaj de poștă foarte informativ
trimis la rădăcină. (Puteți adăuga alți destinatari la acea linie, btw).

Am descoperit că acest lucru este foarte util aici.

Mod: Unii au remarcat că lucruri precum "% u" sunt "controlate de client" și
Sistemul lui Tony. Totuși, manualul susține:

așa că ar trebui să fie bine. - REW]

Dar eu încă mai prefer să scriu aceste jurnale într-un fișier și nu să-mi strice send-
mail - altfel atacatorul a crescut frecvența încercărilor de a porni mașina mea.

Cum ipfILTER reinițializează statisticile fără restart?

ipf -z -f my_ipfilter_rules_file

Pentru a folosi ssh1 ssh2 în același timp, aveți nevoie de:

1. Puneți ssh-1.2.26 (primul!)
2. Puneți ssh-2.x.x
3. În "sshd2_config" adăugați (eventual schimbând căile):
Ssh1Compatibility da
Sshd1Path / usr / sbin / sshd1
4. În "ssh2_config" adăugați (eventual schimbând căile):
Ssh1Compatibility da
Ssh1Path / usr / bin / ssh1

Nu este ușor să configurați restricțiile de acces în ssh2, astfel încât cel mai simplu mod -
rulați-l prin inetd.conf și accesați-l cu standardul TCP-wrappera hosts.allow / hosts.deny

/etc/inetd.conf
ssh2 flux tcp acum root / usr / sbin / tcpd sshd2 -i

/etc/hosts.allow
sshd2. 123.232.175.0/255.255.255.0, 127.0.0.0/255.0.0.0, 234.567.890.12

DDoS.
există o mașină pe care aș dori să o protejez de atacurile DDoS, cum ar fi inundațiile syn-flood + icmp,






păstrează serverul web (apache) până la sfârșitul DDoS || filtrarea trafului din stânga de către furnizorul superior (pentru cei din rezervor -> probabilitatea atacului este suficient de mare).
OS: FreeBSD 4.9

câteva opțiuni de kernel:
opțiuni IPFIREWALL
opțiuni IPFIREWALL_VERBOSE
opțiuni IPFIREWALL_VERBOSE_LIMIT = 100
opțiuni IPFIREWALL_DEFAULT_TO_ACCEPT #needed?
opțiunile TCP_DROP_SYNFIN
opțiuni RANDOM_IP_ID
opțiuni ICMP_BANDLIM

unele reguli ipfw:
permite tcp de la orice la orice limită src-addr 10 #update: merită sau nu?
permiteți mișcării de la orice la mine în icmptypes 0,3,4,11,12
permiteți mișcării de la mine la orice
respinge tcp de la orice la mine tcpoptions mss, window, sac, ts, cc
respinge ip-ul de la oricare altul

sysctl.conf arată astfel:
net.inet.tcp.blackhole = 2
net.inet.udp.blackhole = 1
net.inet.tcp.sendspace = 131072
net.inet.tcp.recvspace = 131072
net.link.ether.inet.max_age = 1200
net.inet.ip.sourceroute = 0
net.inet.ip.accept_sourceroute = 0
net.inet.icmp.bmcastecho = 0
net.inet.icmp.maskrepl = 0
kern.ipc.somaxconn = 1024
net.inet.tcp.drop_synfin = 1
net.inet.tcp.delayed_ack = 0
net.inet.ip.portrange.last = 50000
et.inet.tcp.rfc1644 = 1
et.inet.tcp.rfc1323 = 0
net.inet.icmp.drop_redirect = 1
net.inet.icmp.log_redirect = 1
net.inet.ip.redirect = 0
net.inet6.ip6.redirect = 0
kern.maxfiles = 65535
net.inet.ip.fw.one_pass = 0

au o postavat pufnet idee pentru a preveni chaildov de start Apache nerealiste pentru conexiuni, dar nu se întâmplă, astfel încât el pufnind mânca prea multe resurse?
poate cineva în practică a întâmpinat o problemă similară și a împărtășit unele dintre evoluțiile?

UPD: din porturile deschise, atacatorul vede doar 80 (ssh este disponibil numai de la gazdele lor).
Serverul se află pe un canal de 100 Mbt de la un furnizor mare, adică se presupune că canalul va supraviețui.


mod_throttle pentru Apache


Din considerente generale, dacă există o posibilitate de atac, toate pierderile maxime, inclusiv icmp. Va trebui să măsurați viteza, conectați-vă și măsurați-o din interior. Lăsați numai ssh și cele ale serviciilor care sunt necesare în accesul publicului pentru cei care nu au autentificare. Permiteți-i să răspundă în afara rețelei TCP numai dacă există o sesiune stabilită. Și mușchiul nu te ajută, doar resursele vor devora - nu pentru asta, a scris el, de fapt. )

Despre rețeaua dvs., practic nu ați spus nimic - indiferent unde locuiește acest server sau ce se ocupă de acesta, cu excepția apache-ului sau a funcțiilor pe care le implică. Este dificil să răspundeți în detaliu.


(Răspundeți) (Subiect de discuție)


din porturile deschise, atacatorul vede doar 80 (ssh este disponibil numai de la gazdele lor).
Serverul se află pe un canal de 100 Mbt de la un furnizor mare, adică înseamnă că canalul va supraviețui, sau "ocolirea acestei limitări hardware nu este posibilă :)".

(Răspundeți) (Urovenь выше) (Thread of the Thread)


Și nu vă este frică de un atac de la "dvs." sau cuplat cu un spoof?

Cu ipfw nu este fezabilă, dar dacă ai pus în fața unui router server de simplu, cu iptables (cum ar fi oricare dintre înfrunziți din i486 vechi), puteți lipi la extinderea siruri de caractere și a filtra pachetul de conținut, cum este propus, de exemplu, în snort2iptables. De fapt, pentru fiecare exploatare cunoscută, puteți găsi o semnătură și setați log'n'drop-ul regulii. În ceea ce privește inundațiile banale, lăsați-le să lucreze pe router.

De fapt, schema nu este nouă, ci aproape nesobivaeală, cu o implementare competentă.


(Răspundeți) (Urovenь выше) (Thread of the Thread)

Despre router - poate că aceasta este și o opțiune, dar, din păcate, este destul de dificil de implementat într-un mediu de co-locație.
Poate că există și altceva în afară de ipfw? Voi fi bucuros să aud orice sfat pe această temă.


(Răspundeți) (Urovenь выше) (Thread of the Thread)

mult noroc. Vă recomandăm să vedeți instalarea timeout-urilor pentru diferite tipuri de conexiuni.

Ei bine, în cazul în care „lor“ și bashes „străine“ prin interfețe diferite, atunci se poate spune ipfw să se facă distincția între cineva poate comunica printr-o întrebare închisă.


Dacă vă uitați la jurnalele serverului Linux, puteți găsi un număr mare
mesaje de la daemonul sshd, indicând încercarea de a găsi parolele pentru ssh.

iptables -A INPUT -p stare -m tcp --state NOUA --dport 22 -m --update recente --seconds 20 -j DROP
iptables -A INPUT -p tcp -m stat -stat NEW -port 22 -m recent -set -j ACCEPT

ajustarea gateway-ului prototip

# iptables -F INPUT
# iptables -U INPUT -m state -state EASTABLISHED, RELATED -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -P INPUT DROP
# iptables -F FORWARD
# iptables -P FORWARD ACCEPT
# iptables -t nat -F
# iptables -t nat -A POSTROUTING -o-j SNAT la
# Dacă ip este dinamic atunci
# iptables -t nat -A POSTROUTING -o -j MASQUERADE







Articole similare

Trimiteți-le prietenilor: