Доброго дня!
Имеется 8.0 FreeBSD на сервере.
Апач+Php+MySQL
Имеется админ который не очень админ, и я который когда-то админил (во времена 3-й фряхи) но давно этим не занимаюсь.
Суть - второй день сервак уходит в DoS.
Разобрался как: сначала каким-то сканером доводят ipfw до состояния:
Limiting open port RST response from 359 to 200 packets/sec
Это сыпится со страшной силой, цифра и по 600+ первая бывает, и так далее.
Потом происходит Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max sysctl.
Это я так понимаю апачу долбят.
Потом происходит swap zone exhausted, increase kern.maxswzone в перемешку с Limiting open port RST response from и еще энное количество времени машина держится и умирает.
На все про-все уходит у них: в 13:17 начали в 13:44 закончили.Ребутим машинку. Они через некоторое время опять это делают. И так третий день начался уже. Админа нет, он в отпуске да и по фрям он никак.
Как спастись? (нового админа не предлагать, не решает в данный момент), сам что надо могу поставить-настроить не вопрос. Только скажите что ставить и что где прописать/изменить.
Вот скрипт написанный админом по ipfw, убрал естественно адреса реальные )
ipfw="/sbin/ipfw -q"
${ipfw} -f flush
${ipfw} add 4 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 5 allow ip from 127.0.0.0/8 to 127.0.0.0/8 via lo0
${ipfw} add 6 allow icmp from any to me
${ipfw} add 6 allow icmp from me to any
${ipfw} add 7 allow esp from x.x.x.x to me
${ipfw} add 7 allow esp from me to x.x.x.x
${ipfw} add 8 allow esp from y.y.y.y to me
${ipfw} add 8 allow esp from me to y.y.y.y
${ipfw} add 10 allow all from "table(10)" to me
${ipfw} add 10 allow all from me to "table(10)"
${ipfw} add 100 check-state
${ipfw} add 150 allow tcp from y.y.y.y to me 873 keep-state #rsync backup
${ipfw} add 200 allow tcp from any to me 2222 keep-state
${ipfw} add 210 allow tcp from any to me 80 keep-state
${ipfw} add 220 allow tcp from any to me 443 keep-state
${ipfw} add 230 allow tcp from any to me 999 keep-state
${ipfw} add 240 allow all from me to any keep-state
${ipfw} add 65534 deny log logamount 100 all from any to any
${ipfw} table 10 add w.w.w.w
${ipfw} table 10 add x.x.x.x
${ipfw} table 10 add y.y.y.y
${ipfw} table 10 add z.z.z.z