Безопасность и Linux [фаерволы, антивирусы, etc]

1. Linux. Необходимый код и команды. Карманный справочник http://www.ozon.ru/context/detail/id/3178480/
2. Linux. Полное руководство (Михаэль Кофлер) http://www.ozon.ru/context/detail/id/6221827/
3. Операционная система UNIX (Андрей Робачевский) http://www.ozon.ru/context/detail/id/2419365/
4. http://www.opennet.ru/docs/RUS/iptables/

в свое время мне эта документация более чем помогла. Все что остальное читал - не то. Именно эту документацию советую. И именно в таком порядке.
ну и напоследок:
Ricochet0
удовлетворение паранои
к безопасности не имеет никакого отношения :)
такие дела.
Natrio
sleepycat
если параноя то шифруй все важное а ключ на флешке носи.
Паранойя намекает, что ключ лучше хранить в голове :)
как раз наоборот, почитайте про эту бяку в вики ))
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
vadik
Ricochet0, вам нужны AppArmor, SELinux, Iptables и другие непонятные слова.
… и ещё умное (и непонятное) слово Tomoyo.
Тематический топик на хабре, кстати http://habrahabr.ru/qa/18048/
Ricochet0
Ничего не выйдет боком если всему доступ закрыть и оставить только браузеры, пакман, фтп клиент и качалки?
ЭЭЭ, а смысл? У вас помимо пакмана, браузеров, фтп клиент и качалки еще кто-то в сеть лезет? Что мешает правильно сформировать страничку или ссылку и при переходе на эту страничку угнать, например, пароли?

Кстати, если совсем уж паранойя замучала, и пока не разобрались со средствами защиты - создайте отдельную учетку с сильно ограниченными возможностями и запускайте все свои инет-приложения из под этой учетки. Будут и волки сыты и яйца овцы целы.
Мне кажется что:
1) банальные меры безопасности: фильтрация пакетов, настройка слушающих служб
2) установка софта с официальных репозиториев
3) установка пакетов с АУР с чтением что там куда и откуда или отказ от этого источника пакетов
4) своевременное обновление системы
5) просто включение головы (не пароли кому либо по аське, запретить себе введение важных паролей на компьютерах других людей)
вполне себе безопасно.

Автор похоже говорит не о дырявости линукса, а о уязвимостях прикладных программ или же системных служб. Просто обновляйтесь и почитывайте всякие новости по безопасности. Ибо как написано в книге по FreeBSD есть 3 типа угроз: а) мальчики со скриптами, если вы не обновляете свою машинку, б) что-то там уже забыл, кажется чрезмерная выдача ненужных прав пользователям, в) физическиое вмешательство, вплоть до кражи паролей на бумажке из вашей помойки.

Don't panic =)
А как обнулить конфиг iptables? что ы я если напортачу и не смогу вообще выйти в инет, чтоб смог все вернут как было.
как обнулить конфиг iptables
Сразу же отвыкайте задавать команды iptables напрямую, лучше для этого дела написать скриптик, пройтейший до безобразия (не по содержимому, а по функции: поправил - запустил). К примеру у меня на шлюзе вот такой рабочий конфиг (он очень демократичен к корпоративной сети, но пока оставляю так, как есть):
#!/bin/bash
IPTABLES="iptables"
INET_IFACE="ppp0"
WAN_IFACE="wan"
CORP_IFACE="crp"
CORP_IP="172.16.10.2"
LAN_IP="192.168.2.1"
LAN_IP_RANGE="192.168.2.0/24"
LAN_IFACE="lan"
MODEM_INET_IP="192.168.1.1"
LO_IFACE="lo"
LO_IP="127.0.0.1"
########################################################################
$IPTABLES -t filter -F
$IPTABLES -t filter -X
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
########################################################################
###Пользовательские цепочки
$IPTABLES -N bad_tcp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A tcp_packets -p tcp -j DROP
$IPTABLES -A udp_packets -p udp -j DROP
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -m limit --limit 1/s -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -m limit --limit 1/s -j ACCEPT
$IPTABLES -A icmp_packets --fragment -p ICMP -j DROP
########################################################################
$IPTABLES -t mangle -A PREROUTING -i $INET_IFACE -j TTL --ttl-inc 1
###Правила сразу пропускающие пакеты во внутрисеть (без кэширования squid) через 192.168.2.1 (ип/маска с роутов)
$IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p ALL -s $LAN_IP_RANGE -d 10.0.0.0/8 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p ALL -s $LAN_IP_RANGE -d 172.16.0.0/16 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p ALL -s $LAN_IP_RANGE -d 93.88.176.0/20 -j ACCEPT
###Заворачивание на squid всех остальных (от локальных юзеров в инет, но не на этот шлюз) запросов
$IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p tcp -s $LAN_IP_RANGE ! -d 192.168.2.1 -m tcp --dport 80 -j REDIRECT --to-ports 8080
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
#Запрет прямого обращения с клиента на proxy squid (должно быть так Клиент -> 80 -redirect_to_port-> 8080 (DG) -> 3128 (Squid))
$IPTABLES -A INPUT -p TCP -i $LAN_IFACE -s $LAN_IP_RANGE -m tcp --dport 3128 -j DROP
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $CORP_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $WAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
########################################################################
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
$IPTABLES -A FORWARD -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A FORWARD -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p tcp -i $INET_IFACE -j tcp_packets
$IPTABLES -A FORWARD -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -j icmp_packets
########################################################################
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
$IPTABLES -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LAN_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $CORP_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $WAN_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -s $CORP_IP -j ACCEPT
#$IPTABLES -A OUTPUT -p ALL -d $LAN_IP_RANGE -j ACCEPT
########################################################################
$IPTABLES -t mangle -A POSTROUTING -o $INET_IFACE -j TTL --ttl-set 64
$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -o $INET_IFACE -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -o $CORP_IFACE -j SNAT --to-source $CORP_IP
##########################################################################################
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
После описания переменных (адресов и интерфейсов) как раз идет очистка цепочек. Если хотите понять как работает iptables, нужно читать руководство, замечательное руководство тут. После первого прочтения вы ничего не поймете, а вот после второго-третьего все начнет проясняться. Дальше интересно почитать эту повесть. Ну и приятным дополнением к букету будет LARTC. После прокуривания этого до просветления вы познаете истину. =) Ну это так, шутка конечно. Но серьезно говоря - очень интересное и занятное чтиво. Особенно понять где в цепочках работает qos ingress, qos egress и прочие интересные вещи. =)

ps: эти маны советую распечатать на А4 и прошить в папку, читать будет приятнее и полистать страницы можно.
 
Зарегистрироваться или войдите чтобы оставить сообщение.